Cloud&BigData/Machine Learing

Multinomial Variables - 다항 분포와 Dirichlet 분포에 대하여

루키~ 2013. 6. 20. 08:16

Binary Variables에 이어 Multinomial에 대해서 정리해 보도록 하죠. 

Binary가 동전의 앞면/뒷면과 같은 경우를 이야기한다면, Multinomial은 주사위를 던지는 경우를 생각하면 될 것 같습니다. 

즉 K=6의 상태를 가지고 있고, X3 = 1인 경우, 다음과 같이 나타낼 수 있습니다. 



확률이므로 K=1부터 6까지의 X의 전체 합은 1이 되겠죠. 

독립이므로 여러번 주사위를 던질때 확률은 다음과 같이 곱으로 계산할 수 있습니다. 

(k에 대한 평균이 파라미터로 주어졌을 때, Xk가 나올 확률을 의미합니다.)



이때, 파라미터로 사용하는 평균은 다음과 같은 조건을 가지고 있습니다. 



이번에는 X1에서 Xn까지의 독립 관측에서의 데이터 셋을 D라고 할 때, 다음과 같은 likelihood 함수를 생각할 수 있습니다. 

Binary Variables와 비교해서 보면 이해가 잘 될 겁니다. (결과가 나오는 중간 과정은 생략했습니다.)


     

이어서 Maximum likelihood를 계산하기 위해서 로그(ln)를 취하고 미분해서 계산하면 되겠죠. 

(이 경우에도 조건들을 명확하게 하기 위해 Lagrange multiplier인 람다를 사용합니다.)

최종적으로 maximum likelihood는 다음과 같은 식으로 나옵니다. 



Multinomial Distribution (다항 분포)

이항 분포 (Binomial Distribution)과 비교해서 비슷한 Multinomial Distribution을 만들 수 있습니다. 

경우의 수 계산을 위해 순서에 상관없으므로 조합을 사용하고, 위의 조건부 확률을 곱해주면 되겠죠. 



Dirichlet Distribution 

Binomial에 대응하는 것이 Multinomial이라면, 

Beta에 대응하는 분포가 바로 Dirichlet 라고 할 수 있습니다. 

이와 관련해서는 Conjugate Prior와 다음 그림을 살펴보기 바랍니다. 



Dirichlet 분포의 공식은 다음과 같습니다. 



위 그림에서 보는 것처럼 likelihood로 Multinomial이 사용되고, Prior로 Dirichlet를 사용하면, 

Posterior도 계속 Dirichlet가 나오면서 Bayesian을 보다 쉽게 사용할 수 있다고 합니다.