ML/Statistics

베이지안 추론(1) - 이론

숨니야 2018. 11. 24. 22:40

개인적으로는 통계의 본질은 실제 세계의 문제를 확률분포로써 수학적으로 모델링하고, 가정한 분포의 parameter를─error를 컨트롤하면서 이를 최소화하며─추정하는 학문이라고 생각합니다. 따라서, 통계학에서 근간이 되는 것은 '확률'이라고 할 수 있습니다(그래서 이 카테고리의 첫번째 장에서 확률변수와 확률분포를 가장 먼저 다룬 것도 있습니다). 통계학에서는 이렇게 가장 기본적인 '확률'을 바라보는 두 관점이 있습니다. 바로 빈도론(Frequentism)베이지안(Bayesianism)입니다. 이번 포스팅에서는 이 중에서 베이즈 정리에 입각한 베이지안 추론(Bayesian inference)에 대해 다루겠습니다.

 

 

 

 

Frequentism vs Bayesianism

빈도론과 베이지안이 확률을 바라보는 관점이 어떻게 다를까요? 가령, '주사위를 던져서 3이 나오는 확률이 1/6이다.'라는 명제에 대하여, 빈도론자는 이렇게 해석할 것입니다.

"1000번을 던지면 166번, 10000번을 던지면 1666번 3이 등장한다."

 

하지만 같은 확률이라도 베이지안은 다르게 해석합니다.

"주사위를 던질 때, 3이 나온다고 1/6(16.66%) 확신할 수 있다."

 

즉, 빈도론자는 확률에 대해 '사건이 일어나는 장기적인 확률'로써 오로지 경험적 사실만을 통해 이야기할 수 있다는, 객관적인 입장이고 베이지안은 '지식이나 판단의 정도를 나타내는 수단'으로써, 주관적인 입장을 취합니다. 

 

 

 

 

 

Why Bayesian?

우리가 흔히 알고 있는 확률의 보편적인 정의는 빈도론에 입각한 정의라고 생각하시면 됩니다. 그렇다면 왜 베이지안이라는 관점이 있는 걸까요? 사실 우리는 경험적으로 모든 확률을 얻기에는 한계가 있습니다. 따라서, 사전지식을 활용해서 우리가 알고싶은, 경험적으로 얻기 힘든 사건에 대해 확률을 추정하는 것이 필요합니다. 예를 들면 이런겁니다. 가령, 우리가 한번도 시도해보지 않은 컨테스트에서 우승할 확률은 어떻게 알 수 있을까요? 우리가 이때 이용하는 것이 여러 지식들을 동원해서 우승과 관련된 요소들을 뽑고, 이를 통해 확률을 도출하는 방법일 것입니다. 이러한 과정이 바로 베이즈 정리에 입각한 베이지안 추론입니다.

 

 

 

 

1. 베이즈 정리(Bayes' theorem)

1.1  베이즈 정리

베이즈 정리는 두 조건부 확률의 관계를 정의한 식입니다. 식부터 살펴보겠습니다. 


그리고 이를 일반화하면,

 

 

입니다. 이 식은 일어날 수 있는 사건들이 모두 배반사건일 때 이용할 수 있습니다. 각 사건에 대해 조금 더 정리를 하고, 벤 다이어그램으로 이해해보겠습니다.

 

  • 사건 A : 경험적으로 알고 있는 사건
  • 사건 B : 관심있는 사건

<Fig1. Bayes' rule with venn diagram>

 

우리는 이 벤 다이어그램을 보고 관심있는 사건 B에 대하여 다음과 같이 생각해 볼 수 있습니다.

 

그리고 이는 다시,

 

 

위와 같이 생각함으로써 우리는 베이즈 정리가 갖는 의의에 대해 이해할 수 있습니다. 베이즈 정리가 갖는 의의는 알고 있는 사전 지식을 활용해서 우리가 알고 싶은 확률을 추정한다는 것에 있습니다. 이를 예를 통해서 이해해보겠습니다. Reference[1]의 예제를 가져와봤습니다.

예제1 - 질병 검사의 양성 적중률

발병률이 0.01인 어떤 질병이 있습니다. 우리가 이 질병의 발병여부를 판별할 때, 질병 검사라는 것을 하게됩니다. 실제로 병에 걸린 사람이 검사를 하면 0.99의 비율로 양성이 나오고, 병에 걸리지 않은 사람이 검사를 하면 0.10의 비율로 양성이 나온다고합니다. 그렇다면, 이 질병 검사에서 양성 반응이 나왔을 때, 검사 대상자가 진짜 질병에 걸렸을 확률은 어떻게 구할까요?

 

하나씩 정리를 해보겠습니다. 질병 검사에서 양성 반응이 나온 사건을 +, 실제 질병에 걸린 사건을 D로 정의하면,

  • 관심 있는 사건 : 질병 검사의 양성 적중률 = P(D|+)
  • 발병률 : P(D) = 0.01
  • 병에 걸린 사람이 양성 : P(+|D) = 0.99
  • 병에 걸리지 않은 사람이 양성 : P(+|Dc) = 0.10

이제 베이즈 정리에 따라 우리는 알고 있는 값만 넣으면 됩니다.

따라서, 질병 검사의 양성 적중률은 9.1%정도 되겠네요. 병에 걸린 사람을 실제로 양성 반응이 나오는 비율이 높지만, 그렇지 않은 사람들 또한 10%의 확률로 양성으로 나오기때문에, 생각보다 좋은 적중률을 나타내고 있지 않습니다.

 

예제2 - 뺑소니 사건의 용의차량 색상

뺑소니 사건이 발생했습니다. 목격자의 진술에 의하면 용의차량은 파란색 택시라고 합니다. 해당 지역의 택시는 파랑색과 녹색 두 가지로, 전체 택시 중 파랑색 택시의 비율은 15%, 녹색 택시의 비율은 85%를 차지한다고 합니다. 목격자의 증언에 신뢰감을 주기 위해, 사건현장과 시간 등 비슷한 환경을 구성해놓고 모의실험을 해보았습니다. 이때, 실제 파란색 차량에 대해 파란색이라고 증언한 비율은 80%로 밝혀졌습니다. 그렇다면, 목격자의 진술에 따라 용의차량은 어느 색깔 차량일 확률이 더 높을까요?

 

복잡해보이지만, 역시 하나하나 정리를 해보겠습니다. 차량을 목격하여 정확한 색깔을 인식/증언하는 사건을 S라고 하고, 실제 차량의 색에 따라 각각 파란색/녹색 차량일 경우 B/G이라고 한다면,

  • 관심 있는 사건 : 용의자 차량의 색깔, 목격한 당시의 차량색. P(B|S), P(G|S).
  • 제약 조건 : P(B|S) + P(G|S) = 1
  • 해당 목격자가 실제 파란생 차량을 파란색이라고 증언 : P(S|B) = 0.80
  • 파란색 차량의 비율 : P(B) = 0.15
  • 녹색 차량의 비율 : P(G) = 0.85
우리가 관심 있는 사건을 구하기 위해서 위의 정보들을 바탕으로 추정해봅시다.
 

 

여기서, 목격자가 정확하게 색깔을 인식/증언하는 사건의 확률 P(S)를 다음과 같이 구합니다.

 

그럼 우리는 다음과 같이 관심있는 사건에 대해 구할 수 있고,

 

그 결과 용의차량이 녹색택시일 확률이 약 58.6%로 조금 더 높은 것을 알 수 있겠네요.

 

 

 

1.2  베이즈 정리의 확률들

앞서 다룬 베이즈 정리를 예제 두 개를 통해 이해해보았습니다. 그리고 그 의의에 대해서도 언급했는데요, 베이즈 정리의 요소에서 사용하는 용어가 몇 가지 있습니다. 위에서 다룬 베이즈 정리의 식 중에서 아래 식을 통해 설명드리겠습니다.
 

  • P(A) / P(A1), P(A2), P(A3)은 이미 알고 있는 정보, 알고있는 확률이라고 해서 사전확률(prior probability)라고 부릅니다. 사전확률은 현재 알고 있는 정보로 이해하면 될 것 같습니다.
  • B(B|A) / P(B|A1), P(B|A2), P(B|A3)우도(likelihood)라고 부릅니다. likelihood는 식을 보시다 시피 조건부 확률인데 과거의 경험에 근거하여 관심 있는 사건이 일어날 가능성입니다. 참고로, 조건부 확률의 의의는 sample space를 줄이는 것에 있는데 여기서는 전체 sample space에서 "과거의 경험, 알고 있는 정보"로 scoping한 것입니다. 따라서, 이를 통해 우리는 다시한번 베이즈 정리의 의의에 대해서 생각해볼 수 있겠네요. "과거의 경험/정보로 부터 관심 있는 사건의 확률에 대해 추정한다."
  • P(A|B)는 B라는 사건이 일어난 뒤에 그 것이 우리가 알고 있는 정보에 기인한 것인지를 알아보는 확률이라고 이해하면 되겠습니다. 이를 사후확률(posterior probability)라고 합니다.
 

 

 

2. 베이지안 추론(Bayesian Inference)

2.1  베이지안 추론  

베이지안 추론은 관측되지 않은 데이터를 다룹니다. 즉, 데이터의 모집단 분포가 유일하지 않습니다. 이렇게 관측되지 않은 데이터에 대해 알고 있는 것으로 추론 대상에 대해 밝히는 것이 베이지안 추론의 basic concept입니다.

 

조금 더 통계학적으로 생각해보면, 우리가 추론해야할 대상이 parameter θ 라고 가정해보죠. 이 때, 이 θ 의 확률밀도함수를 π(θ )라고 하겠습니다이 추론대상의 확률밀도함 수를 사전분포 혹은 주관분포라고 부릅니다. 그리고 우리는 θ 라는 추론대상에 대해 데이터, x를 보고 추론해야합니다. f(x)를 밀도함수라고 정의했을 때, 우리는 다음과 같이 정의해볼 수 있겠네요.

 

  • 추론 대상θ
  • 추론 대상의 분포(사후 분포) : f(θ |x)
  • 사전분포 : π(θ )

베이즈 정리에 따라 우리는 아래와 같이 생각해 볼 수 있습니다.

 

추론 대상에 대한 사전분포를 알고, 데이터에 대한 적절한 가정(likelihood, f(x|θ))만 할 수 있다면, 우리는 이로부터 사후분포에 대해 추론할 수 있다는 것으로부터 베이지안 추론이란 개념이 나온 것입니다.

 

여기서 사후분포가 어떤 성격을 갖도록 하느냐(특징을 정하느냐)는 이 θ 에 대해 어떤 추정량을 사용하느냐에 따라 달라집니다. 

 

추정량은 세 가지 방법이 있습니다.

 

  1) 베이즈 추정량
  2) 사후 메디안 추정량
  3) MAP(Maximum a posterior) 추정량 

 


2.2  베이지안 추정량

 2.2.1   베이즈 추정량 

 사후분포의 mean squared error를 최소화하는 값으로, 사후분포의 평균값입니다. 먼저, 추정량에 대한 risk function를 다음과 같이 정의할 수 있습니다.

 

 

 

 이로부터 베이즈 추정량은 정의에 따라 아래와 같이 쓸 수 있습니다. 

 

2.2.2   사후 메디안 추정량

 

 사후분포의 mean absolute error를 최소화하는 값으로, 사후분포의 중간값입니다.

 

2.2.3   MAP 추정량(최대 사후 확률 추정량)

 사후밀도를 최대화하는 값, 즉, 주어진 데이터에 대해 maximum likelihood를 갖는 θ 를 찾는 방법으로 사후 최빈값 추정량이라고도 합니다.

 

* MAP와 MLE에 관련해서는 따로 포스팅하겠습니다.

 

 

 

 

Reference

[1] 다다 사토시 지음, 송교석 옮김 "처음 배우는 인공지능". 한빛미디어. p.186-194  [2] http://gujoron.com/xe/517401
[3] https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%A6%88_%ED%99%95%EB%A5%A0%EB%A1%A0
[4] http://ddiri01.tistory.com/234
[5] http://darkpgmr.tistory.com/119
[6] https://ratsgo.github.io/statistics/2017/07/01/bayes/
[7] http://blog.naver.com/PostView.nhn?blogId=mykepzzang&logNo=220834940797