안녕하세요. 오늘은 지난 시간의 기초통계학[16].최대우도추정법(https://everyday-image-processing.tistory.com/30)에 이어서 본격적으로 베이즈 이론을 활용하는 베이즈 추론에 대해서 알아보도록 하겠습니다. 특히 오늘은 이산 사전 확률이 주어져 있을 경우에 대해서 알아보겠습니다.
1. 베이지안 법칙
제가 이전에 포스팅했던 기초통계학[3].조건부 확률, 독립, 베이지안 법칙(https://everyday-image-processing.tistory.com/8)에서 가장 마지막 부분을 보시면 베이지안 법칙을 언급하고 있습니다. 베이지안 법칙 자체는 조건부 확률의 모양을 뒤집은 것처럼 생겼습니다. 한번 더 보겠습니다. $H$와 $D$가 사건이라고 했을 때, 베이지안 법칙은 은 아래와 같습니다.
$$P(H|D) = \frac{P(D|H) \cdot P(H)}{P(D)}$$
이제 이 법칙을 이용해서 본격적으로 통계적 추론을 해보도록 하겠습니다.
2. 베이즈 추론
베이즈 추론을 시작하기 전에 예시를 통해 몇 가지 용어와 그 정의를 통일하고 진행하겠습니다.
예제1. 앞면이 나올 확률이 서로 다른 3개의 동전이 있다고 가정하겠습니다.
- 동전 A : 공평한 동전입니다. 즉 앞면이 나올 확률은 0.5입니다.
- 동전 B : 동전이 조금 휘어서 앞면이 나올 확률이 0.6입니다.
- 동전 C : 동전이 동전 B와는 다르게 휘어서 앞면이 나올 확률이 0.9입니다.
그리고 동전 A를 2개, 동전 B를 2개, 동전 C를 1개씩 총 5개의 동전에서 무작위로 1개의 동전을 선택합니다. 이 동전이 어떤 동전인지 모르는 상태에서 동전을 던졌을 때 앞면이 나왔습니다. 이때 동전이 동전 A일 확률, 동전 B일 확률, 동전 C일 확률을 구하는 경우를 생각해보겠습니다.
먼저 사건을 정의합니다. $A$, $B$, $C$를 각각 무작위로 동전을 동전 A, 동전 B, 동전 C를 선택한 사건이라고 하겠습니다. 그리고 $D$를 던졌을 때 앞면이 나온 사건이라고 하겠습니다. 따라서 위의 예제는 데이터가 주어진 상태에서 동전 A, 동전 B, 동전 C일 확률을 각각 구하는 것이므로 원하는 결과는 $P(A|D)$, $P(B|D)$, $P(C|D)$입니다. 이제 여기에 베이지안 법칙을 적용하면 구할 수 있지만 그 전에 용어부터 확인하겠습니다.
- 실험(Experiment) : 동전을 무작위로 선택하고 던지고 결과를 기록하는 일련의 과정.
- 데이터(Data) : 실험의 결과. 위의 예제의 경우 $D = head$로 정해져 있으며 가설에 대한 확률을 확인하는 데 있어 중요한 단서가 됨.
- 가설(Hypothesis) : 위의 예제의 경우 3개의 가설을 검사. 동전 A, 동전 B, 동전 C. 따라서 데이터를 통해 어떤 가설이 가장 의미있는 지를 알 수 있음.
- 사전 확률(Prior probability) : 각각의 가설이 나올 확률. 위의 예제의 경우 동전 A가 2개, 동전 B가 2개, 동전 C가 1개임. 따라서 위의 예제의 사전 확률은 $P(A) = 0.4$, $P(B) = 0.4$, $P(C) = 0.2$가 됨.
- 우도(Likelihood) : 바로 이전 포스팅에서 언급했던 MLE를 구하기 위한 그 우도로 $P(D|H)$로 정의. 즉, 가설이 진실이라는 가정하에 데이터가 나올 확률을 의미. 앞으로 나오는 대부분의 예제에서는 데이터는 이미 알고 있지만 가설을 모르는 경우가 다반사. 위의 예제의 경우 동전 A를 뽑았다고 가정했을 때 앞면이 나오는 확률은 0.5이기 때문에 $P(D|A) = 0.5$이고 동일한 이유로 동전 B, 동전 C에 대해서도 $P(D|B) = 0.6$, $P(D|C) = 0.9$가 됨
- 사후 확률(Posterior probability) : 가설의 사후 확률은 사건이 일어난 뒤의 확률, 즉 데이터가 주어진 상태에서 가설의 신뢰성을 의미하는 것으로 문제의 답. 따라서 위의 예제의 경우 $P(A|D)$, $P(B|D)$, $P(C|D)$가 됨.
이제 본격적으로 사후 확률을 구하기 위해서 베이즈 법칙을 사용할 수 있습니다. 위의 예제에 베이즈 법칙을 적용하면
$$P(A|D) = \frac{P(D|A) \cdot P(A)}{P(D)}$$
$$P(B|D) = \frac{P(D|B) \cdot P(B)}{P(D)}$$
$$P(C|D) = \frac{P(D|C) \cdot P(C)}{P(D)}$$
를 구하면 됩니다. 이 중에서 저희가 모르는 식은 $P(D)$입니다. 하지만 이 역시 기초통계학[3].조건부 확률, 독립, 베이지안 법칙(https://everyday-image-processing.tistory.com/8)에서 봤던 총 확률의 법칙을 사용해서 구할 수 있습니다.
$$P(D) = P(D|A) \cdot P(A) + P(D|B) \cdot P(B) + P(D|C) \cdot P(C) = 0.5 \cdot 0.4 + 0.6 \cdot 0.4 + 0.9 \cdot 0.2 = 0.62$$
이제 위의 식에 대입하여 각각의 사후 확률을 계산해보겠습니다.
$$P(A|D) = \frac{P(D|A) \cdot P(A)}{P(D)} = \frac{0.5 \cdot 0.4}{0.62} = \frac{0.2}{0.62} = 0.3226$$
$$P(B|D) = \frac{P(D|B) \cdot P(B)}{P(D)} = \frac{0.6 \cdot 0.4}{0.62} = \frac{0.24}{0.62} = 0.3871$$
$$P(C|D) = \frac{P(D|C) \cdot P(C)}{P(D)} = \frac{0.9 \cdot 0.2}{0.62} = \frac{0.18}{0.62} = 0.2903$$
이제 이를 앞으로 아래의 표로 정리하여 한눈에 과정을 알아볼 수 있도록 정리하도록 하겠습니다. 이를 베이즈 추론 표라고 하겠습니다.
가설 | 사전 확률 | 우도 | 베이즈 분자식 | 사후 확률 |
$H$ | $P(H)$ | $P(D|H)$ | $P(D|H)P(H)$ | $P(H|D)$ |
$A$ | 0.4 | 0.5 | 0.2 | 0.3226 |
$B$ | 0.4 | 0.6 | 0.24 | 0.3871 |
$C$ | 0.2 | 0.9 | 0.18 | 0.2903 |
total | 1 | 0.62 | 1 |
여기서 베이즈 분자식은 사전 확률과 우도의 곱으로 표현됩니다. 재밌는 점은 베이즈 분자식의 결과를 전부 합한 결과와 총 확률의 법칙을 통해 얻은 $P(D)$가 서로 같다는 점입니다.
2.1. 주목할 점
- 확률에는 2가지의 종류가 있습니다. 하나는 데이터에 대한 확률입니다. 이는 앞면이 나올 확률이 0.9라고 보는 것과 동일합니다. 나머지 하나는 가설에 대한 확률입니다. 위의 예시에서 봤듯이 동전 A, 동전 B, 동전 C를 선택하는 확률인 사전 확률과 데이터가 주어졌을 때 가설에 대한 확률을 구하는 사후 확률이 있습니다.
- 위의 예제의 결과를 해석해보겠습니다. 먼저 사후 확률은 베이즈 추론 표의 가장 오른쪽 열에 작성하였습니다. 각 가설에 대한 사후 확률을 비교해보았을 때 동전 B에 대한 사후 확률이 가장 높은 것을 볼 수 있습니다. 따라서 동전 A, 동전 B, 동전 C 중에 어떤 동전인지 선택하라고 한다면 동전 B를 선택하는 것이 합리적인 선택이라고 볼 수 있습니다. 하지만 사전 분포와 비교해보면 조금 감소하였습니다. 그에 반에 동전 C의 사전 확률과 사후 확률을 비교해보면 데이터를 보기전에는 사전 확률이 0.2였지만 앞면이라는 데이터를 얻으니 0.29로 상승하였습니다. 따라서 만약 데이터가 앞면이 계속 나온다면 언젠가는 동전 C를 선택하는 것이 가장 합리적인 선택이라고 볼 수도 있을 것 같습니다.
- 사실 베이즈 분자식만 보더라도 정확한 사후 확률은 아니지만 각 가설에 대한 순위는 얻을 수 있습니다. 베이즈 분자식에서 사후 확률을 얻으려면 $P(D)$로 나눠주는 데 이 역할은 각 가설에 대한 사후 확률을 총 합을 1로 표준화하는 목적임을 알 수 있습니다. 따라서 베이즈 분자식만을 통해서 어떤 가설이 가장 합리적인가에 대한 결과는 충분히 얻어낼 수 있습니다.
- 우도 함수의 값의 합은 1이 아닙니다. 왜냐하면 '우도 함수'라는 개념은 확률 분포가 아닙니다. 이에 대한 예시는 아래의 위키피디아의 링크를 보면 될 것 같습니다.
- 베이지안 법칙에 의해서 사후 확률은 우도와 사전 확률의 곱에 비례함을 알 수 있습니다.
https://ko.wikipedia.org/wiki/%EA%B0%80%EB%8A%A5%EB%8F%84
2.2. 사전 확률 질량 함수와 사후 확률 질량 함수
이제 위의 예제를 더 공식적인 표기로 쓰기 위해서 몇 가지 기호를 정의하도록 하겠습니다. 각 기호의 정의의 괄호는 위의 예제를 사용한 것입니다.
- $\theta$ : 가설
- $p(\theta)$ : 가설의 사전 확률 질량 함수
- $p(\theta|D)$ : 주어진 데이터 $D$에 대한 사전 확률 질량 함수
- $p(D|\theta)$ : 우도 함수
이 기호를 사용해서 위의 예제의 베이즈 추론 표를 작성하겠습니다. 이때 $x = 1$이면 앞면을 의미하고 $x = 0$이면 뒷면을 의미합니다.
가설 | $\theta$ | $p(\theta)$ | $p(\theta | x = 1)$ |
$A$ | 0.5 | $P(A) = p(0.5) = 0.4$ | $P(A|D) = p(0.5|x=1) = 0.3226$ |
$B$ | 0.6 | $P(B) = p(0.4) = 0.4$ | $P(B|D) = p(0.6|x=1) = 0.3871$ |
$C$ | 0.9 | $P(C) = p(0.9) = 0.2$ | $P(C|D) = p(0.9|x=1) = 0.2903$ |
그럼 여기서 궁금한 점이 생깁니다. 만약 뒷면이 데이털 주어졌을 때 사전 확률은 어떨까요? 아래의 예제를 보겠습니다.
예제2. 예제1에서 뒷면이 나오는 경우의 베이즈 추론 표를 완성하세요.
가설 | 사전 확률 | 우도 | 베이즈 분자식 | 사후 확률 |
$\theta$ | $p(\theta)$ | $p(x=0|\theta)$ | $p(x=0|\theta)p(\theta)$ | $p(\theta |x=0)$ |
0.5 | 0.4 | 0.5 | 0.2 | 0.5263 |
0.6 | 0.4 | 0.4 | 0.16 | 0.4211 |
0.9 | 0.2 | 0.1 | 0.02 | 0.0526 |
total | 1 | 0.38 | 1 |
앞면이 나오는 경우와 비교해보면 결과가 바뀌었습니다. 동전 A의 사전 확률과 사후 확률의 변화가 주목할만 합니다. 사후 확률이 0.5를 넘으면서 던진 동전이 뒷면이 나온다면 그냥 동전 A라고 찍는 것이 제일 합리적입니다. 그에 반에 동전 C의 사전 확률과 사후 확률을 비교해보면 굉장희 큰 폭으로 감소하였습니다.
2.3. 베이즈 반복 추론
지금까지는 데이터가 1개만 주어졌을 때의 베이즈 추론을 해보았습니다. 그렇다면 여러번 반복하면 결과는 어떻게 될까요? 아래의 예제를 통해서 확인해보겠습니다.
예제3. 예제1과 같은 동전이 있다고 했을 때 처음 던졌을 때 앞면, 그리고 동일한 동전을 한번 더 던졌을 때 앞면이 다시 나왔을 때 베이즈 추론 표를 완성하세요.
예제 1과 차이점은 없습니다. 단지 표가 조금 더 커질뿐입니다.
가설 | 사전 확률 | 우도1 | 베이즈 분자식1 | 우도2 | 베이즈 분자식2 | 사후 확률2 |
$\theta$ | $p(\theta)$ | $p(x_{1}=1|\theta)$ | $p(x_{1}=1|\theta)p(\theta)$ | $p(x_{2}=1|\theta)$ | $p(x_{2}=1|\theta)p(x_{1}|\theta)p(\theta)$ | $p(\theta|x_{1}=1, x_{2}=1)$ |
0.5 | 0.4 | 0.5 | 0.2 | 0.5 | 0.1 | 0.2463 |
0.6 | 0.4 | 0.6 | 0.24 | 0.6 | 0.144 | 0.3547 |
0.9 | 0.2 | 0.9 | 0.18 | 0.9 | 0.162 | 0.3990 |
total | 1 | 0.406 | 1 |
그리고 두번째 베이즈 분자식은 첫번째 베이즈 분자식에 두번째 우도를 곱해서 얻을 수 있습니다.
2.4. 확률의 오류
베이즈 추론은 질병을 가지는 지 안가지는 지에 대한 확률을 더 정확하게 알 수 있는 측도나 검사 키트의 정확도로 사용될 수 있습니다. 아래의 예제를 통해 확인해보겠습니다.
예제4. 일반적으로 저희가 질병을 검사할 때 질병이 없는 사람을 음성이라고 하고 질병이 있는 사람을 양성이라고 하는 것을 많이 보셨을 겁니다. 여기서 실제로 질병이 있을 때 양성이 나오는 사람들이 약 99%였고 질병이 없을 때 양성이 나오는 사람들을 약 2%라고 하겠습니다. 그리고 실제 인구에서 질병의 유무는 약 0.5%라고 하겠습니다. 이때 임의의 사람을 한 명을 검사를 했을 때 질병에 걸렸을 확률을 알아보겠습니다.
시작하기 전에 몇 가지 기호부터 정의하고 넘어가겠습니다.
- $H_{+}$ : 사람이 질병을 가지고 있는 경우의 가설입니다.
- $H_{-}$ : 사람이 질병을 가지고 있지 않은 경우의 가설입니다.
- $T_{+}$ : 검사 결과가 양성이 나온 경우의 데이터입니다.
- $T_{-}$ : 검사 결과가 음성이 나온 경우의 데이터입니다.
따라서 위의 예제에서 원하는 것은 '임의의 사람을 한 명을 검사를 했을 때 질병에 걸렸을 확률'이므로 $P(H_{+}|T_{+})$를 구하는 것이 목표입니다.
그리고 예제에서 주어진 조건에서 의해서 추가적인 식을 얻을 수 있습니다.
- 질병이 있을 때 양성이 나오는 사람들이 약 99% $\Rightarrow P(T_{+}|H_{+}) = 0.99$
- 질병이 없을 때 양성이 나오는 사람들을 약 2% $\Rightarrow P(T_{+}|H_{-}) = 0.02$
- 실제 인구에서 질병의 유무는 약 0.5% $\Rightarrow P(H_{+}) = 0.005$
뿐만 아니라 간단한 확률 계산을 통해서 2개의 추가식도 유도할 수 있습니다.
- 질병이 있을 때 음성이 나오는 사람들이 약 1% $\Rightarrow P(T_{-}|H_{+}) = 0.01$
- 질병이 없을 때 음성이 나오는 사람들을 약 98% $\Rightarrow P(T_{-}|H_{-}) = 0.98$
이제 베이지안 법칙을 적용해보겠습니다.
$$P(H_{+}|T_{+}) = \frac{P(T_{+}|H_{+})P(H_{+})}{P(T_{+})}$$
나머지는 다 구했지만 $P(T_{+})$는 얻지 못했습니다. 이는 총 확률의 법칙을 사용해서 구합니다.
$$P(T_{+}) = P(T_{+}|H_{+})P(H_{+}) + P(T_{+}|H_{-})P(H_{-}) = 0.99 \cdot 0.005 + 0.02 \cdot 0.995 = 0.02485$$
이제 계산만 하면 됩니다.
$$P(H_{+}|T_{+}) = \frac{P(T_{+}|H_{+})P(H_{+})}{P(T_{+})} = \frac{0.99 \cdot 0.005}{0.02485} = 0.19920$$
또한 $H_{-}$에도 동일하게 계산을 하면 아래의 베이즈 추론 표를 완성할 수 있습니다.
가설 | 사전 확률 | 우도 | 베이즈 분자식 | 사후 확률 |
$H$ | $P(H)$ | $P(T_{+}|H)$ | $P(T_{+}|H)P(H)$ | $P(H|T_{+})$ |
$H_{+}$ | 0.005 | 0.99 | 0.00495 | 0.19920 |
$H_{-}$ | 0.995 | 0.02 | 0.01990 | 0.80080 |
total | 1 | 0.02485 | 1 |
이 결과를 어떻게 해석할 수 있을까요? 아무나 한사람이나 붙잡아서 검사를 했을 때 양성일 때 그 사람이 실제로 질병이 걸렸을 확률은 거의 20% 정도 됩니다. 실제 인구의 0.5% 정도만 이 질병을 가지고 있는 것으로 나타났는데 아무나 잡아서 검사를 해보면 생각보다 높은 확률로 질병을 가지고 있다는 것을 알 수 있습니다.
'수학 > 기초통계학' 카테고리의 다른 글
기초통계학[19].베이즈 추론 3 - 오즈(Odds) (0) | 2020.04.09 |
---|---|
기초통계학[18].베이즈 추론 2 - 확률론적 예측 (0) | 2020.04.06 |
기초통계학[16].최대 우도 추정법 (0) | 2020.03.31 |
기초통계학[15].통계 소개 (0) | 2020.03.29 |
기초통계학[14].공분산과 상관계수 (0) | 2020.03.27 |