관리 메뉴

Hee'World

군집 기법 본문

BigData/Mahout

군집 기법

Jonghee Jeon 2013. 11. 25. 22:26

독점 군집(Exclusive clustering)

  독점 군집에서는 아이템이 여러개가 아닌 하나의 군집에 독점적으로 속한다고 본다. 해리포터 같은 책은 단순하게 소설책이라는 군집에 할당할 수도 있을 것이다. 그러면 해리포터는 독점적으로 소설의 군집에만 속할 것이다. K-평균이 이런 독점 군집 부류에 속한다고 할 수 있다. 따라서 독점적인 군집이 필요한 군집 문제에서는 보통 K-평균 기법을 사용한다.


중복 군집(Overlapping clustering)

  아이템이 여러 개의 군집에 속할 수 있는 비독점 군집이 필요하다면 어떻게 해야 할까? 예를 들어 해리포터를 소설뿐만 아니라 판타지 아래의 청소년 군집에도 할당해야 한다는 의미이다. 퍼지 K_평균 같은 중복 군집 알고리즘을 사용하면 이런 처리를 할 수 있다. 게다가 퍼지 K-평균은 사물이 군집에 속하는 정도를 등급으로 나타낸다. 해리포터를 청소년 군집보다는 판타지 군집으로 판단할지도 모른다.


계층 군집(Hierarchical clustering)

  이제 한 권은 판타지이고 나머지 한 권은 우주여행인 두 개의 군집이 있는 상황을 가정해보자. 해리포터는 판타지 책이라는 군집에 속하지만, 소설의 두 개의 하위 군집인 우주여행과 판타지로 시각화해 표현할 수 있다. 


확률 군집(Probabilistic clustering)

  보통 확률 모델은 n-차원 평면 상의 점들의 모양새나 분포유형을 말한다. 알고 있는 데이터 패턴에 맞는 다양한 확률 모델이 있다. 확률 군집 알고리즘으로 데이터 셋을 확률 모델에 맞추고, 데이터에 정확하게 맞도록 확률 모델의 파라미터를 조정한다. 

  사실 정확하게 맞는 경우는 드물다. 대신에 매칭 퍼센트 값이나 확률값으로 얼마나 모델이 군집에 적합한지를 알고리즘들을 검증해볼 수있다.




퍼지 K-평균 군집

  K-평군 군집 알고리즘은 퍼지 형태의 K-평균 군집이다. 퍼지 K-평균은 K-평균 같은 독점 군집이 아니라 데이터 셋의 중복 군집을 생성하는 알고리즘이다. 이 알고리즘은 학계에서는 퍼지 C-평균 알고리즘으로도 알려져 있다. K_평균 군집의 확장으로 생각하면 된다.

  K-평균이 하드군집(각 점들이 하나의 군집에 속한다)을 찾는 반면에, 퍼지 K-평균은 소프트 군집을 찾는다. 소프트 군집에서는 어떤 점이라도 각 군집과의 유사성으로 하나 이상의 군집에 속할 수 있다. 이러한 유사성은 점에서 군집의 센트로이드까지의 거리에 비례한다. K-평균과 비슷하게, 퍼지 K-평균은 n 차원의 벡터 공간에 표현된 사물에 동작하며 거리 측정법을 정의해서 사용한다.

  머하웃에서 퍼지 K-평균 군집은 FuzzyKmeansCluster와 FuzzyKmeansDriver 클래스를 사용해서 퍼지 K-평균 알고리즘을 실행할 수 있다. FuzzyKmeansCluster 클래스는 인메모리 구현이고, FuzzyKmeansDriver 클래스는 맵리듀스를 사용하는 구현체이다.



디리클레 군집

  머하웃에서는 모델 기반 군집 알고리즘으로 디리클레 군집을 사용할 수 있다. 디리클레 군집은 디리클레 분포에 기반해 계산을 하는 혼합 모델링이라는 것을 수행한다.

 전체 프로세스는 디리클레 분포에 대한 깊은 이해가 없으면 복잡하게 보일 수도 있지만 아이디어는 단순하다. 데이터 점들이 한 영역에 원형으로 집중되어 잘 분포된 것을 알고 있고 이런 분포를 설명할 모델도 가지고 있다고 하자. 벡터를 확인하고 이런 데이터에 적합하도록 확률 모델을 계산하면 데이터의 모델 적합성 여부를 테스트할 수 있다.


이런 접근법은 원형 모델로 점들이 집중되어 있는 경우에는 어느 정도는 신뢰성을 가진다고 볼 수 있다. 또한 데이터가 삼각형으로 매칭할 확률은 적기 때문에, 영역이 다른 모델인 삼각형 같지는 않다고 말할 수 있다. 적합한 모델을 찾을 수 있다면 데이터의 구조를 알 수 있다.


  디리클레 군집은 머하웃이 제공하는 베이지안 군집 알고리즘이라고 볼 수 있다. 즉 알고리즘에서 데이터에 대해 한 가지 설명만 하는 게 아니라 더 많은 설명을 한다는 의미이다. 

예를 들어, '영역 A는 원 같고 영역 B는 삼각형 같다. 두 영역 A와 B는 다각형 같다.'처럼 말할 수 있다.


'BigData > Mahout' 카테고리의 다른 글

[군집]K-평균 알고리즘  (0) 2013.11.24
머하웃 벡터  (0) 2013.11.23
익명 사용자에게 추천하기  (0) 2013.11.19
머하웃 추천기법  (0) 2013.11.17
[Mahout 완벽가이드] grouplens 실습자료..  (0) 2013.11.06
Comments