Unsupervised Learning - Clustering ( KMeans, Hierarchical, DBSCAN)
Clustering
데이터의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하는 방법으로 이전 Classification 과는 다르게 label (정답)이 존재하지 않는 데이터로 결과를 산출한다.
Types of Clustering
1. K Means Clustering
K 개의 군집을 사용자가 미리 설정하고 각 데이터 포인트에 대하여 가장 가까운 중심점을 찾고, 그 중심점에 해당하는 군집을 할당한다. 할당된 군집을 기반으로 새로운 중심을 계산하는데 이 때 각 군집의 할당에 변화가 없으면 종료한다.
중심점 : 군집 내부의 좌표의 평균(Mean)
최적의 K를 찾아가는 과정 ?
Elbow method : 군집간 분산과 전체 분산의 비율로 추정한다. 비율의 한계 비용 (Margin Cost) 이 줄어드는 지점의 최적의 클러스터 갯수
Silhouette Method (PDF 참조)
Extra) K - Medoids clustering
K Means 에서 중심점을 Mean 이 아닌 Median 으로 설정한 것이 차이점이고 이것으로 이상치(Outlier) 에 K-Means 보다 덜 민감하다.
2. Hierarchical Clustering
개체들을 가까운 집단으로 부터 순차적 / 계층적으로 차근차근 묶어가는 방식. 사전의 K의 설정이 필요하지 않다. / dendogram 시각화 가능
유사도 행렬을 이용하여 거리에 따른 순차적 군집화 (이때, Cluster 간 거리에 대한 기준 Min, Max, Ward's method 등은 PDF 를 참조하길 바란다.)
3. DBSCAN (Density - based Spatial clustering of Applications with Noise)
Eps-neighbors 와 MinPts 사용하여 군집을 생성
Eps-neighbors : 한 데이터를 중심으로 epsilon 거리 이내의 데이터들을 하나의 cluster로 구성
MinPts : 하나의 cluster 는 MinPts 보다 많거나 같은 수의 데이터로 구성된다. 만약 MinPts 보다 적은 수의 데이터가 eps-neighbors 형성하면 노이즈로 취급한다.
Clustering 이외에도 Outlier detection 의 분야에서도 사용된다. 이런 이유로 곧 있을 Resampling 과정에서도 사용된다...