Mean Shift

Mean Shift #

Mean Shift는 비모수적(non-parametric) 밀도 기반 클러스터링 알고리즘으로, 데이터의 확률 밀도 함수의 모드(mode)를 찾아 클러스터를 형성한다. 각 데이터 포인트를 확률 밀도가 가장 높은 지점으로 이동시켜 클러스터의 중심을 찾는다.

주요 개념 #

  • 커널 밀도 추정: 각 데이터 포인트 주변의 확률 밀도를 추정한다.
  • 그래디언트 상승: 밀도 함수의 그래디언트 방향으로 데이터 포인트를 이동시킨다.
  • 모드 탐색: 확률 밀도 함수의 극값(모드)을 찾아 클러스터 중심으로 설정한다.

알고리즘 단계 #

  1. 각 데이터 포인트에서 시작한다.
  2. 주변 윈도우 내의 데이터 포인트들의 평균을 계산한다.
  3. 현재 포인트를 계산된 평균 위치로 이동시킨다.
  4. 수렴할 때까지 2-3단계를 반복한다.
  5. 같은 모드로 수렴하는 포인트들을 하나의 클러스터로 그룹화한다.

장점과 단점 #

  • 장점

    • 클러스터의 수를 미리 지정할 필요가 없다.
    • 임의의 형태의 클러스터를 찾을 수 있다.
    • 이상치에 비교적 강건하다.
    • 수학적으로 잘 정립된 이론적 기반을 가진다.
  • 단점

    • 윈도우 크기(bandwidth) 매개변수에 민감하다.
    • 고차원 데이터에서 성능이 저하될 수 있다.
    • 계산 비용이 높을 수 있다.

Mean Shift는 컴퓨터 비전, 이미지 분할, 객체 추적 등의 분야에서 널리 사용되는 효과적인 클러스터링 알고리즘이다.