기대값 최대화 알고리즘 (expectation-maximization algorithm)
한 줄 정의: 숨겨진 변수가 있는 모형에서 추정과 갱신을 번갈아 반복해 최대우도해를 찾는 방법입니다.
쉽게 풀면
닭이 먼저냐 달걀이 먼저냐 같은 상황을 푸는 요령입니다. 각 데이터가 어느 집단에서 왔는지 알면 집단별 모수를 구할 수 있고, 모수를 알면 각 데이터가 어느 집단에서 왔을 확률을 구할 수 있습니다. 둘 다 모를 때는 하나를 임시로 가정하고 다른 하나를 계산하는 일을 번갈아 반복하며 답에 수렴시킵니다.
왜 중요한가
군집화, 결측치 처리, 혼합 모형 추정 등 숨은 구조를 다루는 거의 모든 통계적 학습 문제의 기본 도구입니다. 반복할 때마다 우도가 감소하지 않는다는 성질이 증명되어 있어 안정적으로 동작합니다. 많은 최신 기법들이 이 알고리즘의 변형이나 근사로 설명되기 때문에 개념적 뿌리로도 중요합니다.
논문에서는 이렇게 쓰입니다
"가우시안 혼합 모형의 모수는 EM 알고리즘으로 추정하였으며, 로그우도 변화량이 1e-6 미만일 때 수렴한 것으로 간주하였다."
숨겨진 소속 집단을 가진 혼합 모형을 이 알고리즘으로 추정했고 우도가 거의 변하지 않을 때 멈췄다는 뜻입니다.
조금 더 깊게 보면
E 단계에서는 현재 모수 아래에서 잠재변수의 사후분포를 구해 완전자료 로그우도의 기댓값을 만들고, M 단계에서는 그 기댓값을 최대화하는 모수를 구합니다. 이 두 단계는 관측자료 로그우도의 하한을 올리는 과정으로 해석되며, 그래서 우도가 단조 증가합니다. 다만 수렴하는 지점이 전역 최대가 아니라 국소 최대나 안장점일 수 있어 초기값을 바꿔 여러 번 돌리는 것이 관행입니다.
주의할 점
k-평균 군집화는 각 점을 하나의 군집에 딱 잘라 배정하는 반면 EM은 소속 확률을 부드럽게 나눈다는 점에서 다르며, k-평균은 EM의 특수한 극한으로 이해됩니다. 수렴 보장은 우도의 단조 증가에 대한 것이지 최적해 도달에 대한 것이 아닙니다.