Dev/Machine Learning

머신러닝 - 군집화

healthyryu 2018. 5. 7. 15:29

머신러닝(Machine Learning)


군집화 : 비슷한 데이터를 한데 모으는 방법

비슷한 데이터란 유사도가 높다라는 의미이고, 데이터를 이루는 피처값이 비슷하다라는 의미.


군집화는 크게 3가지로 나눌 수 있다.

1. 중심 기반 군집화 (Prototype-based Clustering)

2. 계층적 군집화 (Hierarchical Clustering)

3. 밀도 기반 군집화 (Density-based Clustering)



K-중신 군집화 : 중심 기반 군집화의 대표적인 예이다.

중심 기반 군집화 는 클러스터 중심점을 정한 후 클러스터 중심점에 가까운 데이터들을 모아가며 클러스터를 확장하는 방법. 군집화 초기에는 몇 개의 중심점을 어떻게 배치하는가가 중요하다.

초기에 k 개의 중심점을 랜던으로 선택하여 군집화한다.



계층적 군집화

: 계층은 클러스터의 계층을 의미한다. 

- 최상위 계층의 클러스터는 모든 데이터를 포함하는 하나의 클러스터 생성.
- 최하위 계층의 클러스터는 단 하나의 데이터만을 포함한다. 데이터의 수만큼 클러스터가 생성.

특징은 클러스터 수를 지정할 필요가 없고, 늘 한쌍의 클러스만 비교한다는 점이다.


계층적 군집화에는 집괴적 군집화(상향식)와 분할적 군집화(하향식)가 있다.

집괴적 군집화에서의 데이터의 유사도 측정 방식은 3가지가 있다.

1. 단일 연결법 : 두 클러스터에 속하는 데이터들의 거리 중에 가장 짧은 거리를 클러스터 사이의 거리로 간주.
2. 완전 연결법 : 두 클러스터에 속하는 데이터들의 거리 중에 가장 먼 거리를 클러스터 사이의 거리로 간주.
3. 평균 연결법 : 두 클러스터에 속하는 데이터들의 거리 평균을 클러스터 사이의 거리로 간주. 시간이 걸린다는걸 참고.



밀도 기반 군집화 : 데이터의 밀도가 높아지는 방향으로 데이터를 군집화

1. 평균이동 군집화
2. DBSCAN(디비스캔) : 노이즈를 가지는 애플리케이션의 밀도 기반 공간 군집화.



유사도 계산

모든 군집화를 진행할때, 유사도를 측정하는 대표적인 척도는 거리이다.

1. 민코스키 거리 : 벡터 공간 안의 두 점 사이의 거리

2. 마할라노비스 거리 : 점들의 분포를 고려한 거리


민코스키 거리


마할라노비스 거리 : 두 점 사이의 거리를 계산할 때 데이터의 분포를 고려하는 거리

마할라노비스 거리에서 단위가 다른 두 좌표축에서 점 사이의 거리를 측정하기 위해서는 공분산을 고려하게는 좋다.

공분산은 두 변수가 얼마나 연관성이 있는지 나타내는 값이고, 공분산을 고려한다는 것은 X 값의 증감과 Y 값의 증감 관계를 거리 계산에 넣는다는 것.


반응형