본문 바로가기
  • Fearless
기계학습/ML

[ML개론] (21) Inference prob. based on evidence

by Albatross 2022. 2. 26.
반응형

이전글에서 Bayesian Network를 통해 Joint probability를 계산하는 방법에 대해 다뤘다. 

이번엔 Likelihood, Conditional Prob., Most Probable Assignment를 inference하는 방법을 배워보자. 

 

우선 기호를 몇가지 약속하고 살펴보자. X는 모든 node, 즉 모든 random variable을 뜻한다. Xv는 evidence로 주어진 varaible을 뜻한다. Xh는 X에서 Xv를 제외한 node들, 즉 hidden variable을 뜻한다. 가령 Xv={도둑, Mary전화}라면 도둑이 들고 Mary가 전화한 event가 관측되었음을 뜻한다. P(Xv)= Σ_Xh P(Xh,Xv)를 통해 우린 해당 evidence가 관측될 joint probabilty를 구할 수 있다. 이는 즉, 도둑과 Mary전화라는 node의 T/F값을 고정시켜놓고 나머지 hiddle variable에 대한 T/F값을 2^3하여 해당사건들의 발생확률의 합을 구한것이다. 

P(J|A), P(M|A), P(A|B,E), P(B), P(E)에 대한 확률분포가 주어졌다고 가정해보자. P(Xv)를 구하려면, Σ_E Σ_A Σ_J P(E,A,J,B=T,M=T)를 구해야한다. 이 때 factorization하면 P(B)와 P(M|A)는 각 0.001, 0.7로 고정됨을 확인할 수 있다. 그리고 E,A,J에 대한 T/F 경우의 수 8개를 모두 구한 뒤 이들을 더하면 P(MC=T, B=T)를 구할 수 있다. 

 

두번째로 inference할 것은 conditional probability이다. Conditional prob.은 given evidence일 때 특정 r.v의 label을 추정하기 위해 사용된다.  

Xh는 사실 interested variable Y와 not interested Z로 양분될 수 있다. P(Y|Xv)=Σ_z P(Y, Z=z|Xv)로 계산된다. 이를 또다시 전개하면 Σ_z {P(Y, Z, Xv) / Σ_y,z P(Y=y, Z=z, Xv)}가 된다. 즉 

이를 기반으로 P(A|B=T, MC=T)를 구해보자. Alarm은 우리가 알고싶은 hidden variable이다. B, MC는 given evidence이고 나머지 E와 JC는 not interested이기 때문에 Z로 취급한다. P(A|B,MC)를 구하기 위해선 P(A=T, B=T, MC=T, Z=T/F)를 구해야하기 때문에 Σ_z를 취해준다. 그리고 이 확률은 B=T, MC=T인 가능세계에서 벌어진 것이기 때문에 P(B=T, MC=T)를 분모로 나눠주면 된다. 이는 위에서 살펴본 likelihood inference를 통해 구할 수 있다. 

 

자세하게 살펴보면 P(A=T, B=T, MC=T까지는 고정이고 Z인 E와 J에 대해 marginalize out해줘야하는데 이는 E=T/F, J=T/F인 case를 모두 더해주는 것과 같다. 따라서 분자에는 4가지 full joint prob의 합이 위치한다. 분모에는 A마저 T/F로 나뉘니까 총 8가지의 full joint prob을 더해준 확률값이 분모에 위치한다. 

 

 conditional prob.을 inference한 것을 바탕으로 P(A|B=T, MC=T)를 argmax하는 theta를 찾을 수 있다. 가령 given B,E일 때 P(A|B,E)를 하는 것은 예측과도 같은데 그 예측의 성능을 높여주는 theta를 업데이트해나갈 수 있는 것이다. 

반응형