Mathematics/Statistics

[Bayesian] Bayes' Rule

언킴 2021. 7. 25. 21:59
반응형

베이즈 규칙을 알아보기 전 우리가 기본적으로 알아야할 개념들부터 짚고 넘어가자. 우리는 일반적으로 확률을 지칭할 때 $p(A)$형태로 표현을 한다. 이 확률값은 $ 0\le p(A) \le 1$의 값을 지녀야한다. 그리고 결합확률(Joint Probability)은 일반적으로 $p(A \cap B)\ or\  p(AB) $ 로 표기하며 일부 책에서는 $ A \rightarrow B$라고 표기하기도 한다. 여기에서는 일반적으로 표기하는 방법을 사용할 것이다.

 

 

결합 확률과 독립

확률에서의 독립이라는 개념은 두 값이 떨어져있다라는 개념으로 받아들이면 큰 문제가 생긴다. 확률에서의 독립이란, 두 사건 사이에 아무런 연관성이 없다는 뜻이며 사건 A가 일어나는 것과 사건 B가 일어나는 것이 서로 관련이 없다는 뜻이다. 서로 독립적인 경우에는 $p(A \cap B) = p(A) \cdot p(B) $가 된다. 이 독립이라는 개념은 아래 나이브 베이즈 규칙을 유도할 때 아주 중요한 개념으로 사용되니 제대로 이해하고 넘어가도록 하자.

 

 

조건부 확률

조건부 확률(Confidence Probability)은 이공계열이 아니더라도 이미 많이 들어봤을 것이라 생각이 든다. $p(B|A)$ 로 표기하며 사건 A가 일어날 때 사건 B가 일어날 확률로 접근할 수 있다. 조건부 확률을 구하는 식은 다음과 같다. 

 

$p(B|A) = {p(A \cap B) \over p(A)} $

$or\ p(A \cap B) = p(A) \cdot p(B|A) $

 

 


베이즈 규칙

베이즈 규칙을 도출해내기 위해서는 결합 확률과 조건부 확률을 알고 있어야 접근이 가능하다. 아래의 수식에 대해 이해를 돕기 위해 $P(A \cap B)$ 와 $P(B  \cap A)$ 두 식으로 표현을 달리 했지만 두 결합 확률은 동일한 값임을 알고 넘어가야 한다. 

 

$p(A \cap B) = p(B) \cdot p(A|B)\ \cdots$ (1)

 

$p(B \cap A) = p(A) \cdot p(B|A)\ \cdots $(2)

 

$p(B) \cdot p(A|B) = p(A) \cdot P(B|A)\ \cdots$ (3)

 

$p(B|A) = {p(B) \cdot p(A|B) \over p(A) } $ $\cdots$ $(3) \over p(A)$

 

이 수식에서 B는 우리가 평가하고자 하는 가설(사후확률), A는 우리가 이미 알고 있는 확률(사전확률)이라고 하고 사전확률을 E, 사후확률을 H로 놓으면 수식은 다음과 같다. 

 

$p(H|E) = {p(E|H)^{Maximum\ Likelihood} \cdot p(H)_{posterior} \over p(E)_{prior}} $

 

우리는 이 수식을 베이즈 규칙$^{Bayes'\ Rule}$이라 부른다.

 

 

왜 베이즈 규칙을 사용할까?

왜 $p(H|E)$ 하나의 확률값을 구하지 않고, $p(E|H) \cdot p(H) \over p(E)$로 3개의 확률값이나 구해서 문제를 풀려고 할까? 베이즈 규칙은 우리가 궁극적으로 알고자하는 값인 $p(H|E)$보다 나머지 3개의 값을 구하는 것이 더 쉽다는 점을 착안한 모델이라고 할 수 있다. 왜 이 3개의 확률값을 구하는 것이 더 쉬울까? 다음 예제를 통해 알아보자.

 

우리가 의사인데 붉은 반점이 있는 환자가 병원에 방문했다. 우리는 환자가 홍역에 걸렸다고 생각한다(가설). 기존에 주어진 증거(E = 붉은 반점)가 있을 때 우리가 세운 가설(H = 홍역)의 확률을 결정하려고 한다. $p(홍역|붉은\ 반점)$을 계산하기 위해서는 붉은 반점이 일어나는 모든 원인을 찾아내고, 그 중 홍역 때문에 붉은 반점이 일어나는 경우를 비율로 계산하여야 한다. 붉은 반점이 일어나는 모든 경우의 수를 다 계산하는 것은 불가능에 가까운 일이다. 그럼 이제 베이즈 규칙을 생각하여 접근해보자. 

 

$p(E|H)$는 홍역에 걸린 환자에서 붉은 반점이 발생할 확률이며 전문의는 비교적 쉽게 확률을 구할 수 있다.

$p(H)$는 홍역에 걸릴 확률이다. 전체 인구에서 홍역에 걸리는 비율을 계산하면 된다.

$p(E)$는 붉은 반점이 일어날 확률이며, 전체 인구에서 붉은 반점이 생기는 비율을 계산하면 된다.

 

위 경우와 베이즈 규칙을 사용한 경우와 비교하면 $p(H|E)$를 계산하는 것이 훨씬 쉬워졌다는 것을 느낄 수 있다. 

 

 

응용

이제는 베이즈 규칙을 분류 문제로 바꾸어 풀어보자. 분류 문제의 경우 $E$가 타겟 변수 $C=c$일 확률을 구하는 것이다. 베이즈 규칙에서는 사전 확률을 다음과 같이 가져올 수 있다. 

 

$p(C = c|E) = {p(E|C=c) \cdot p(C = c) \over p(E)}$

 

1. 주관적인 사전 확률. 의사 결정자의 지식, 경험, 의견에 따라 결정

2. 이전에 다른 증거를 통해 베이즈 규칙을 적용해 알게된 결과에 기반

3. 데이터에 기반해 추론한 무조건적인 확률

 

여기서 우리는 E를 상당히 큰 조건의 집합인 $ < e_1, e_2,\ \cdots\ ,e_k >  $ 특징 벡터라고 생각해보자. 그러면 각 $e$에 대한 확률 값을 다 구해서 $P(E|c)$를 도출해내야 한다. 이런 경우 계산하는 방식이 너무 복잡해지기 때문에 데이터과학에서 사용하는 베이지안 기법은 확률적 독립을 가정해 이 문제를 해결한다. 

 


나이브베이즈

나이브베이즈는 사건들이 모두 독립이라는 가정하에 베이즈 규칙이라고 보면 된다. 만약에 독립성을 가정하지 않는다면 아래와 같은 식으로 표현할 수 있다.

 

$p(A \cap B | C) = p(A|C) \cdot p(B|A \cap C) $

= ${p(A \cap C) \over p(C) } \cdot {p(A \cap B \cap C) \over p(A \cap C)} $

 

만약 독립성이 가정되지 않는다면 위와 같은 형태의 체인룰을 사용하여 계산하는 방법 밖에는 없다. 하지만 확률에 대한 동립성을 가정하게 되면 식은 다음과 같이 간단하게 표현할 수 있다. 

 

$p(A \cap B | C ) = p(A|C) \cdot p(B|C) $

 

이렇게 수식을 변경할 수 있으면 확률을 계산할 수 있는 방법이 상당히 달라진다. 

 

$p(E|c) = p(e_1\ \land\ e_2\ \land\ \cdots\ \land\ e_k  | c) = p(e_1 | c) \cdot p(e_2 | c) \cdots p(e_k |c ) $ 

 

위 처럼 뜯어서 계산할 수 있을 것이다. 위 식을 결합 시키면 나이브 베이즈 방정식을 얻게 된다. 

 

$p(c|E) = { p(e_1 | c) \cdot p(e_2 |c) \cdots (e_k |c) \cdot p(c) \over p(E) } $

 

예제를 한 번 생각해보자. 예를 들어 호텔에 예약하는 경우를 예측하고 싶으면 호텔방을 예약하거나 예약하지 않는 경무만 존재한다. 쉽게 말해 $E$는 $c_0$나 $c_1$ 둘 중 하나에만 속하며, 수학적으로는 다음과 같이 표현할 수 있다. 

 

$p(E|c) = p(E\ \land\ c_0 ) + p(E\ \land\ c_1) = p(E | c_0) \cdot p(c_0) + p(E| c_1) \cdot p(c_1) $

 

우리는 각각의 사전확률을 독립적이라고 가정하고 있으므로, 이 수식을 다음과 같이 바꿀 수 있다. 

 

$p(E) = p(e_1|c_0) \cdot p(e_2|c_0) \cdot\ \cdots\ p(e_k | c_0) + p(E) = p(e_1|c_1) \cdot p(e_2|c_1) \ \cdots\ p(e_k | c_1) $

 

위 수식들을 합치면 다음과 같은 나이브 베이즈 방정식이 나온다.

 

$p(c_0 | E) = { p(e_1 | c_0) \cdot p(e_2 | c_0)\ \cdots\ p(e_k | c_0) \cdot p(c_0) \over p(e_1 | c_0) \cdot p(e_2 | c_0)\ \cdots\ p(e_k | c_0) } $

 

$c_0$ 즉 우리가 구하고자하는 호텔에 예약하는 확률에 대한 나이브 베이즈 규칙은 위 식과 같이 표현할 수 있을 것이다. 그럼 이제 나이브 베이즈 방정식을 약간 수정해 향상도와 결합하여 나이브-나이브 베이즈 모델을 만들 수 있을 것이다. 

 

$p(c|E) = {{ p(e_1 |c) \cdot p(e_2 | c)\ \cdots\ p(e_k | c) \cdot p(c)} \over p(e_1) \cdot p(e_2)\ \cdots\ p(e_k) }$

 

위 식을 향상도로 바꾸어 표현하면 다음과 같은 수식이 도출된다.

 

$lift_c(x) = {p(x | c) \over p(x) } $

 

이렇게 앞서 다루었던 향상도를 베이즈 규칙과 합쳐 나이브- 나이브 베이즈 모델로도 만들 수 있다.