반응형
군집화(Clustering)
군집화(Clustering)은 특정 데이터를 임의의 k개의 군집(Cluster)으로 나누는 방법이다. 분류와 달리 사람이 먼저 label을 달 필요가 없이, 개수만 정해 주면 알고리즘이 알아서 비슷한 데이터끼리 k개의 군집으로 모아 준다.
(1) K-Means Clustering
임의로 데이터를 k개 부분집합으로 나눈다. (여기서 K를 알고 있어야 한다)
- 각 object에 대해 k개의 중심 object와의 거리를 구하고 그 중 가장 유사한 중심 object의 클러스터에 속하게 한다.
- 클러스터의 중심점을 다시 계산한다.
- 더 이상 클러스터 간 변화가 없을 때까지 반복한다.
Elbow Method (K-Means Clustering with unknown K)
- 클러스터의 수를 늘려가면서 클러스터링 결과를 확인한다.
- 클러스터의 개수가 한 개 늘어났을 때, 이전 결과보다 아주 좋아지지 않는다면 멈춘다. (Elbow point)
- 이 때의 Elbow point값을 K로 한다. (판단 기준을 정해야 한다.)
Elbow point 판단 기준
Davies-Bouldin Index
- 두 클러스터 내부의 모든 데이터와 중심점 간의 거리를, 클러스터 중심점 간의 거리로 나눔.
- 클러스터 내 유사도가 높고 클러스터 간 유사도가 낮아야 DB값이 낮다.
Dunn Index
- 클러스터 간 최소 거리와 클러스터 내 최대 거리의 비율.
- 클러스터 내 유사도가 높고 클러스터 간 유사도가 낮아야 D값이 크다.
Silhouette
- 데이터와, 데이터가 속한 클러스터(a)와 그 이웃 클러스터(b) 간의 평균 거리(s)를 구해 데이터가 올바른 클러스터에 있는지 판정한다.
- -1 ~ 1 사이의 결과가 나오는데 1에 가까울 수록 올바른 클러스터에 분류된 것, -1에 가까울 수록 잘못된 클러스터에 분류된 것이다.
within-cluster sum of squares
- 클러스터의 중심점과 클러스터 내부의 점과의 거리의 합.
- scikit-learn의 Cluster 모듈 Kmeans가 멤버로 가지고 있다 (Kmeans.inertia_)
반응형
'인공지능 시작하기 > Machine Learning 이해하기' 카테고리의 다른 글
게임에서의 강화학습 (0) | 2020.04.12 |
---|---|
Classification (0) | 2020.04.12 |
Regression (0) | 2020.04.12 |