본문 바로가기
베이지안에 사용하자 - β분포에 관하여

다짜고짜 β분포의 pdf를 써보면 다음과 같이 표현됩니다.  

$$\begin{aligned} f(x ; a, b) &\, = C\cdot x^{a-1}(1-x)^{b-1}  =\frac{\Gamma(a+b)}{\Gamma(a) \Gamma(b)} x^{a-1}(1-x)^{b-1} \\ &=\frac{1}{\mathrm{B}(a, b)} x^{a-1}(1-x)^{b-1}  \sim \beta(a, b) \end{aligned}$$

무시무시하네요. 아니, 감마가 왜 튀어나오고, B(Beta)는 왜 튀어나오는가.라고 겁부터 먹으면 정말 끝까지 어려울 수 있으니, 아주 간단하게 생각해야 어떻게 "저기요.."라고 말이라도 걸어볼 수 있지 않을까 생각합니다.

보통 β분포를 얘기할 때, 여러 가지 모양의 pdf를 표시할 수 있어서 pdf의 일반형이라는 말들을 많이 하는데, 왜 그런 말을 하는지 먼저 잠시 알아보도록 하죠. - 고백하자면,  이런 설명에 전혀 이해와 공감을 하지 못하고 있습니다만 -

일단, pdf에 있는 a값이나 b값을 고려하면 너무 어려우니까, $ f(x ; a, b) =C\cdot x^{a-1}(1-x)^{b-1} $ 요 형태로만 따져보는 것이 가장 좋겠습니다. 약간 Binomial 느낌이 나지 않나요? 

재미있는 사실은 - 사실 재미 없어요. -  이 a, b값을 바꾸는 것만으로도 굉장히 많은 형태의 Continuous pdf를 표현할 수 있다는 점인데, 뭐랄까 β분포는 무언가의 일반형이라는 말이 이 부분에서 나오는 말이라면, 조금 마음이 놓입니다.만 그런 말이 더 이건 뭥미?하게 만들더라고요. 이런 말이 실은 β분포를 더 어렵게 하는 말인 것 같은데. 

어찌 되었든, 일반형이라는 것에 대하여, 예를 들면, a=b=1 이라면 어떤 형태가 될까요? 
$f(x;a,b) = C$가 되겠네요. 그러면? Uniform Distribution을 표현할 수 있겠습니다. 

그러면, 만약에 a=2, b=1이라면? $f(x;a,b)=cx$형태라서 Linear 직선 형태를 표현할 수 있겠습니다.

그러면, 또 만약에 a=b=½ 이라면요? 오, 밥그릇 모양을 표현할 수 있겠습니다. - 사실 이 부분이 제일 좀 그런데, a=b=½ 인 경우는 그다지 많이 보지 못할 테니까 말이죠 - 

그러면, 또 만약에 a=b=2 라면? 밥공기 엎어놓은 모양의 pdf를 표현할 수 있겠지요? 오, 편리하군요.

그러니까, 정말 말 그대로, a와 b를 조합해서 정말 여러 가지 모양의 pdf를 표현할 수 있군요.

권총을 주머니에 넣고 다니면 왠지 기분이 다르고, 자신감이 넘친다는데, β분포를 알고 나니, 조금은 권총을 주머니에 넣고 다니는 느낌이랄까요. 하지만, 여전히 권총은 권총일 뿐 너무 뜬구름 잡는 이야기의 느낌이라서 도대체 어디에 쓰지? 라는 생각이 들고, 이거 감을 잡기도 어렵기만 합니다. 이것은 β분포를 잘 설명하고 있기도 하지만, 설명만 그렇고 다시 한번 얘기하지만 β분포를 이해하기 어렵게 하는 것 이기도 하죠.

그러면, β분포는 무엇을 나타내는 분포이며, 어디에 쓸 수 있단 말인가. 하는 질문에 답을 하지 않고서는 더 이상 앞으로 전진하기 어렵겠습니다. 아무래도 다른 분포들은 분포 자체가 어떤 현상을 설명한다는 것을 알겠는데, β는 도저히 뭘 따르는지가 애매하거든요. 

β분포는 Bernoulli나, Binomial처럼 성공/실패에 대한 이항 결과에 대한 확률 분포를 다루는 것인데, Bernoulli와 Binomial의 경우에는 성공의 횟수가 확률 변수인 것에 비하여 β는 성공의 비율을 확률 변수로 하는 경우를 다룹니다. 

β분포에서 알아낼 수 있는 것은 성공의 비율에 대한 확률을 알아낼 수 있다고 해야겠죠.

그러니까 정작 우리가 가장 많이 이용하는 부분은 이미 얘기했듯이 Probability of probaility라는 것입니다. 쉽게 말해서, probability 자체의 distribution을 표현할 수 있습니다. 쉽게 말해서라고 얘기했지만, 이거 말이 여전히 꽤나 어렵군요. 사실 이렇게 얘기하면 많이 어렵게 느껴지고, 처음에 말을 꺼냈듯이 비율의 확률 분포라고 하면 조금 더 이해하기 쉽습니다. 

자, 이 특성은 Binomial로 설명하면 가장 쉬운데, 라고 했지만, 부디 쉽다고 생각해 주세요. 너무 부담스러워하지 마시고요. 

예를 들어,  Binomial의 경우 p가 주어져 있고, X=k번 성공 확률의 distribution은  $P(X|p) \sim B (n,p)$ 입니다. 음. 그렇죠? 그러면 거꾸로 a번 성공, b번 실패일 때 p의 distribution은 어떨까요? 이 p의 distribution이 $ p \sim β(a, b)$를 따릅니다. 음. 그러니까, 관측된 데이터를 보고 p의 분포를 따져볼 수 있다는 의미입니다. p 자체가 random variable이 되는 것이죠. x축이 비율(확률)이 되는 것이고 y축이 그 비율(확률)일 확률인 것이죠. - 그러니까, x축은 0~1까지만 있습니다 - 

β 분포를 보는 것에는 Mode(최빈값)이 제일 중요한데요, a 성공, b 실패에 대하여 최빈값은 다음과 같이 계산됩니다. 
$$mode = \cfrac{a-1}{a+b-2}$$
성공과 실패의 비율로 최빈값이 결정되게 되는데, 그것을 살펴보면, 그림처럼 됩니다.  

보시다시피 β분포는 최빈값에서 가장 밀도가 크게 나타납니다. 최빈값이 어디에서 나오는가를 자세히 보면 a가 성공이니까, a값이 클수록  0.5보다 오른쪽에, 실패인 b값이 클수록 0.5보다 왼쪽에 밀도가 가장 값이 나타납니다. a와 b가 같은 경우를 보면 0.5에서 밀도가 가장 크죠. 그러니까, 성공 a, 실패 b의 값으로 성공의 비율 p에 대한 모양새가 정해진다고 보면 편리합니다. 또 한 가지, a, b값이 커질수록 더 Sharp 한 모양새가 됩니다. 

자, 그러면 이런 p의 분포가 어디에 쓰이느냐 하면 Bayesian추정에서 결정적으로 유용하게 사용됩니다. Bayesian 추정에서 최빈값은 모수가 최빈값일 가능성이 가장 큰 것을 의미하는데. 그런 의미에서라면 a=1, b=1인 경우를 보면 Uniform하기 때문에 정말 무정보 분포라고 보면 됩니다. 조금 이른 이야기이지만, Bayesian 추정을 하게 되면 이 Uniform이 정보를 갖기 시작합니다. 

이런 β분포는 Bernoulli, Binomial, Negative Binomial, Geometric distribution에 대해서 conjugate prior 합니다. 예를 들어 Binomial의 모수를 추정하는 데 있어 β분포가 사전 분포로써 이용될 수 있는데, - Bayesian Inference에서 - 이건 또 무슨 소리냐 하면, Bernoulli, Binomail, Negative Binomial, Geometric 분포에 대한 Bayesian 모수 추정을 할 때, β롤 "모수에 대한 prior"로 두면 post도 β가 나와서 쉽게 Bernoulli, Binomial, Negative Binomial, Geometric 분포의 모수를 추정하기 쉽다는 의미입니다. 아.. 수학적으로 꽤나 흥미로운 일이고요, Bayes 추정을 하면서 일관성을 가진 분포를 이용할 수 있다는 말입니다. 결국 prior와 posterior 분포는 완전히 동일한 형태를 띠고, 이는 prior와 posterior 분포의 변화를 살펴볼 수 있게 만들어 줍니다. 아니, 뭐가 이렇게 복잡한가?라고 생각이 들 수 있겠는데, 좀 더 들여다보시죠. 

한마디로 Likelihood를 Binomial로, Prior를 $f(p) \sim \beta(a, b)$라고 생각하고, Bayes' rule를 한번 들여다봅시다.  
$$P(p|X=k) = \cfrac{P(X=k|p)\cdot f(p)}{p(X=k)} = \cfrac{_nC_k p^k (1-p)^{n-k} C p^{a-1}(1-p)^{b-1}}{P(X=k)} $$
이때 p에 관련되지 않은 녀석들은 모두 constant로 생각하고 계산에서 배제하면,  $p^{a+k-1}(1-p)^{b+n-k-1}$에 proportional한 것을 알 수 있습니다. 그러면 
$$P(p|x=k) \propto \beta(a+k, b+n-k)$$

어? 처음에 β Distribution을 prior로 생각하고, Likelihood를 Binomial로 놓았을 때, Bayesian rule을 이용해서 post를 계산했더니, 또 β Distribution이 나왔군요. 이런 걸 prior conjugate라고 부릅니다. - 참고로 처음에 a번 성공, b번 실패였다면, Likelihood에서 관측한 k번 추가 성공, n-k번 추가 실패와 관련 있다고 봐야 하겠네요. - 이것을 보통의 일반화된 수식으로 표현하면 다음과 같습니다. 

$$P(p|x=X) \propto \beta(a+X, b+n-X)$$

흠. interesting.

어쨌든 이런 Binomial과 β의 관계는 Binomial은 p가 주어졌을 때 성공 횟수가 k번일 확률에 관련된 것, β는 성공, 실패 횟수가 주어졌을 때 p의 확률이라는 것뿐입니다. - 사실 이걸 보면 Liklihood랑 정말 비슷하네 라고 고개를 끄덕인다면 정말 뇌섹이 아닐 수 없겠습니다. 이런 사람이 사귀자고 한다면, 군말 없이 사귈 수 있겠다고 생각합니다. - 

$$
f(x)=\left(\begin{array}{l}
n \\
x
\end{array}\right) p^{x}(1-p)^{n-x}
\\ f(p)=\frac{\Gamma(a+b)}{\Gamma(a) \Gamma(b)} p^{a-1}(1-p)^{b-1}
$$

다시 한번 잘 살펴보면, 똑같은 것인데 관점만 다른 것입니다. 앞에 감마로 이루어진 복잡한 상수는 확률의 합은 1이 되어야 한다는 것에서 구한 상수일 뿐이고요.(라고는 하지만, 감마는 팩토리얼 !← 요 연산의 일반형 입니다.)

왜 p를 random variable로 두었는가 하면, Bayesian에서는 모수가 상수가 아니라, random variable이기 때문에 이런 random variable 모수를 다루기 위해서 β 분포를 쓴다고 생각하면 더욱더 이해가 쉽습니다. 

그냥  β 분포를 직접적으로 이용한 예를 들어보면, 조금 더 도움이 되지 않을까 합니다. 우리 광고를 본 사람이 3명은 가입을 했고, 10명은 이탈했다면, 광고를 본 사람이 가입할 확률이 0.5이상이 될 확률을 구할 수 있습니다. 

$\begin{aligned} P(X>0.5) &=1-P(X<0.5) \\ &=1-\int_{0}^{0.5} \frac{\Gamma(13)}{\Gamma(3) \Gamma(10)} x^{3-1}(1-x)^{10-1} d x \\ &=1-\int_{0}^{0.5} \frac{\Gamma(13)}{\Gamma(3) \Gamma(10)} p^{3-1}(1-p)^{10-1} d p  \\ &=0.01929 \end{aligned}$


이런 식이죠 0.019이면 꽤나 작군요. 

같은 말을 바꿔서 어떤 남자애가 소개팅을 하는데, 3명은 애프터를 받아주었고, 10명은 애프터를 받아주지 않았다면, 애프터를 받아줄 확률이 0.5이상이 될 확률은 0.019입니다. 어. 슬프네요. 꽥.

β함수에서 감마가 나오는 것은 그냥 계산이 그렇다는 점을 알아두면 더 마음이 놓입니다. 저는 a, b로 Hyper Parameter로 표현했지만, 보통 α, β로 많이 표현합니다. 그런 notation을 이용하면, 

$$ f(x;\alpha, \beta) = \cfrac{x^{\alpha-1} (1-x)^{\beta-1}}{B(\alpha, \beta)}$$

$$ 0 \leq x \leq 1, \,\, B(\alpha, \beta) = \int^{1}_{0} x^{\alpha-1}(1-x)^{\beta-1}dx  $$

이렇게 써 놓으니까, 좀 쉽죠. 그런데 분모의 B를 어떻게 좀 쉽게 계산하는 방법이 없을까 하는 방법이 감마를 사용하는 것뿐입니다. 
$$ B(\alpha, \beta) = \cfrac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)} $$ 이것이 바로 그 계산법입니다. 쉽게 하려고 표현한 것인데, 이것이 또 β 분포를 어렵게 보이게 하는 뭐 그런 것이 있습니다. 어렵게 생각할 필요가 전혀 없으니까 이제부터 만만하게 생각하는 것이 좋을 것 같습니다. 게다가 어려워 보이는 것을 잘 이해하고 쓸 수 있다면 더 유식해 보일 수 있으니까 또 그건 그것 나름의 장점이 있군요. 참고로 감마는 연속함수의 팩토리얼 ! 입니다. 흡 

뜬금없이 Conjugate에 대한 말을 꺼내 서 이상한 소리를 늘어놓았는데, 베이지언 추정을 할 때 더 자세하게 얘기해 볼까 합니다. 엄청 흥미로운 얘기가 될 테니 기대해도 좋다고 생각합니다. 한 가지만 미리 얘기한다면 방금 자세히 본 것과 같이 사전분포, 사후분포를 얘기하게 될 텐데, 사전분포와 사후분포는 어떤 데이터를 목격한 후에 모수의 분포의 변화를 얘기합니다. 이 것을 알고 있다면 길을 헤맬 이유가 없어집니다. 

Bernoulli, Binomial, β .. 모두 B네요? 요렇게 B가족으로 생각하면 모두 연결되기 쉬우니까, 참고해 주세요.

친절한 데이터 사이언스 강좌 글 전체 목차 (링크) -



댓글





친절한 데이터 사이언스 강좌 글 전체 목차 (링크) -