본문 바로가기

Study/머신러닝/딥러닝

EM Algorithm과 k-means Clustering

Gaussian Mixture관련 논문을 읽는데 자꾸 EM Algorithm이 언급되는데, 검색해 보면 전문용어(ㅋㅋ)나 수식으로 서술해 놓은 글만 잔뜩 나와서

나같이 머신러닝에 대한 기초적 지식이 없는 사람은 도저히 못읽겠다 싶다. 그래서 내가 이해한대로 간단하게 적어보고자 한다.

 

EM은 Expectation and Maximization의 약자로 k-means clustering에서 최적화를 하기 위해 반복해서 수행하는 알고리즘이라고 요약할 수 있다.

 

EM Algorithm을 이해하기 위해서는 k-means clustering에 대해 먼저 알아야 하는데,

k-means clustering은 unsupervised learing으로 데이터셋을 cluster라는 그룹으로 나누고 각 데이터가 어느 클러스터에 속하는지를 예측(assign)한다.

각 데이터는 가장 가까운 centroid에 assign 되는데, 이를 위해 수행하는 것이 바로 EM algorithm이다.

 

1. Expectation: 현재 클러스터의 중심(centroid)에 가장 가까운 데이터셋을 assign한다.

2. Maximization: assign한 데이터들의 평균으로 클러스터의 중심을 다시 계산한다.

 

EM을 반복 수행하다가 클러스터에 assign되는 데이터의 변화가 없을 때 k-means clustering이 종료된다.

 

 

Gaussian Mixture 논문을 이해해야 하니, 다음 글은 GMM에 대한 내용이 될것 같다.