ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 확률 개념 설명 : 매개 변수 추정에 대한 베이지안 추론
    MACHINE LEARNING 2018. 1. 18. 10:00
    반응형

    이 문서는 영문으로된 내용을 구글 번역기를 활용하여 번역한 내용입니다. 
    개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다.
    원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 

    원문보기 : https://towardsdatascience.com/probability-concepts-explained-bayesian-inference-for-parameter-estimation-90e8930e5348


    확률 개념 설명 : 매개 변수 추정에 대한 베이지안 추론

    소개

    이전 블로그 게시물(번역본)()에서 나는 기계 학습 및 통계 모델에서 매개 변수 추정을 위한 최대 우도 방법을 다루었습니다. 이 글에서 우리는 베이지안 추론을 이용한 매개변수 추정을 위한 또 다른 방법을 살펴보겠습니다. 이 방법이 어떻게 최대 우도의 일반화로 간주되는지, 그리고 어떤 경우에 두 가지 방법이 동등한지를 보여줄 것입니다.

    확률 이론에 대한 몇 가지 기본 지식이 가정됩니다. 이 개념들은 이 시리즈의 첫 번째 글(번역본)(원문)에서 설명합니다. 또한 가우시안 분포에 대한 기본 지식도 있지만 필요하지 않습니다.

    베이즈 정리

    베이지안 추론을 도입하기 전에 베이즈의 정리를 이해해야 합니다. 베이즈의 정리는 정말 멋집니다. 유용한 것은 우리가 이미 가지고 있는 지식이나 믿음을 사용하여 관련 사건의 확률을 계산하는 데 도움이 된다는 것입니다 (일반적으로 이전이라고 함). 예를 들어, 만약 우리가 덥고 화창한 날에 아이스크림을 팔 확률을 찾고 싶다면, 베이즈의 정리는 다른 어떤 종류의 날에도 아이스크림을 팔 가능성을 미리 알고 있는 도구를 제공합니다(비, 바람이 많이 부는 눈 등). 나중에 더 많이 이야기할 테니 아직 이해하지 못한다면 걱정하지 마세요.

    수학적 정의

    베이즈의 정리는 수학적으로 다음과 같이 정의됩니다.

    여기서 A와 B는 이벤트이고, P(A|B)는 이벤트 B가 이미 발생했음을 감안할 때 이벤트 A가 발생하는 조건부 확률입니다 (P(B|A)는 동일한 의미를 갖지만 A와 B의 역할이 반대입니다.) P(A)와 P(B)는 각각 사건 A와 사건 B의 한계 확률입니다.

    수학적인 정의는 종종 너무 추상적이고 무서운 느낌을 줄 수 있으므로 예를 들어 이것을 이해하려고 합시다. 블로그 게시물(번역본)(원문)에 소개한 사례 중 하나는 전통적인 카드 한 팩에서 카드를 고르는 것입니다. 팩에는 52 장의 카드가 있으며 그 중 26 장은 빨간색이고 26 장은 검은 색입니다. 카드가 빨간색이라는 것을 알면 카드가 4일 확률은 얼마나 될까요?

    위에서 본 수학 기호로 변환하려면 이벤트 A는 카드가 4이고 이벤트 B는 카드가 빨간색임을 알 수 있습니다. 따라서 위의 방정식에서 P(A|B)는 우리의 예에서 P(4|빨간색)이며 이것이 우리가 계산하고자하는 것입니다. 우리는 이전에 이 확률이 1/13 (26 개의 레드 카드와 2 개의 레드 카드가 4 개 임)과 같다는 것을 연구했지만 Bayes의 정리를 사용하여 이것을 계산해 봅니다.

    우리는 오른쪽에 있는 용어의 확률을 찾아야 합니다.

    1. P(B|A) = P(빨간색|4) = 1/2

    2. P(A) = P(4) = 4/52 = 1/13

    3. P(B) = P(빨간색) = 1/2

    위의 베이즈 정리 방정식으로 이 숫자들을 대체할 때 우리는 1/13을 얻습니다.

    베이즈 정리는 어떻게 우리가 이전의 믿음을 통합할 수 있게 하는가?

    위에서 언급했던 베이즈의 정리는 우리가 이전의 믿음을 통합할 수 있게 해주지만, 위의 방정식을 보는 것만으로 어떻게 그것을 가능하게 하는지는 알 수 없습니다. 따라서 위의 아이스크림과 날씨 예제를 사용하여 어떻게 할 수 있는지 보겠습니다.

    A는 우리가 아이스크림을 파는 이벤트이고 B는 날씨의 이벤트입니다. 그러면 날씨에 따라 하루 동안 아이스크림을 팔 확률이 얼마나 되는지 물어볼 수 있을 것입니다. 수학적으로 이것은 P(A = ice 크림 판매 | B = 날씨 유형)로 작성되고 방정식의 왼쪽과 같습니다.

    오른쪽의 P(A)는 이전의 표현식입니다. 우리의 예에서 이것은 P(A = 아이스크림 판매), 즉. 외부 날씨의 유형에 관계없이 아이스크림을 판매하는 (한계) 확률 입니다. 우리는 이미 아이스크림을 판매할 확률을 알고 있기 때문에 P(A)는 사전에 알려져 있습니다. 예를 들어, 100명 중 30명이 실제로 어느 가게에서 아이스크림을 샀다는 자료를 볼 수 있습니다. 그래서 날씨에 대해 알기 전에 P(A = 아이스크림 판매) = 30/100 = 0.3 입니다. 이것이 베이즈 정리가 우리가 사전 정보를 통합할 수 있게 해주는 방법입니다.

    주의: 앞서 언급했듯이, 사전 정보를 얻기 위해 상점에서 데이터를 찾을 수는 있지만, 데이터에 근거하지 않는 완전히 주관적인 사전을 구성하는 것을 막을 수는 없습니다. 누군가 개인적인 경험이나 특정 영역 지식에서 얻은 정보에 입각한 추측인 사전을 생각해낼 수도 있지만, 결과 계산이 이 선택에 의해 영향을 받을 것임을 아는 것이 중요합니다. 이전 신념의 힘이 포스트의 후반부에 어떤 영향을 미치는지에 대해 자세히 설명하겠습니다.

    베이지안 추론

    정의

    이제 우리는 베이즈의 정리가 무엇인지, 그것을 어떻게 사용할 것인지를 알고, 베이즈의 추론이 무엇인지에 대한 질문에 답할 수 있습니다.

    첫째, (통계적) 추론은 데이터로부터 모집단 또는 확률 분포에 대한 속성을 추론하는 과정입니다. 최대 우도에 대한 이전 게시물(번역본)(원문)에서 설명했습니다. 관측된 데이터 점 집합에서 평균의 최대 우도 추정치를 결정했습니다.

    따라서 베이지안 추론은 베이즈 정리를 사용하여 데이터로부터 모집단 또는 확률 분포에 대한 속성을 추론하는 과정일 뿐입니다. 그게 답니다.

    분포와 베이즈의 정리 사용하기

    지금까지 내가 위에서 제시했던 예들은 베이즈의 정리 방정식에서 각 용어에 대해 단일 숫자를 사용했습니다. 이것은 우리가 얻은 답이 단일 숫자라는 것을 의미합니다. 그러나 단일 숫자가 적절하지 않은 경우가 있을 수 있습니다.

    위의 아이스크림 예에서 우리는 아이스크림을 판매할 확률이 0.3이라는 것을 알았습니다. 그러나 0.3이 나의 최선의 추측이었다면 어떨까요? 하지만 나는 이 값에 대해 조금은 확신이 서지 않았습니다. 확률은 0.25 또는 0.4일 수도 있습니다. 이 경우 사전 분포가 더 적절 할 수 있습니다 (아래 그림 참조). 이 분포를 사전 분포라고 합니다.

    주어진 날에 아이스크림을 팔 확률을 나타내는 2개의 분포입니다. 파란색과 금색 곡선의 최고값은 0.3을 중심으로 발생하는데, 이는 위에서 말했듯이 아이스크림을 파는 사전 확률을 가장 잘 추측할 수 있는 값입니다. f(x)가 x의 다른 값들 중에서 0이 아니라는 사실은, 0.3이 아이스크림을 파는 진정한 가치라는 것을 완전히 확신하지 못한다는 것을 보여줍니다. 파란색 곡선은 0에서 0.5 사이의 어느 곳에도 있을 가능성이 있는 반면, 금색 곡선은 0에서 1 사이의 어느 곳에도 있을 가능성이 있음을 보여줍니다. 금색 곡선이 더 많이 퍼져 있고 파란색 곡선보다 피크가 작다는 사실은 금색 곡선으로 표현된 사전 확률이 파란색 곡선보다 실제 값에 대해 "덜 확실"하다는 것을 의미합니다.

    비슷한 방식으로 우리는 분포를 사용하여 베이즈 정리에서 다른 용어를 나타낼 수 있습니다. 우리는 모델들을 다룰 때 주로 분포를 사용해야 합니다.

    베이즈 정리의 모델 형태

    위의 베이즈 정리의 입문적 정의에서 나는 이벤트 A와 B를 사용했지만 베이즈 정리의 모델 형태가 문헌에 언급 될 때 다른 기호가 종종 사용됩니다. 그들을 소개하겠습니다.

    이벤트 A 대신에, 우리는 일반적으로 Θ를 볼 것이고,이 기호는 세타(Theta)라고합니다. 세타는 우리가 관심을 가지고 있는 것입니다. 세타는 일련의 매개 변수를 나타냅니다. 따라서 우리가 가우시안 분포의 매개 변수 값을 추정하려고 시도한다면 Θ는 평균, μ와 표준 편차 σ (수학적으로 Θ={μ,σ} 로 작성합니다. )를 나타냅니다.

    이벤트 B 대신에, 우리는 데이터 또는 y = {y1, y2, ..., yn}을 볼 것입니다. 이는 우리가 가지고 있는 관측치들의 집합입니다. 방정식에서 데이터를 사용하여 방정식을 조금 덜 비밀스럽게 만들 수 있습니다.

    그래서 이제 모델 형태의 베이즈 정리는 다음과 같이 쓰여집니다.

    우리는 P(Θ)가 이전 분포임을 보았습니다. 아이스크림을 팔 확률에 대한 믿음을 나타내는 분포를 가진 것처럼, 매개 변수의 진정한 가치에 대한 우리의 믿음을 나타냅니다.

    왼쪽의 P(Θ|data)는 사후 분포로 알려져 있습니다. 이것은 관측된 데이터를 고려한 오른쪽의 모든 것을 계산한 후에 매개 변수 값에 대한 우리의 믿음을 나타내는 분포입니다.

    P(data|Θ)는 전에 우리가 본 적이 있는 것입니다. 만약 당신이 최대 우도에 대한 이전 게시물의 마지막까지 도달했다면, 우리는 L(data; μ, σ)가 우도 분포 (가우스 분포의 경우)라고 말한 것을 기억할 것입니다. P(data|Θ)가 정확히 이것이고, 일반적인 최대 우도 분포입니다. 때로는 L(data; μ, σ)로 작성되지만 동일한 것입니다. 가끔은 그걸 증거라고 부르기도 합니다.

    그러므로 우리는 증거로 업데이트된 사전 신념을 사용하여 매개 변수의 사후 분포를 계산할 수 있습니다.

    이것은 베이지안 추론을 사용하여 매개 변수 추론의 예를 통과하기에 충분한 정보를 제공합니다. 하지만 먼저...

    왜 P(data)를 완전히 무시했을까?

    데이터의 한계 분포를 제외하고는 실제로는 멋진 이름이 없습니다. 우리는 매개 변수 값에만 관심이 있으나, P(data)에는 매개 변수에 대한 참조가 없습니다. 사실 P(data)는 분포에 대한 평가조차 하지 않습니다. 우리는 이미 데이터를 관찰했기 때문에 P(data)를 계산할 수 있다. 일반적으로 P(data)를 계산하는 것은 매우 어렵고 이를 계산하는 데 많은 방법이 존재합니다. Prasoon Goyal의 이 블로그 게시물은 그렇게 하는 몇 가지 방법을 설명합니다.

    P(data)가 중요한 이유는 나오는 숫자가 정규화 상수이기 때문입니다. 확률 분포에 필요한 조건 중 하나는 이벤트의 모든 가능한 결과의 합이 1과 같다는 것입니다 (예 :. 6면 주사위에서 1, 2, 3, 4, 5 또는 6을 굴릴 확률은 1과 같습니다.). 정규화 상수는 결과적인 사후 분포가 분포의 합 (일반적으로 연속 분포이기 때문에 필수라고 말하지만 지금은 너무 추론상태이기 때문에) 을 1로 설정하여 실제 확률 분포임을 확인합니다.

    어떤 경우에는 분포의 이런 속성에 대해 신경 쓰지 않습니다. 분포가 정규화되었는지 여부에 관계없이 분포의 피크가 발생하는 위치에 대해서만 신경 씁니다. 이 경우 많은 사람들이 베이 즈 정리의 모델 형식을 다음과 같이 씁니다.

    여기서 ∝는 ‘비례’를 의미합니다. 이것은 정규화 상수 P(data)를 설명하지 않았기 때문에 실제 사후 분포가 오른쪽과 같지 않다는 것을 분명히 합니다.

    베이지안 추론 예제

    이렇게까지 해냈으니 잘했습니다. 그 모든 이론을 끝내고 휴식이 필요 할 수도 있습니다. 하지만 추론이 유용할 수 있는 예를 들어보겠습니다. 우리가 사용할 예는 수소 결합의 길이를 알아내는 것입니다. 수소 결합이 무엇인지 알 필요는 없습니다. 내가 박사 과정에서 친구를 돕기 위해 찾아낸 것이었기 때문입니다(우리는 생화학과에 있었기 때문에 당시에는 그 일과 관련이 있었습니다).

    이 이미지는 멋져 보이고, 고밀도 텍스트를 깨는 데 도움이 되며, 우리가 통과할 예제와 관련이 있기 때문에 포함되었습니다. 걱정하지 마세요. 베이지안 추론에서 우리가 어떤 일을 겪게 될지 이해하기 위해 그 인물을 이해할 필요는 없습니다. 혹시 궁금하실까 봐, 잉크스케이프로 그 그림을 만들었어요.

    수소 결합이 3.2Å - 4.0Å 사이라고 가정 해 보겠습니다. (구글을 빠르게 확인했더니 이 정보가 제공되었습니다. Ångström, Å는 1Å가 0.1 나노 미터와 같은 거리의 단위이므로 매우 작은 거리를 이야기합니다.) 이 정보는 내 사전 양식을 구성할 것입니다. 확률 분포의 관점에서, 나는 이것을 평균 μ = 3.6Å 및 표준 편차 σ = 0.2Å (아래 그림 참조)를 갖는 가우시안 분포로 재구성 할 것이다.

    수소 결합의 길이에 대한 우리의 사전 확률. 이것은 평균 μ = 3.6Å 및 표준 편차 σ = 0.2Å를 갖는 가우시안 분포로 표현됩니다.

    이제 몇 가지 데이터(평균 3Å와 표준 편차 0.4Å의 가우시안 분포에서 무작위로 생성된 5개의 데이터 포인트)를 제시합니다. 실제 상황에서 이러한 데이터는 측정 된 길이의 수소 결합 (그림 3의 금색 점)을 제공하는 과학 실험의 결과에서 비롯됩니다. 우리는 최대 우도에 관한 이전 게시물에서와 마찬가지로 데이터로부터 우도 분포를 도출할 수 있습니다. 데이터가 가우시안 분포로 설명 될 수 있는 프로세스에서 생성되었다고 가정하면 아래 그림의 금색 곡선으로 표시되는 우도 분포를 얻습니다. 5개의 데이터 점에서 평균의 최대 우도 추정치는 3(약 2.8Å)보다 작습니다.

    파란색의 수소 결합 거리와 5개의 금색 데이터 포인트에서 파생된 금색의 우도 분포에 대한 사전 확률.

    이제 우리는 두 개의 가우시안 분포를 가지고 있습니다. 파란색은 이전을 나타내고 금색은 우도를 나타냅니다. 우리는 정규화 상수에 관심이 없으므로 정규화되지 않은 사후 분포를 계산하는 데 필요한 모든 것을 가지고 있습니다. 가우스에 대한 확률 분포를 나타내는 방정식은 다음과 같습니다.

    그래서 우리는 이 중 2개를 곱해야 합니다. 매우 혼란스러워지기 때문에 여기서 수학을 진행하지 않을 것입니다. 수학에 관심이 있다면 이 문서의 첫 두 페이지에서 그 수학이 수행된 것을 볼 수 있습니다. 결과적인 사후 분포는 아래 그림에서 분홍색으로 표시됩니다.

    파란색과 금색 분포를 곱하여 생성 된 분홍색의 사후 분포.

    이제 우리는 수소 결합의 길이에 대한 사후 분포를 가지고 있습니다. 예를 들어 분포의 기대 값을 사용하여 거리를 추정할 수 있습니다. 또는 우리는 결론에 대한 불확실성을 계량화하기 위해 분산을 계산할 수 있습니다. 사후 분포로부터 계산된 가장 일반적인 통계 중 하나는 최빈값입니다. 이것은 종종 관심있는 매개 변수에 대한 실제 값의 추정치로 사용되며 최대 사후 확률 추정 또는 간단히 MAP 추정으로 알려져 있습니다. 이 경우 사후 분포 또한 가우시안 분포이므로 평균은 최빈값 (및 중앙값)와 같고 수소 결합의 거리에 대한 MAP 추정치는 약 3.2Å에서 분포의 피크에 있습니다.

    끝 맺는 말

    왜 나는 항상 가우시안을 사용하는가?

    분포를 포함하는 모든 예제에서 나는 가우시안 분포를 사용합니다. 주된 이유 중 하나는 수학을 훨씬 쉽게 만들기 때문입니다. 그러나 베이지안 추론 예제에서는 2 개의 분포 곱을 계산해야했습니다. 나는 이 일이 지저분하다고 말했고, 그래서 수학을 공부하지 않았다. 하지만 수학을 직접 하지 않아도, 나는 사후가 가우시안 분포라는 것을 알았다. 이는 가우시안 분포가 작업하기 쉬운 특정 속성을 가지고 있기 때문입니다. 가우시안 우도 함수와 관련하여 그 자체로 공액이 됩니다. 즉, 가우시안 사전 분포에 가우시안 우도 함수를 곱하면 가우시안 사후 함수를 얻을 수 있습니다. 사후와 사전이 모두 동일한 분포 군 (두 가우시안)에서 나온 사실은 그것들을 공액 분포라고 부릅니다. 이 경우 사전 분포는 공액 사전이라고 합니다.

    많은 추론 상황에서 결과 분포가 수학을 보다 쉽게하기 때문에 공액으로 선택되도록 우도와 사전이 선택됩니다. 데이터 과학의 예로는 여러 텍스트 문서 (코퍼스라고 함)에서 주제를 찾기위한 감독되지 않은 학습 알고리즘인 LDA (Latent Dirichlet Allocation)가 있습니다. LDA에 대한 아주 좋은 소개는 Edwin Chen의 블로그에서 찾을 수 있습니다.

    어떤 경우에는 사후 분포를 쉽게 계산할 수 있는 사전 또는 우도를 선택할 수 없습니다. 때로는 우도 그리고/또는 사전 분포가 끔찍하게 보일 수 있으며 손으로 사후를 계산하는 것은 쉽지 않거나 가능하지 않습니다. 이 경우 우리는 사후 분포를 계산하기 위해 다른 방법을 사용할 수 있습니다. 가장 일반적인 방법 중 하나는 Markov Chain Monte Carlo 방법이라는 기술을 사용하는 것입니다. 벤 셰이버마르코프 체인 몬테카를로 방법에 대한 제로 수학 소개라는 훌륭한 기사를 썼습니다.이 방법은 이 기술을 매우 접근하기 쉬운 방식으로 설명합니다.

    새로운 데이터를 얻으면 어떻게 될까요?

    베이지안 추론의 가장 큰 장점 중 하나는 그것을 사용하기 위해 많은 데이터가 필요하지 않다는 것입니다. 1개의 관찰은 사전을 업데이트하기에 충분합니다. 사실 베이즈 프레임워크를 통해 데이터가 들어오면 실시간으로 신념을 업데이트할 수 있습니다. 그것은 다음과 같이 작동합니다 : 당신은 무언가(예 :. 매개 변수의 값)에 대한 사전 믿음을 가지고 데이터를 수신합니다. 위에서 했던 것처럼 사후 분포를 계산함으로써 신념을 업데이트할 수 있습니다. 그 후에, 우리는 더 많은 데이터를 얻을 수 있습니다. 우리는 새로운 데이터에서 파생된 우도로 새로운 사전을 업데이트할 수 있으며 다시 새로운 사후를 얻을 수 있습니다. 이 순환은 무한정 계속되어서 계속해서 당신의 신념을 업데이트할 수 있습니다.

    칼만 필터(그리고 그 변형)가 바로 좋은 예 입니다. 여러 시나리오에서 사용되지만, 데이터 과학에서 가장 중요한 프로필은 자가 운전 자동차에 대한 적용입니다. 저는 수학적 단백질 결정학 박사 과정에서 ‘Unscented Kalman filter’라는 변종을 사용했고, 이를 구현하는 오픈 소스 패키지에 기여했습니다. 칼만 필터에 대한 좋은 시각적 설명을 보려면 Tim Babb의 사진에서 칼만 필터 작동 방법 블로그 게시물을 확인하십시오.

    사전을 정규화로 사용

    위의 수소 결합 길이 예제에서 생성한 데이터는 2.8Å가 가장 좋은 추정치임을 시사합니다. 그러나 데이터만을 기반으로 추정치를 기반으로하면 과도하게 적합할 위험이 있습니다. 데이터 수집 프로세스에 문제가 있다면 이것은 큰 문제가 될 것입니다. 우리는 사전을 이용해서 베이즈의 틀에서 이 문제를 해결할 수 있습니다. 3.6Å를 중심으로한 가우시안 사전을 사용하는 예에서는 사후분포가 발생하여 수소 결합 길이의 MAP 추정치가 3.2Å로 나타납니다. 이것은 사전이 매개 변수 값을 추정할 때 정규화로 작동할 수 있음을 보여줍니다.

    우리가 사전의 확률과 확률에 두는 무게의 양은 두 분포 사이의 상대적 불확실성에 달려 있습니다. 아래 그림에서 우리는 이것을 그래픽으로 볼 수 있습니다. 파란색은 이전 분포를 나타내며 금색은 가능성을 나타내며 분홍색은 뒤쪽을 나타냅니다. 그림의 왼쪽 그래프에서 사전(파란색)이 금색(우도)보다 훨씬 덜 퍼져 있다는 것을 알 수 있다. 그러므로 사후는 사전의 우도와 훨씬 더 유사합니다. 오른쪽 그래프에서는 그 반대가 참입니다.

    따라서 매개 변수의 정규화를 증가 시키려면 우도와 관련하여 사전 분포를 좁힐 수 있습니다.

    마이클 그린베이지안의 사전에 대한 진실과 과적합이라는 기사를 썼으며, 이를 보다 자세히 다루고 사전을 설정하는 방법에 대한 조언을 제공합니다.

    MAP 추정치는 최대 우도 추정치와 언제 같습니까?

    사전 분포가 균일할 때 MAP 추정치는 MLE와 같습니다. 균일 분포의 예는 아래에 나와 있습니다.

    우리가 볼 수 있는 것은 균일한 분포가 x축의 모든 값에 동일한 무게를 할당한다는 것입니다(이것은 수평선이다). 직관적으로 그것은 어떤 가치가 가장 가능성이 높은지에 대한 사전 지식이 부족하다는 것을 나타냅니다. 이 경우 모든 가중치가 우도 함수에 할당되므로 사전을 확률로 곱한 결과인 사후는 우도와 정확히 유사합니다. 따라서 최대 우도 방법은 MAP의 특별한 경우로 볼 수 있습니다.

    이 글을 쓰기 시작했을 때, 이렇게 오래 갈 수 있을 거라고는 생각지 못했습니다. 정말 고습니다. 언제나처럼, 분명치 않은 것이 있거나, 내가 몇 가지 실수를 저질렀다면, 자유롭게 의견을 전할 수 있습니다. 이 시리즈의 다음 포스트에서 나는 P(데이터)를 연구하기 위한 변수 제거를 다루려고 노력할 것입니다. 물론 누군가가 내가 가기를 바라는 다른 것이 없다면;)

    읽어주셔서 감사합니다.

    반응형
Designed by Tistory.