/ EXITEM, TIL

KMeanscluster

K-Means 군집화

  • 비지도 학습의 일종으로, 데이터를 여러 그룹으로 나누는 클러스터링 알고리즘 중 하나입니다.
  • 데이터 마이닝패턴 인식 분야에서 널리 사용되는 클러스터링 알고리즘 중 하나입니다.
  • 데이터 분석, 이미지 처리, 자연어 처리, 이상치 탐지 등 다양한 분야에서 사용됩니다.

알고리즘

  • 입력된 데이터의 유사성을 기반으로 클러스터를 생성합니다.
  • 데이터들 간의 유사성은 거리 측정을 통해 계산됩니다.

단계

  1. 초기화 단계
    • 클러스터링을 위해 데이터 포인트들 중에서 K개의 초기 중심점(centroid)을 랜덤하게 선택합니다.
  2. 할당 단계
    • 각 데이터 포인트들은 초기 중심점 중에서 가장 가까운 중심점에 할당됩니다.
    • 이렇게 할당된 데이터 포인트들을 하나의 클러스터로 묶습니다.
  3. 갱신 단계
    • 클러스터링된 데이터 포인트들의 중심점을 새롭게 계산합니다.
    • 이렇게 갱신된 중심점들을 바탕으로 새로운 클러스터를 생성합니다.
  4. 반복
    • 2,3단계를 반복 수행하면서 클러스터링을 수행합니다.
    • 더 이상 중심점이 변하지 않을 때까지 수행됩니다.

주의

  • 데이터를 K개의 클러스터로 묶는데, K는 사용자가 지정해야 합니다.
    • 적절한 K값을 찾기 위해서는 여러 가지 방법을 사용할 수 있습니다.
    • 예를 들어, elbow method를 사용하여 적정한 K값을 찾을 수 있습니다.
      • elbow method 는 클러스터 수 K를 변화시켰을 때, 왜곡 점수가 급격하게 줄어드는 지점을 찾는 방법입니다.
      • 한계는 데이터가 고르게 분포되어 있다면 왜곡 점수의 변화가 작으므로 이용하기 힘들다.
  • 간단하고 빠른 알고리즘을 널리 사용되고 있습니다.
    • 그러나 클러스터링 결과는 초기 중심점의 랜덤한 선택에 따라 영향을 받을 수 있기 때문에, 여러 번 실행하여 결과를 평균내는 등의 방법으로 결과를 개선할 수 있습니다.