Bayes’ rule로 반도체가 불량품일 확률을 구해보자. (Bayes’ rule의 의미부터 예시까지) / Random Process #1

Bayes’ rule

두 event(사건) AB_{k}가 있을 때, 사건 B_{k}가 원인(cause)이 되어서 사건 A가 결과(evidence, effect, result, observation)이 발생했다고 가정하자.
B_{i} (i=1,~2,~,\cdots,n)가 sample space \Omega를 분할(partition)할 때, Bayes’ rule(Bayes’s theorem)은 다음과 같이 정리될 수 있다.

P(B_{k}|A)=\frac{P(A|B_{k})\cdot P(B_{k})}{\sum_{i=1}^{n} P(A|B_{i})\cdot P(B_{i})}\bigg(=\frac{P(A\cap B_{k})}{P(A)}\bigg)\cdots \textcircled{1}\\ \sum_{i=1}^{n}P(B_{i})=1,~\sum_{i=1}^{n}P(A\cap B_{i})=P(A)\cdots\textcircled{2}
bayes' rule
드라마 빅뱅이론에도 등장한 적이 있는 Bayes’ rule. 출처: towardsdatascience.com

Conditional Probability(조건부 확률)total probability theorem(전체 확률 원리)를 이용하면 위의 식을 유도할 수 있다.
Total probability theorem에 따르면 ②번 식을 얻을 수 있다. 조건부 확률 식에 따라서 교집합을 조건부 확률로 나타낼 수 있다.

P(A|B_{i})=\frac{P(A\cap B_{i})}{P(B_{i})}\\P(A\cap B_{i})=P(A|B_{i})\cdot P(B_{i})\cdots\textcircled{3}\\P(A\cap B_{i})=P(B_{i}|A)\cdot P(A)\cdots\textcircled{4}

③번 식을 바탕으로 ②번 식을 변형시켜보자.

P(A)=\sum_{i=1}^{n} P(A\cap B_{i})=\sum_{i=1}^{n}P(A|B{i})\cdot P(B_{i})\cdots\textcircled{5}

조건부 확률 식과 ⑤번 식을 활용하여 ①번을 유도할 수 있다.

P(B_{k}|A)=\frac{P(B_{k}\cap A)}{P(A)}=\frac{P(A|B_{k})\cdot P(B_{k})}{\sum_{i=1}^{n} P(A|B_{i})\cdot P(B_{i})}

식을 이끌어 내는 과정은 복잡하지 않지만 담고 있는 의미가 중요하다.

P(B_{k}|A)A라는 결과가 발생하였을 때, 그 원인이 B_{k}일 확률을 의미하며 posterior probability(사후 확률)라고 한다. Bayes’ rule를 바탕으로 구한 posterior probability는 관측(A)을 바탕으로 불확실성(원인, B_{k})을 추정한다는 점에서 의미가 있다.

또한, ②에서 볼 수 있듯이 sample space를 \Omega에서 A로 축소해서 B_{i}의 확률을 관찰한다는 의미도 있다.

Bayes’ rule 사용 이유

“바로 P(B_{k}|A)를 바로 구하면 될 것 같은데 Bayes’ rule을 이용하는 이유가 뭐지?”

위와 같은 의문이 들 수 있다. 바로 P(B_{k}|A)를 구하지 않는 이유는 못 구하기 때문이다.
P(B_{k})는 각 원인이 발생할 확률을 의미하며, priori 또는 prior probability(사전 확률)라고 한다.
P(A|B_{k})원인이 발생했을 때, 결과가 일어날 확률을 의미하며, likelihood(가능도)라고 한다.
위의 두 확률은 귀납적으로 확률을 구할 수 있다. 원인으로 부터 발생하는 결과의 경우의 수(확률)를 세는 것은 그럴 듯한 일이다.

Bayes’ rule 예시

문제 1

반도체를 만드는 공장에 3개의 공정 라인이 있다고 합시다. 각 공정 라인을 1번, 2번 그리고 3번 라인이라고 합시다. 반도체를 100개 만든다고 하면 30개는 1번 라인에서, 40개는 2번 라인에서, 30개는 3번 라인에서 만든다고 합니다. 그리고 각 라인에서 불량품이 발생할 확률이 순서대로 0.8, 0.9, 0.6라고 합니다. 불량품이 발생하였을 때, 각 라인에서 불량품이 만들어졌을 확률을 구하시오.

해설

‘불량품이 발생한 사건’ → 결과 A
‘반도체가 i번 라인에서 만들어진 사건’ → 원인 B_{i}
반도체가 i번 라인에서 만들어졌고, 불량품이 되었기 때문에, 사건 B_{i}원인이 되어서 사건 A라는 결과(관찰)이 발생했다는 것을 받아드릴 수가 있다.

이 문제에서는 이미 불량품이 생겼다는 관찰이 있을 때, 그 원인(몇 번 라인에서 만들어진 불량품인지)이 궁금하므로, P(B_{i}|A)를 구해야 한다. Bayes’ rule에 따르면 P(B_{i}|A)를 구하기 위해서 P(B_{i}),~P(A|B_{i}), i=1,2,3를 알아야 한다.

P(B_{i}|A)=\frac{P(A|B_{i})\cdot P(B_{i})}{\sum_{i=1}^{3}P(A|B_{i})\cdot P(B_{i})}

P(B_{i})는 각 라인에서 반도체가 만들어졌을 확률을 의미한다. P(A|B_{i})는 각 라인에서 만들어진 반도체가 불량품을 확률을 의미한다. 문제에 이 확률들이 모두 주어졌다.

P(B_{1})=\frac{30}{100}=0.3,~P(B_{2})=\frac{40}{100}=0.4,~P(B_{3})=0.3\\P(A|B_{1})=0.8,~P(A|B_{2})=0.9,~P(A|B_{3})=0.6

위의 확률들을 바탕으로 P(B_{i}|A)를 모두 구해보자.

P(A|B_{1})\cdot P(B_{1})=0.3\cdot 0.8=0.24\\P(A|B_{2})\cdot P(B_{2})=0.4\cdot 0.9=0.36\\P(A|B_{3})\cdot P(B_{3})=0.3\cdot 0.6=0.18 P(A)=\sum_{i=1}^{3}P(A|B_{i})\cdot P(B_{i})=0.24+0.36+0.18=0.78 P(B_{k}|A)=\frac{P(A|B_{k})\cdot P(B_{k})}{\sum_{i=1}^{3}P(A|B_{i})\cdot P(B_{i})}

이제 간단히 숫자들을 대입하여 주면 된다.

P(B_{1}|A)=\frac{P(A\cap B_{1})}{P(A)}=\frac{0.24}{0.78}=\frac{12}{39} P(B_{2}|A)=\frac{P(A\cap B_{2})}{P(A)}=\frac{0.36}{0.78}=\frac{18}{39} P(B_{3}|A)=\frac{P(A\cap B_{3})}{P(A)}=\frac{0.18}{0.78}=\frac{9}{39}

정리. 불량품이 발견되었다는 결과(evidence)가 있기 전에 ‘각 라인에서 불량품을 만들어낼 확률’은 0.8, 0.9, 0.6 이었다. 하지만 불량품이 발견된 후에 ‘이 불량품이 어느 라인에서 만든 것인지 찾는 것’은 또 다른 문제이다.

문제 2

비슷한 문제로 최근에 유행했던 코로나19 ‘자가 검진 키트(이하 키트)’가 양성일 때의 감염 확률을 찾는 문제가 있다. 우리는 단순하게 코로나가 걸린 경우와 아닌 경우만 생각하지만 키트를 하였을 때 생길 수 있는 경우의 수는 4가지가 있다.

  1. 코로나19에 감염되었고, 양성을 받는 경우
  2. 코로나19에 감염되었는데, 음성을 받는 경우
  3. 코로나19에 감염되지 않았는데, 양성을 받은 경우
  4. 코로나19에 감염되지 않았고, 음성을 받는 경우

위 4가지의 경우가 확률이 모두 다르다는 것이다. 양성 결과를 받는 사건을 A라고 하고, 코로나에 감염된 사건을 B라고 하자. 사람들이 관심있는 것은 본인이 양성 혹은 음성이 나왔을 때, 키트 결과와 실제 감염의 일치 여부이다. 즉 P(B|A) 혹은 P(B^{c}|A^{c})가 궁금하다. 민감도에 대해 궁금하다면 아래 링크를 확인해보자.

P(B)는 대국민적 코로나19감염 여부를 통해서 구할 수 있다. 우리나라로만 공간을 한정했을 때, 우리나라 국민 중 감염되었던 사람의 수를 반영하면 P(B)를 얻을 수 있다. P(A|B)는 감염된 사람이 양성 결과를 받을 확률이며, 흔히 ‘민감도’라고 한다. 이 확률은 키트의 성능에 따라 달라지며 제약 회사가 실험을 통해 구한 결과를 키트에 기재해준다. 이 두가지 정보를 가지고 본인이 양성이 나왔을 때, ‘감염이 되었는지’ 혹은 ‘감염 되지 않았는지’ 두 가지 확률을 모두 구해볼 수 있다.

현재 국민 중 30%가 코로나19에 감염되었고, 민감도가 99%일 때, 본인이 음성을 받았다면 실제 감염되지 않았을 확률을 구해보는 것도 의미있는 공부가 될 것 같다.

정리

Bayse’ rule은 결과(evidence)가 발생하였을 때, 원인에 의해 해당 결과가 발생할 확률인 가능도(likelihood)와 원인이 발생할 확률인 사전 확률(priori)를 바탕으로 원인의 확률을 구하는 이론이다. 조건 없이 해당 원인이 발생할 확률은 사전 확률을 통해서 알고 있지만 결과로 인해 추가적인 제약이 걸려서 확률이 변동된다는 것을 기억하자.

2 thoughts on “Bayes’ rule로 반도체가 불량품일 확률을 구해보자. (Bayes’ rule의 의미부터 예시까지) / Random Process #1”

Leave a Comment

Index