혼합 가우시안 모델(Mixture of Gaussians, MoG)은 다양한 통계적 데이터 분석 및 머신러닝에서 자주 사용되는 기법입니다. 특히, 데이터가 여러 다른 그룹이나 클러스터로 구성되어 있을 때 유용합니다. 음성 신호 분석, 이미지 처리, 생물정보학 등에서 중요한 역할을 합니다.
혼합 가우시안 모델 (MoG)의 기본 개념
혼합 가우시안 모델은 데이터가 여러 개의 가우시안 분포(정규 분포)의 조합으로부터 생성되었다고 가정합니다. 이를 통해 데이터의 클러스터링 문제를 해결할 수 있습니다.
수학적 정의
혼합 가우시안 모델은 K개의 가우시안 분포의 합으로 정의됩니다. 각각의 가우시안 분포는 다음과 같이 정의됩니다:
각 가우시안 분포 k는 평균 벡터 μk와 공분산 행렬 Σk를 가집니다.
각 가우시안 분포의 혼합 계수(가중치)는 πk로 정의되며, ∑k=1Kπk=1입니다.
혼합 가우시안 모델의 확률 밀도 함수는 다음과 같이 표현됩니다:
[p(x)=∑k=1KπkN(x∣μk,Σk)]
여기서 N(x∣μk,Σk)는 평균 μk와 공분산 Σk를 가지는 가우시안 분포입니다.
가우시안 분포는 다음과 같이 정의됩니다:
[N(x∣μ,Σ)=(2π)d/2∣Σ∣1/21exp(−21(x−μ)⊤Σ−1(x−μ))]
여기서 d는 데이터 벡터 x의 차원, ∣Σ∣는 공분산 행렬 Σ의 행렬식입니다.
파라미터 추정
혼합 가우시안 모델의 파라미터 πk, μk, Σk를 추정하기 위해서는 일반적으로 기대 최대화 알고리즘(Expectation-Maximization, EM)을 사용합니다. EM 알고리즘은 다음과 같은 두 단계로 구성됩니다:
E-Step (Expectation Step): 현재 추정된 파라미터를 사용하여 각 데이터 포인트가 각 가우시안 분포에 속할 확률(책임도, responsibility)을 계산합니다.
기대 최대화 알고리즘은 혼합 가우시안 모델과 같은 잠재 변수 모델의 파라미터를 추정하는 데 매우 유용한 도구입니다. E 단계와 M 단계를 반복하여 데이터의 로그 우도를 최대화하고 파라미터를 최적화합니다. 음성 신호 처리와 같은 다양한 응용 분야에서 중요한 역할을 합니다.
다음으로는 히든 마르코프 모델(Hidden Markov Model, HMM)의 EM 알고리즘에 대해 자세히 알아보겠습니다.
히든 마르코프 모델(Hidden Markov Model, HMM)의 EM 알고리즘
히든 마르코프 모델(HMM)은 시간에 따라 변하는 시스템의 확률 모델로, 관측 가능한 출력과 관측할 수 없는(히든) 상태들로 구성되어 있습니다. HMM의 주요 응용 분야로는 음성 인식, 기계 번역, 생물정보학 등이 있습니다.
HMM의 학습에서 주로 사용되는 EM 알고리즘의 변형은 Baum-Welch 알고리즘입니다. 이는 HMM의 파라미터를 최적화하기 위한 방법입니다.
HMM의 기본 개념
상태: S={S1,S2,…,SN} (히든 상태)
관측: O={O1,O2,…,OT} (관측된 출력)
초기 상태 확률: π={πi} (상태 Si에서 시작할 확률)
상태 전이 확률: A={aij} (상태 Si에서 상태 Sj로 전이할 확률)
관측 확률: B={bj(Ot)} (상태 Sj에서 관측 Ot가 발생할 확률)
Baum-Welch 알고리즘 (EM 알고리즘)
Baum-Welch 알고리즘은 HMM의 파라미터 λ=(A,B,π)를 추정하기 위한 반복적인 방법입니다. 이 알고리즘도 E 단계와 M 단계로 구성됩니다.
E 단계 (Expectation Step)
전향 확률(Forward Probability): αt(i)
시간 t에서 상태 Si에 있을 확률로 정의됩니다. 이 확률은 다음과 같이 계산됩니다:
[αt(i)=P(O1,O2,…,Ot,qt=Si∣λ)]
전향 확률은 재귀적으로 계산됩니다:
초기화: α1(i)=πibi(O1)
재귀 관계: αt+1(j)=(∑i=1Nαt(i)aij)bj(Ot+1)
후향 확률(Backward Probability): βt(i)
시간 t에서 상태 Si에 있을 때, 남은 관측값이 나올 확률로 정의됩니다. 이 확률은 다음과 같이 계산됩니다:
[βt(i)=P(Ot+1,Ot+2,…,OT∣qt=Si,λ)]
후향 확률도 재귀적으로 계산됩니다:
초기화: βT(i)=1
재귀 관계: βt(i)=∑j=1Naijbj(Ot+1)βt+1(j)
M 단계 (Maximization Step)
E 단계에서 계산된 전향 확률과 후향 확률을 사용하여 파라미터를 업데이트합니다.
γt(i): 시간 t에서 상태 Si에 있을 확률
[γt(i)=∑j=1Nαt(j)βt(j)αt(i)βt(i)]
ξt(i,j): 시간 t에서 상태 Si에 있고 시간 t+1에서 상태 Sj에 있을 확률
여기서 I(Ot=Ok)는 관측값 Ot가 Ok와 같은지 여부를 나타내는 지시 함수입니다.
결론
Baum-Welch 알고리즘을 통해 HMM의 파라미터를 추정할 수 있습니다. 이 알고리즘은 음성 신호 처리, 기계 번역, 생물정보학 등 다양한 분야에서 중요한 역할을 합니다. E 단계와 M 단계를 반복하여 파라미터를 최적화하고 모델의 정확성을 높입니다.
이제 EM 알고리즘을 사용하여 HMM을 이해하는 데 필요한 기초를 다졌습니다. 음성 신호 딥러닝 모델의 이해를 위해 더 깊이 있는 수학적 기초를 쌓는 과정에서도 이 내용이 도움이 될 것입니다.
물론입니다. 기대 최대화 알고리즘(Expectation-Maximization Algorithm)의 E 단계에서는 데이터가 각 잠재 변수(또는 숨겨진 변수)에 속할 확률을 계산합니다. 혼합 가우시안 모델(MoG)을 예로 들어 이 확률을 어떻게 계산하는지 자세히 설명하겠습니다.
E 단계 (Expectation Step)에서의 계산
E 단계에서는 각 데이터 포인트 xn이 가우시안 분포 k에 속할 책임도(responsibility)를 계산합니다. 이를 γ(znk)로 표기합니다: [γ(znk)=E[znk]=P(znk=1∣xn,θ)]
여기서 znk는 데이터 포인트 xn이 가우시안 분포 k에 속할 확률을 의미합니다.
책임도(responsibility) γ(znk) 계산
책임도 γ(znk)는 다음과 같이 계산됩니다: [γ(znk)=∑j=1KπjN(xn∣μj,Σj)πkN(xn∣μk,Σk)]
이 식에서 각 변수의 의미를 하나하나 자세히 설명하겠습니다.
1. πk: 혼합 계수(mixing coefficient) 또는 가중치로, 가우시안 분포 k의 전체 데이터에서 차지하는 비율입니다. πk는 다음 조건을 만족합니다: [∑k=1Kπk=1]
2. N(xn∣μk,Σk): 평균 μk와 공분산 Σk를 가지는 가우시안 분포에서 데이터 포인트 xn의 확률 밀도 함수입니다. 가우시안 분포는 다음과 같이 정의됩니다: [N(x∣μ,Σ)=(2π)d/2∣Σ∣1/21exp(−21(x−μ)⊤Σ−1(x−μ))]
여기서 d는 데이터 벡터 x의 차원, ∣Σ∣는 공분산 행렬 Σ의 행렬식입니다.
3. ∑j=1KπjN(xn∣μj,Σj): 모든 가우시안 분포의 합으로, 데이터 포인트 xn가 전체 혼합 가우시안 모델에서 발생할 확률을 나타냅니다.
식의 분모와 분자
분자: πkN(xn∣μk,Σk)
이 값은 데이터 포인트 xn이 가우시안 분포 k에 속할 확률입니다. 여기서 πk는 해당 가우시안 분포의 가중치이고, N(xn∣μk,Σk)는 가우시안 분포의 확률 밀도 함수 값입니다.
분모: ∑j=1KπjN(xn∣μj,Σj)
이 값은 데이터 포인트 xn이 전체 혼합 가우시안 모델에서 발생할 확률입니다. 모든 가우시안 분포에 대해 가중치 πj와 확률 밀도 함수 N(xn∣μj,Σj)의 합입니다.
예제
예를 들어, 데이터 포인트 xn가 있고, 두 개의 가우시안 분포 (K=2)를 가진 혼합 모델이 있다고 가정해 봅시다. 각 가우시안 분포의 파라미터가 다음과 같다고 합시다:
π1=0.4, μ1=0, Σ1=1
π2=0.6, μ2=3, Σ2=1
데이터 포인트 xn=2일 때, 각 가우시안 분포에서의 확률 밀도 함수를 계산하면: [N(2∣0,1)=2π1exp(−21(2−0)2)≈0.054] [N(2∣3,1)=2π1exp(−21(2−3)2)≈0.242]
각 가우시안 분포에서의 책임도는: [γ(zn1)=0.4×0.054+0.6×0.2420.4×0.054≈0.081] [γ(zn2)=0.4×0.054+0.6×0.2420.6×0.242≈0.919]
따라서, xn=2가 첫 번째 가우시안 분포에 속할 책임도는 0.081, 두 번째 가우시안 분포에 속할 책임도는 0.919입니다.
이와 같이, E 단계에서는 각 데이터 포인트가 각 가우시안 분포에 속할 확률(책임도)을 계산하여 이후 M 단계에서 사용할 수 있도록 합니다.