| [ KAIST ] in KIDS 글 쓴 이(By): sbpark (랄라라) 날 짜 (Date): 2002년 9월 27일 금요일 오후 04시 35분 25초 제 목(Title): Re: EM algorithm 성질 추천하고 싶은 EM 책은 Geoffrey J. MaLachlan and Thriyambakam Krishnan, The EM Algorithm and Extensions, A Wiley-Interscience Publication, 1996 입니다. 좀 어려운데(나한테만 어렵나???) 내용은 교재로 딱 좋습니다. :) EM 알고리즘은 사실 알고리즘이라기 보다는 프로시져입니다. 왜 이름을 알고리즘이라고 붙였는지 모르지만, 프로시져니까 데이타와 코드가 같으면 항상 같은 결과가 나오게 됩니다. 단, EM 알고리즘으로 추정하고자 하는 파라미터의 초기값이 다르면 최종결과가 다를 수 있습니다. 예를 들어, 이 파라미터로 추정한 likelihood가 1000개의 local maxima를 갖는다면 이 1000 개 중의 하나로 수렴합니다. local optima에 빠지지 않게 하는 방법은 없습니다. 무슨 수로 지금 수렴한 값이 local optima인지 global optima인지 알겠습니까? 보통 우리가 다루는 문제의 스페이스가 무한하고, 이 공간이 어떻게 생겼는지 모르는데, 어찌 global optima인지 알겠습니까? simulated anealing도 global optima를 보장하지 못합니다. local optima를 빠져나갈 가능성만 조금 열어 둔 것이지요. simulated anealing을 하거나 초기값을 다르게 둬서 여러번 돌리던가 해서 값을 찾을 수 있겠지만, 이 값이 global optima임을 보장할 수는 없습니다. iteration 수에 따라 값이 달라지지도 않습니다. 수렴할 때까지 돌아가니까요. 그런데, 이 EM이 무지하게 느립니다. 그래서, 여러가지 변형을 쓰기도 하는데 위에서 말한 책을 한번 보십시오. 가지고 계신 코드가 정통 EM이 아닐지도 모르겠네요. sequential EM은 저도 처음 듣는데 (제가 머 EM 전문가도 아닌데 모를 수도..), 아마 이 방법이 gibbs sampling을 말하는 거라면 이 방법은 더 문제입니다. 이런 방법은 EM의 수렴속도를 빠르게 할 수는 있는데 수렴이 보장되지 않습니다. MCMC 같은 monte carlo 기법을 써도 마찬가지 입니다. 수렴성이 보장되지 않습니다. MCMC를 쓰면 속도마저 느려지지 않을까 하는 염려도 되네요. 그럼.. 도움이 되었기를... |