통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

EM 알고리즘 (Expectation-Maximization)

마일스톤 학습법으로 단계별 완전 정복
EM 알고리즘
Expectation-Maximization
기댓값 최대화
잠재변수
책임값
최대우도추정
로그우도
GMM
불완전 데이터
이 개념 직접 실험하기 — EM 스텝 시뮬레이터
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • 잠재변수와 불완전 데이터가 무엇인지 라벨이 지워진 동전 예로 설명할 수 있다
  • • "추측(E) → 개선(M) → 반복"이라는 EM의 순환 구조와 닭과 달걀 문제 해소 방식을 이해한다
  • • EM의 소프트 배정이 K-means의 하드 배정과 어떻게 다른지 구분할 수 있다
심화 학습
  • • E-step의 책임값을 베이즈 정리로 계산하고, 각 데이터의 책임값 합이 1임을 설명할 수 있다
  • • M-step의 책임값 가중 평균·분산·혼합비 갱신식을 작은 데이터에 직접 적용할 수 있다
  • • 초기값 민감성과 특이해 문제를 알고 다중 초기화·분산 하한 같은 대응책을 제시할 수 있다
실무 적용
  • • 로그우도 단조 증가 성질과 "수렴 보장 but 지역 최적"의 의미를 설명할 수 있다
  • • Jensen 부등식 기반 하한(ELBO)으로 E-step·M-step이 로그우도를 밀어 올리는 구조를 서술할 수 있다
  • • K-means = 하드 EM 관계와 Baum-Welch·결측치 처리 등 EM의 응용 지도를 그릴 수 있다
한눈에 보기

EM 알고리즘은 관측되지 않은(은닉) 변수가 있을 때, 기댓값(E) 단계와 최대화(M) 단계를 번갈아 반복해 최대우도추정을 구하는 방법이다.

이 내용은 넘스탯의 EM 스텝 시뮬레이터에서 직접 실험으로 확인할 수 있습니다.

학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
20
클릭
심화 학습
공식 유도와 다양한 예시
45
클릭
실무 적용
실제 케이스와 고급 응용
55

학습 진도 (완료한 단계)

0%

기초라벨이 지워진 데이터에서 어떻게 배우나요?

기초: 라벨이 지워진 데이터에서 어떻게 배우나요?

난이도 3/5
약 20분

EM 알고리즘은 데이터의 일부 정보(잠재변수)가 숨겨져 있을 때 확률 모델의 매개변수를 최대우도 방식으로 추정하는 반복 알고리즘입니다. "숨겨진 정보를 현재 추정치로 추측하는 단계(E)"와 "그 추측을 바탕으로 매개변수를 개선하는 단계(M)"를 번갈아 반복하며, GMM(가우시안 혼합 모델)의 표준 학습 방법으로 가장 널리 알려져 있습니다.

EM 알고리즘 — E단계·M단계의 반복은닉변수를 추정(E)하고 파라미터를 갱신(M)하길 반복 — 우도가 단조 증가하며 수렴합니다E단계책임값 계산M단계파라미터 갱신초기화 →우도(로그가능도)반복 횟수 →※ 지역 최적에 수렴할 수 있어 여러 초기값 시도 · GMM·HMM(바움-웰치) 학습에 쓰인다
핵심 포인트
  • 불완전 데이터: 관측값은 있지만 "어느 그룹에서 나왔는지" 같은 정보(잠재변수)가 숨겨진 데이터 — 라벨이 지워진 동전 기록, 그룹 표시 없는 키 데이터 등
  • 닭과 달걀 구조: 매개변수를 알면 잠재변수를 추측하기 쉽고, 잠재변수를 알면 매개변수 추정이 쉬움 — EM은 두 방향을 번갈아 반복
  • E-step(추측): 현재 매개변수로 각 데이터가 각 그룹에서 나왔을 확률(책임값)을 계산 / M-step(개선): 그 확률을 가중치로 매개변수를 다시 추정
  • K-means에서 이미 본 패턴: "가장 가까운 중심에 배정 → 중심 재계산"의 반복과 같은 순환 구조 — 단, EM은 0/1 배정 대신 확률(소프트 배정)을 사용
간단한 예시

라벨이 지워진 두 동전 (교육용 시나리오): 동전 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%)을 계산해 그 확률만큼 나눠 반영(소프트 배정)합니다.

기계학습 이론 페이지로 돌아가기