

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼
EM 알고리즘은 관측되지 않은(은닉) 변수가 있을 때, 기댓값(E) 단계와 최대화(M) 단계를 번갈아 반복해 최대우도추정을 구하는 방법이다.
이 내용은 넘스탯의 EM 스텝 시뮬레이터에서 직접 실험으로 확인할 수 있습니다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
EM 알고리즘은 데이터의 일부 정보(잠재변수)가 숨겨져 있을 때 확률 모델의 매개변수를 최대우도 방식으로 추정하는 반복 알고리즘입니다. "숨겨진 정보를 현재 추정치로 추측하는 단계(E)"와 "그 추측을 바탕으로 매개변수를 개선하는 단계(M)"를 번갈아 반복하며, GMM(가우시안 혼합 모델)의 표준 학습 방법으로 가장 널리 알려져 있습니다.
라벨이 지워진 두 동전 (교육용 시나리오): 동전 A와 B의 앞면 확률을 현재 θA = 0.7, θB = 0.4로 추측하고 있고, 두 동전을 고를 확률은 반반이라고 합시다. 어떤 라운드의 기록이 "앞면 7번, 뒷면 3번"이었다면: A였을 가능도 ∝ 0.7^7 × 0.3^3 ≈ 0.00222 B였을 가능도 ∝ 0.4^7 × 0.6^3 ≈ 0.00035 이 라운드가 A였을 확률 ≈ 0.00222 / (0.00222 + 0.00035) ≈ 0.863 E-step: 모든 라운드에 대해 이런 소속 확률을 계산합니다. M-step: 이 확률을 가중치로 각 동전의 앞면 비율을 다시 셉니다. 예를 들어 이 라운드의 앞면 7개 중 0.863 × 7 ≈ 6.04개를 A의 몫으로 칩니다. 새로 얻은 θA, θB로 E-step을 다시 하고, 또 M-step을 하고… 추정치가 거의 변하지 않을 때까지 반복하면 끝입니다.
정답: 어느 라운드가 어느 동전의 기록인지 모르기 때문입니다. 전체 기록의 앞면 비율을 세면 두 동전이 뒤섞인 평균만 얻을 뿐, 동전별 확률은 분리되지 않습니다. 동전별로 나눠 세려면 라벨이 필요한데, 라벨을 추측하려면 동전별 확률이 필요합니다. 이 닭과 달걀 구조를 끊기 위해 EM은 임의의 추측에서 출발해 추측과 개선을 번갈아 반복합니다.
정답: E-step은 현재 매개변수(θA, θB)를 고정한 채 각 라운드가 동전 A에서 나왔을 확률(책임값)을 계산합니다. M-step은 그 확률을 가중치로 삼아 매개변수를 다시 추정합니다 — 각 라운드의 앞면 개수를 책임값만큼 A의 몫과 B의 몫으로 나눠 세서 앞면 비율을 갱신합니다.
정답: 둘 다 "소속 추측 → 매개변수 갱신"을 반복하는 같은 순환 구조입니다. 다른 점은 배정 방식입니다. K-means는 각 점을 가장 가까운 중심 하나에 0/1로 완전히 배정(하드 배정)하지만, EM은 각 점이 각 그룹에 속할 확률(예: 그룹1에 88%, 그룹2에 12%)을 계산해 그 확률만큼 나눠 반영(소프트 배정)합니다.