Stats & AI tech blog - '일단 시도함'

[ML/DL] K-Means Clustering 본문

Statistics & AI/Segmentation & Clustering

[ML/DL] K-Means Clustering

justdoit ok? 2024. 2. 26. 14:19

1. K-Means 알고리즘이란?

비지도학습에 속하는 머신러닝 기법으로 데이터를 유사한 특성을 가진 K개의 군집(Cluster)으로 묶는 알고리즘이다.

 

K개의 점과의 거리를 기반으로 구현된다는 면에서 K-NN 알고리즘과 유사하지만,

K-NN은 지도학습 방법으로 Classification 알고리즘이고,

K-Means는 비지도학습 방법으로 Clustering 알고리즘이다.

 

비지도학습인 Clustering은 정답이 되는 변수가 없기 때문에 분류와 달리 모델 예측 성능을 평가하기 보다

이런 식으로 군집화 될 수 있구나 정도만을 파악할 수 있다.

 

 

 

2. K-Means 알고리즘 절차

 

1. 군집 개수 (K) 설정 > 2. 초기 중심점 설정 > 3. 데이터를 군집에 할당 > (4. 중심점 재설정 > 5. 군집에 재할당)

 중심의 위치가 변하지 않을 때까지 4-5 반복

 

  1. 군집의 개수 (K) 설정
    : 사람이 판단해야하며 군집의 개수에 따라 결과가 크게 달라질 수 있다 (K-Means의 한계점)
    아래와 같은 방법론을 참고하여 결정할 수 있다.

     - Rule of thumb
     - Elbow Method
     - 정보 기준 접근법 (Information Criterion Approach)


  2. 초기 중심점 설정
     : K개의 초기 중심점을 설정해야한다. 마찬가지로 초기 중심점에 따라 성능이 크게 달라질 수 있고,
    아래 방법론을 참고하여 결정할 수 있다.

     - Randomly select
     - Manually assign
     - K-means++


  3. 데이터를 군집에 할당
     : 거리 상 가장 가까운 초기중심점의 군집으로 데이터를 할당한다.


  4. 중심점 재설정
     :  군집 배정이 끝나면 중심점을 해당 군집의 가장 중간에 위치한 지점으로 재설정한다.


  5. 데이터를 군집에 재할당
     : 중심점 이동이 없을 때까지, 군집 재할당 - 중심점 재설정 과정을 반복한다.

 

 

* R예제는 아래 게시물 참고!

2024.02.26 - [R] - [R] K-Means Clustering

 

[R] K-Means Clustering

K-Means Clustering * 개념 설명은 아래 게시글 참고 2024.02.26 - [Machine Learning/Clustering] - [머신러닝] K-Means Clustering [머신러닝] K-Means Clustering K-Means Clustering 1) K-Means 알고리즘이란? 비지도학습에 속하는

meowstudylog.tistory.com