Mean Shift #
Mean Shift는 비모수적(non-parametric) 밀도 기반 클러스터링 알고리즘으로, 데이터의 확률 밀도 함수의 모드(mode)를 찾아 클러스터를 형성한다. 각 데이터 포인트를 확률 밀도가 가장 높은 지점으로 이동시켜 클러스터의 중심을 찾는다.
주요 개념 #
- 커널 밀도 추정: 각 데이터 포인트 주변의 확률 밀도를 추정한다.
- 그래디언트 상승: 밀도 함수의 그래디언트 방향으로 데이터 포인트를 이동시킨다.
- 모드 탐색: 확률 밀도 함수의 극값(모드)을 찾아 클러스터 중심으로 설정한다.
알고리즘 단계 #
- 각 데이터 포인트에서 시작한다.
- 주변 윈도우 내의 데이터 포인트들의 평균을 계산한다.
- 현재 포인트를 계산된 평균 위치로 이동시킨다.
- 수렴할 때까지 2-3단계를 반복한다.
- 같은 모드로 수렴하는 포인트들을 하나의 클러스터로 그룹화한다.
장점과 단점 #
-
장점
- 클러스터의 수를 미리 지정할 필요가 없다.
- 임의의 형태의 클러스터를 찾을 수 있다.
- 이상치에 비교적 강건하다.
- 수학적으로 잘 정립된 이론적 기반을 가진다.
-
단점
- 윈도우 크기(bandwidth) 매개변수에 민감하다.
- 고차원 데이터에서 성능이 저하될 수 있다.
- 계산 비용이 높을 수 있다.
Mean Shift는 컴퓨터 비전, 이미지 분할, 객체 추적 등의 분야에서 널리 사용되는 효과적인 클러스터링 알고리즘이다.