티스토리 뷰

평균 이동(Mean Shift)은 K-평균과 유사하게 중심을 군집의 중심으로 지속적으로 움직이면서 군집화를 수행합니다. 하지만 K-평균이 소속된 데이터의 평균 거리 중심으로 중심을 이동시키는 데 반해, 평균 이동은 데이터가 모여있는 밀도가 가장 높은 곳으로 중심을 이동시킵니다.

 

 

 

평균 이동 군집화는 데이터의 분포도를 기반으로 군집의 중심점을 찾습니다. 정확히는, 확률 밀도 함수가 피크(peak)인 지점을 군집의 중심점으로 설정합니다. 일반적으로 주어진 모델의 확률 밀도 함수를 찾기 위해서 KDE(Kernel Density Estimation)를 이용합니다.

 

 

 

 

 

 

 

 

 

KDE는 커널(kernel) 함수를 통해 어떤 변수의 확률 밀도 함수를 추정하는 대표적인 방법입니다. 관측된 데이터 각각에 커널 함수를 적용한 값을 모두 더한 뒤 데이터 건수로 나눠 확률 밀도 함수를 추정합니다. 대표적인 커널 함수로서 가우시안 분포 함수가 사용됩니다.

 

 

 

 

 

 

 

 

 

개별 관측 데이터에 커널 함수를 적용한 뒤, 이 값을 모두 더한 후 개별 관측 데이터의 건수로 나눠 확률 밀도 함수를 추정하는 것을 나타낸 그림입니다.

 

 

 

 

 

 

 

 

KDE는 위와 같은 커널 함수식으로 표현됩니다. $K$는 커널 함수, $x$는 확률 변수 값, $x_{i}$는 관측값, $h$는 대역폭(bandwidth)입니다. 대역폭은 KDE의 형태를 부드러운(도는 뾰족한) 형태로 평활화(smoothing)하는 데 적용되며, 이 값을 어떻게 설정하느냐에 따라 확률 밀도 함수의 추정 성능이 크게 좌우됩니다.

 

 

 

 

 

 

 

 

 

대역폭을 작게 설정할 경우 뾰족한 분포를 가진 KDE를 가지게 되며, 이는 변동성이 큰 방식으로 확률 밀도 함수를 추정하므로 과적합하기 쉽습니다. 반대로 매우 큰 대역폭은 과도하게 평활화 된 KDE를 생성하여 지나치게 단순화된 방식으로 확률 밀도 함수를 추정하며, 결과적으로 과소적합하기 쉽습니다. 따라서 적절한 KDE의 적절한 대역폭 값 설정은 KDE 기반의 평균 이동 군집화에서 매우 중요합니다.

 

 

 

 

 

 

 

일반적으로 대역폭이 큰 KDE로 평균 이동 군집화를 수행하면 적은 수의 군집 중심점을 가지며, 대역폭이 작을수록 많은 수의 군집 중심점을 가집니다. 즉, 평균 이동 군집화의 경우 군집의 개수를 미리 지정하는 것이 아니며, 오직 대역폭의 크기에 따라 군집의 개수가 정해집니다.

 

 

 

사이킷런은 MeanShift 클래스를 통해 평균 이동 군집화를 제공합니다. MeanShift의 가장 중요한 초기화 파라미터는 bandwidth이며, KDE의 대역폭을 뜻합니다. 또한 사이킷런은 최적의 대역폭 값을 제공하기 위한 estimate_bandwitdh() 메서드를 제공합니다.

 

 

 

 

 

 

 

make_blobs()의 cluster_std를 0.7로 정한 3개의 군집 데이터에 대해, 대역폭을 0.8로 설정한 평균 이동 군집화 알고리즘을 적용해봅시다. 군집화 결과, 데이터는 총 6개의 군집으로 분류되었습니다. 

 

 

 

 

 

 

 

이번에는 estimate_bandwitdh() 메서드가 계산한 최적의 대역폭 값을 기반으로 평균 이동 군집화를 수행해봅시다. 데이터는 총 3개의 군집으로 군집화된 것을 확인할 수 있습니다. 평균 이동 군집화도 K-평균과 유사하게 중심을 가지므로, cluster_centers_ 속성으로 군집 중심 좌표를 알 수 있습니다.

 

 

 

 

 

 

 

실제 군집의 타깃값과 평균 이동 군집화의 결과 label을 비교해보니, 모든 데이터가 1:1로 완벽하게 군집화된 것을 확인할 수 있습니다.

 

 

 

 

 

 

평균 이동 군집화는 데이터 세트의 형태를 특정 형태로 가정한다든가, 특정 분포도 기반의 모델로 가정하지 않기 때문에 더 유연한 군집화를 수행할 수 있습니다. 또한 이상치의 영향력도 크지 않으며 군집의 개수도 미리 정할 필요가 없다는 장점이 있습니다.

 

 

 

하지만 알고리즘의 수행 시간이 오래 걸리고, 무엇보다도 KDE의 대역폭 크기에 따른 군집화 영향도가 매우 큽니다. 이와 같은 특징 때문에 평균 이동 군집화 기법은 분석 업무 기반의 데이터 보다는 컴퓨터 비전 영역에서 더 많이 사용됩니다. 이미지나 영상 데이터에서 특정 개체를 구분하거나 움직임을 추적하는 데 뛰어난 역할을 수행합니다.

 

 

 

 

 

 

 

 

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31