-
ClusteringAI/Machine Learning 2025. 2. 17. 16:50
출처 - 위키피디아 K-Means
K-Means 클러스터링은 기존 Hierachical methods 시간이나 비용이 많이 든다는 문제를 해결하고자 등장했다. K-means 에서 K는 클러스터의 갯수를 의미한다
- 목표: 주어진 데이터를 K개의 그룹으로 나누어 각 그룹이 서로 유사한 특성을 가지도록 함.
- 입력: 데이터 포인트들의 집합과 원하는 클러스터 개수 K.
- 출력: 각 데이터가 속한 클러스터와 각 클러스터의 중심점(centroid).
Pros
- Easy to understnad, implement, and operate
- Always converges → 항상 수렴한다.
Cons
- Local optimum 에 수렴할 수 있음.
- Sensitive to initialization → Local optimum 에 빠질 수 있기에.
- Sensitive to outliers
K-Means 알고리즘 동작 과정
- 먼저 클러스터의 갯수(k) 를 정하고, 랜덤으로 K개의 포인트를 할당한다.
- 각 데이터 포인트를 가장 가까운 centroid(클러스터들의 중심)에 할당한다.
- 새로운 centroid(클러스터들의 중심)를 계산하여 업데이트 한다.
- 1,2 과정을 반복하며 centroid(클러스터들의 중심)가 변하지 않는 상태에 도달하면 알고리즘을 종료한다.
- 주로 Max iteration을 설정하여 무한 루프 방지
이러한 K-means 클러스터링은 Euclidean distance 를 이용하여 centroid 를 정하는데, 각 데이터별 스케일이 다를 경우 문제가 생긴다. 따라서 Means-std notmalizaiton(standardization), Min-max (scaling)을 이용하여 해결한다.
Silhouette Coefficient
실루엣 스코어는 클러스터링(clustering) 결과의 품질을 평가하는 지표로, 각 데이터 포인트가 얼마나 적절한 cluster 에 속해 있는지를 측정하는 값
1. 최적의 클러스터 개수(K) 결정할 때
- K-Means, DBSCAN, Hierarchical Clustering과 같은 클러스터링 알고리즘을 사용할 때, 적절한 K(클러스터 개수)를 선택하는 것이 중요
- 실루엣 스코어를 여러 K 값에 대해 계산한 후, 가장 높은 실루엣 스코어를 가지는 K를 선택하면 최적의 K를 찾을 수 있다.
2. 클러스터링 결과의 품질 평가
- 특정 클러스터링 방법(K-Means, DBSCAN 등)이 데이터를 잘 군집화했는지 평가할 때 사용
- 실루엣 스코어가 1에 가까울수록 좋은 군집화를 의미하고, 0에 가까우면 군집이 잘 구분되지 않음을 의미
- 음수(-)이면 잘못된 군집화, 즉 어떤 데이터가 올바른 클러스터가 아닌 다른 클러스터에 더 가까움을 뜻함.
K-Means의 응용 분야
- 이미지 분할(Image Segmentation)
- 추천 시스템(Recommendation Systems)
- 이상 탐지(Anomaly Detection)
'AI > Machine Learning' 카테고리의 다른 글
Logistic Regrssion (0) 2025.02.17 Linear Regression Part 1 (0) 2025.02.17 Density Estimation (0) 2025.02.17 Machine Learning math background part 2 (0) 2025.02.13 Machine Learning math background (0) 2025.02.13