이 강의의 목표는 확률변수 관계를 그래프로 보고 숨은 변수를 추정하는 법을 아주 기초부터 이해하는 것입니다.
먼저 오늘의 핵심 식을 봅니다.
P(A,B,C)=P(A)P(B∣A)P(C∣B)
이 식을 외우기 전에, 식 안의 말과 기호를 먼저 하나씩 풀어야 합니다.
| 말 |
뜻 |
| 그래픽모델 |
변수 관계를 그래프로 나타낸 확률모델 |
| 노드 |
확률변수 하나 |
| 엣지 |
변수 사이의 직접 관계 |
| 잠재변수 |
보이지 않는 숨은 변수 z |
| 우도 |
데이터를 설명하는 확률 p(x∣θ) |
| EM |
E-step과 M-step을 반복하는 추정 방법 |
수학에서 어려운 부분은 계산보다 읽기입니다. 뜻을 모르고 계산하면 공식이 암호처럼 보입니다.
시험 점수에는 실력, 컨디션, 난이도가 영향을 줄 수 있습니다. 실력처럼 직접 보이지 않는 원인을 잠재변수로 두면 데이터를 더 잘 설명할 수 있습니다.
핵심 식을 다시 봅니다.
P(A,B,C)=P(A)P(B∣A)P(C∣B)
기호를 하나씩 말로 바꿉니다.
- A, B, C는 각각 확률변수(그래프의 노드)입니다.
- P(A,B,C)는 세 변수가 동시에 특정 값을 가질 결합확률입니다.
- P(A)는 A가 스스로 갖는 확률입니다.
- P(B∣A)는 A를 알았을 때 B의 조건부확률입니다. 그래프에서 A→B 엣지에 해당합니다.
- P(C∣B)는 B를 알았을 때 C의 조건부확률입니다. B→C 엣지에 해당합니다.
즉 이 식은 "A→B→C 사슬 구조에서는 전체 결합확률이 각 화살표의 조건부확률의 곱으로 쪼개진다"는 뜻입니다. C가 A에 직접 걸리지 않는 이유는 B를 알면 C가 A와 조건부독립이기 때문입니다. 이렇게 큰 결합확률을 작은 조각으로 나누는 것이 그래픽모델의 힘입니다.
관측 데이터 x만 있고 잠재변수 z가 숨어 있으면, 우도 p(x∣θ)는 z를 모두 더해 얻습니다.
p(x∣θ)=z∑p(x,z∣θ)
이 합 안에 로그가 씌워지면(log∑z) 미분이 얽혀 직접 최대화하기 어렵습니다. 잠재변수의 값을 알면 계산이 쉬워지지만, 우리는 그 값을 모릅니다.
EM은 이 교착을 "숨은 변수를 현재 추정으로 채우고, 채운 값으로 파라미터를 갱신"하는 두 단계를 번갈아 반복해 풉니다. 이 관점이 있어야 가우시안 혼합이나 은닉마르코프모델 같은 잠재변수 모델의 학습을 이해할 수 있습니다.
현재 파라미터 추정을 θold라 합니다.
숨은 변수의 사후분포를 현재 파라미터로 계산합니다.
q(z)=p(z∣x,θold)
즉 "지금 모델을 믿을 때, 관측 x를 보고 숨은 원인 z가 무엇이었을지"의 확률을 구합니다.
E-step에서 얻은 q(z)로 완전데이터 로그우도의 기댓값을 최대화해 파라미터를 갱신합니다.
θnew=argθmax z∑q(z)logp(x,z∣θ)
여기서는 log 안에 합이 없어(logp(x,z∣θ)) 최대화가 쉽습니다. 두 단계를 수렴할 때까지 반복합니다.
어떤 분포 q(z)에 대해 로그우도를 다음처럼 분해할 수 있습니다.
logp(x∣θ)=ELBO L(q,θ)z∑q(z)logq(z)p(x,z∣θ)+≥0KL(q(z)∥p(z∣x,θ))
KL 항은 항상 0 이상이므로 ELBO는 로그우도의 하한입니다.
- E-step: q(z)=p(z∣x,θold)로 두면 KL 항이 0이 됩니다. 그러면 하한 ELBO가 현재 로그우도에 딱 닿습니다.
- M-step: ELBO를 θ에 대해 최대화하므로 하한이 올라갑니다.
하한이 올라가고, 실제 로그우도는 그 하한보다 항상 크거나 같으므로, 로그우도는 절대 줄지 않습니다. 그래서 EM은 반복할수록 우도가 단조 증가하며 국소 최대점으로 수렴합니다.
문제: A→B→C 구조에서 P(A=1)=0.6, P(B=1∣A=1)=0.7, P(C=1∣B=1)=0.8일 때 P(A=1,B=1,C=1)을 구하라.
풀이: 핵심 식에 대입합니다.
P(A=1,B=1,C=1)=P(A=1)P(B=1∣A=1)P(C=1∣B=1)
=0.6×0.7×0.8=0.336
세 변수를 한꺼번에 다루지 않고, 각 화살표의 확률을 곱하기만 하면 됩니다.
문제: 동전이 두 개(공정 동전과 앞면확률 0.8인 편향 동전) 있고, 사전확률은 각각 0.5다. 어떤 동전을 한 번 던져 앞면이 나왔다. 이 앞면이 편향 동전에서 나왔을 사후확률을 구하라.
풀이: E-step은 사후분포 q(z)=p(z∣x,θ)를 계산하는 단계입니다. 베이즈 정리를 씁니다.
q(편향)=P(앞∣편향)P(편향)+P(앞∣공정)P(공정)P(앞∣편향)P(편향)
=0.8×0.5+0.5×0.50.8×0.5=0.4+0.250.4=0.650.4≈0.615
그래서 이 앞면은 약 61.5% 확률로 편향 동전에서 나온 것으로 추정됩니다. M-step에서는 이런 사후확률을 가중치로 삼아 각 동전의 앞면확률을 다시 추정합니다.
- 오늘 배운 핵심은 확률변수 관계를 그래프로 보고 숨은 변수를 추정하는 법입니다.
- 그래픽모델은 결합확률을 각 엣지의 조건부확률 곱으로 쪼갭니다.
- EM의 E-step은 사후분포 q(z)=p(z∣x,θold)를 구하고, M-step은 θ←argmax∑zq(z)logp(x,z∣θ)로 갱신합니다.
- ELBO 관점에서 E-step은 하한을 우도에 맞추고 M-step은 하한을 올려, 우도가 단조 증가합니다.
P(A,B,C)=P(A)P(B∣A)P(C∣B)
- 사슬 구조에서 결합확률을 왜 조건부확률의 곱으로 쓸 수 있는가?
- 잠재변수가 있을 때 우도 p(x∣θ)를 직접 최대화하기 어려운 이유는 무엇인가?
- EM의 E-step과 M-step 수식을 각각 쓸 수 있는가?
- ELBO 관점에서 EM이 왜 우도를 줄이지 않는지 설명할 수 있는가?