K Mean Clustering 은 입력샘플을 K 개의 집단으로 군집화 하는 알고리즘 이다.
임의의 시작점을 k 개 만큼 정하고 입력샘플 각각을 시작점과 비교하여
가장 가까운 점에 소속 시킨다.
입력 샘플이 모두 특점 집단에 소속 되였으면 각 소속에 해당하는 점들의 중심점을
구한다.
이렇게 구한 중심점을 기준으로 다시 입력샘플과의 거리를 비교, 가장 가까운
중심점에 다시 소속시킨다.
이렇게 반복하다 더이상 입력집단이 속한 소속이 변하지 않으면
그때의 그룹들을 k개의 집단으로 군집화 되었다고 한다.
이려한 반복과정은 반드시 수렴하므로 무한루프에 빠질염려는 하지 않아도 되나
전역 최적해 가 아닌 지역 최적 해에 빠질 가능성이 있기때문에
항상 유의해야 한다.
========================================================================
테스트 프로그램.
임의의 입력점을 생성.
입력받은 k 개만큼의 군집으로 군집화 한 결과.
중심점 으로 맞추기 귀찮아서 그냥 사각형의 왼쪽상단의 점으로 묶어버렸다..
코드 몇줄 차인데 보기 아름답진 않군..
'전공관련 > Algorithm' 카테고리의 다른 글
배경 근사화를 이용한 조명 제거 및 이진화 (0) | 2016.05.17 |
---|---|
Bagging vs Boosting 비슷한듯 비슷하지 않은 개념. (3) | 2014.12.24 |
Local Patch Descriptor - Ferns Feature (0) | 2014.11.20 |
주성분분석 ( Principal Component Analysis ) - PCA (0) | 2014.09.17 |
Hidden Markov Model ( HMM ) (0) | 2013.08.06 |