인공지능/Machine Learning

[ML] 가우시안 혼합 모델(Gaussian Mixture Models)을 이용한 분류 실험 (1)

이준언 2024. 10. 12. 17:43

오늘은 가우시안 혼합 모델(GMM)을 사용해서 분류 문제를 해결하는 실습을 해보도록 하겠습니다.

 

오늘 실습에서 활용할 주요 개념들에 대해 먼저 정리해보겠습니다.

 

* 개념 정리

1. 가우시안 분포 (Gaussian Distribution)

가우시안 분포는 정규 분포를 뜻합니다. 평균(μ)과 분산(σ²)에 의해 정의되는 종 모양의 분포입니다.

1차원에서는 평균을 기준으로 좌우로 퍼지는 형태이지만, 다차원에서는 특정 중심을 기준으로 타원형으로 퍼지는 모양입니다.

 

2. 가우시안 혼합 모델 (Gaussian Mixture Models, GMM)

여러 가우시안 분포를 혼합하여 복잡한 분포를 근사시키기 위한 머신러닝 알고리즘. 

다음과 같이 수학적으로 정의할 수 있습니다.

 

P(x)=k=1KπkN(xμk,Σk)

 

여기서 P(x)는 데이터 가 주어졌을 때 해당 데이터가 가우시안 혼합 모델에 의해 생성될 확률, 

는 가우시안 분포의 개수,

πk는 각 가우시안 분포의 가중치(즉, 해당 가우시안이 선택될 확률),

N(x∣μk,Σk)는 평균 μk와 공분산 행렬 Σk를 갖는 가우시안 분포입니다.

 

3. 최대 우도 알고리즘 (Expectation Maximization Algorithm, EM)

최대 우도 알고리즘은 최대 우도 측정 문제(Maximum Likelihood Estimation)를 해결하기 위한 방법.

특히 숨겨진 변수가 있는 상황에서 모델의 파라미터를 추정하는 데 사용. GMM과 같은 확률적 모델에서는 각 데이터 포인트가 어떤 분포에서 생성되었는지 모르는 상황에서 EM 알고리즘을 통해 해당 분포의 파라미터를 추정.

 

E-step (기대 단계): 현재 추저된 파라미터를 사용하여 숨겨진 변수의 기대값을 계산합니다. 이 단계에서는 데이터가 어떤 군집 또는 분포에서 나왔는지 그 가능성을 추정합니다.

M-step (최대화 단계): E-step에서 계산된 숨겨진 변수의 기대값을 기반으로 모델의 파라미터를 최적화합니다. 현재 주어진 정보를 바탕으로 모델의 파라미터를 업데이트 합니다. 

 

이 두 단계를 반복하여 파라미터를 계속 개선해나갑니다. 

 

GMM에서는 각 데이터 포인트가 어떤 가우시안 분포에서 생성되었는지 알지 못하기 때문에 EM 알고리즘을 사용해 이를 추정해나는 것입니다.

 

4. K-fold 교차검증 (K-fold Cross validation)

K-fold 교차검증은 머신러닝에서 모델의 성능을 평가하는 데 사용되는 방법 중 하나입니다.

데이터를 K개로 나누어 각각을 훈련과 검증에 사용함으로써 모델의 일반적인 성능을 더욱 정확하게 평가할 수 있습니다.