EM 알고리즘은 확률 모델에서 MLE parameters를 찾기위해 사용한다.


EM 알고리즘은 두단계를 거치는데

첫번째 단계는

               E단계( Expectation step )

두번째 단계는

              M단계( Maximization step )이다.

 running 과정에서는 이 두 단계가 계속 반복된다.


 간단한 예를 살펴보면

1. 초기값 설정

2. 반복 과정

               2.1 E-STEP : 주어진 현재 파라미터 추정치로 unknown 변수가 특정 class에 속하는지에 대한 기대값을 추정한다.

               2.2 M-STEP : unknown 변수의 기대 추정치를 가지고 데이터의 최대 확률값(MLE)을 재 추정한다.


EXAMPLE >>
[STEP1] 4,10 , ? , ?

                                Initial mean value : 0

[STEP2] 4, 10, 0 , 0

                                New Mean : 3.5{ ( 4 + 10 + 0 + 0 ) /4 }

[STEP3] 4, 10, 3.5, 3.5

                                New Mean : 5.5

[STEP4] 4, 10, 5.25, 5.25

                                New Mean : 6.125

[STEP5] 4, 10, 6.125, 6.125

                                New Mean : 6.5625

[STEP6] 4, 10, 6.5626, 6.5625

                                New Mean : 6.7825

[STEP7] 4, 10, 6.7825, 6.7825


이 과정을 반복하다 보면 Mean이 7에 가까워지는것을 볼 수 있다.



 



 파라미터를 추정하는 방법론이기 때문에 수렴 속도가 빨라지거나 하지는 않는다


LINK : http://en.wikipedia.org/wiki/Expectation-maximization_algorithm

LINK : Foundations of Statistical Natural Language Processing

LINK : http://nlp.korea.ac.kr/new/seminar/2000spring/fsnlp/Chap14_Clustering.ppt

-----------------------------------------------------------------------------------------------------



 

'언어처리' 카테고리의 다른 글

PLSA  (0) 2008.09.06
조건부 확률  (1) 2008.07.25
Maximum Likelihood Estimation  (0) 2008.07.23
Latent Semantic Analysis 2  (1) 2008.05.13
Latent Semantic Analysis  (2) 2008.04.30
Posted by 고요한하늘
,