Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

평균 이동 군집화 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 21:26

평균 이동 군집화

한국어 명칭

평균 이동 군집화

영문 명칭

Mean Shift Clustering

분류

군집 분석

알고리즘 유형

비모수 밀도 추정 기반

핵심 개념

커널 밀도 추정을 이용한 데이터 포인트의 밀도 기울기 상승 방향 이동

초기화 필요 여부

아니요 (초기 군집 중심점 지정 불필요)

군집 수 지정

자동 결정

알고리즘 상세

원리

각 데이터 포인트를 커널 함수 (예: 가우시안 커널)로 정의된 주변 영역의 데이터 포인트 평균 위치로 반복적으로 이동시켜, 최종적으로 밀도가 최대인 지점(모드)으로 수렴하게 함.

커널 함수

가우시안 커널, 에파네치니코프 커널 등

대역폭

커널의 영향 범위를 결정하는 가장 중요한 매개변수. 군집의 규모와 개수를 결정.

장점

군집의 모양과 개수를 자동으로 결정 가능, 이상치에 강건함, 수렴성이 보장됨.

단점

대역폭 선택에 민감, 계산 비용이 높음(특히 대용량 데이터), 군집 경계가 불분명할 수 있음.

응용 분야

이미지 분할, 컴퓨터 비전의 객체 추적, 공간 데이터 분석

관련 알고리즘

K-평균 군집화, DBSCAN, 커널 밀도 추정

변형 알고리즘

Blurring Mean Shift, Medoid Shift, 빠른 평균 이동(Fast Mean Shift)

1. 개요

평균 이동 군집화는 데이터 군집화 기법 중 하나로, 확률 밀도 함수의 국소 최댓값을 찾아 데이터 포인트를 군집으로 할당하는 비모수적 방법이다. 이 기법은 데이터 공간에서 각 점이 가장 가까운 밀도 기울기를 따라 이동하여 최종적으로 밀도가 가장 높은 지점, 즉 모드에 수렴하는 원리를 기반으로 한다.

알고리즘의 핵심은 각 데이터 포인트를 주변 커널 함수로 정의된 영역 내 데이터 포인트들의 평균 위치로 반복적으로 이동시키는 것이다. 이 과정에서 데이터 포인트들은 자연스럽게 밀도가 높은 영역으로 모이게 되며, 동일한 모드에 수렴하는 점들을 하나의 군집으로 판단한다. 따라서 군집의 개수를 사전에 지정할 필요가 없다는 장점을 가진다.

평균 이동 군집화는 1975년 푸켄에 의해 처음 제안되었으며, 이후 1990년대 후반 코미니치스와 메어에 의해 컴퓨터 비전 분야에 본격적으로 소개되며 주목받기 시작했다[1]. 이 기법은 특히 영상 분할과 객체 추적 같은 컴퓨터 비전 작업에서 널리 활용된다.

이 방법은 데이터의 형태나 분포에 대한 강한 가정을 요구하지 않으며, 임의의 모양을 가진 군집을 발견할 수 있다. 그러나 대역폭이라는 매개변수의 선택이 결과에 미치는 영향이 크며, 계산 비용이 상대적으로 높은 편이다.

2. 핵심 개념

평균 이동 군집화의 핵심은 확률 밀도 함수의 국소 최댓값, 즉 밀도 첨두를 찾아 데이터를 군집으로 할당하는 것이다. 이는 데이터 공간에서 확률 밀도가 가장 높은 곳으로 점들을 이동시키는 반복적인 과정을 통해 이루어진다. 이 기법은 데이터의 분포 형태를 사전에 가정하지 않는 비모수적 방법에 속하며, 군집의 개수를 미리 지정할 필요가 없다는 특징을 가진다.

알고리즘의 동작은 두 가지 핵심 요소에 기반한다. 첫 번째는 커널 함수와 대역폭이다. 커널 함수는 데이터 포인트 주변의 영향력을 결정하는 함수로, 일반적으로 가우시안 커널이나 에파네치니코프 커널이 사용된다. 대역폭은 이 커널 함수의 영향 범위를 결정하는 매개변수로, 군집화 결과의 세분화 정도를 통제한다. 대역폭이 크면 넓은 영역을 평활화하여 적은 수의 큰 군집을 형성하고, 작으면 많은 수의 작은 군집을 생성한다.

두 번째 핵심은 밀도 기울기 추정이다. 평균 이동 알고리즘은 각 데이터 점에서 커널 함수로 정의된 윈도우 내 데이터 포인트들의 평균 위치를 반복적으로 계산한다. 이 계산된 평균 위치와 현재 위치의 차이를 평균 이동 벡터라고 하며, 이 벡터의 방향은 확률 밀도 함수의 기울기, 즉 밀도가 가장 가파르게 증가하는 방향을 가리킨다. 따라서 점들은 이 벡터 방향으로 이동하게 되고, 결국 밀도 첨두에 수렴하게 된다.

2.1. 커널 함수와 대역폭

커널 함수는 데이터 공간에서 각 점의 영향력을 정의하는 비음수 함수이다. 이 함수는 점으로부터의 거리에 따라 가중치를 부여하며, 일반적으로 거리가 증가할수록 가중치는 감소한다. 대표적인 커널 함수로는 가우시안 커널, 에파네치니코프 커널, 직사각형 커널 등이 있다. 커널의 선택은 최종 군집의 형태와 경계에 영향을 미친다.

대역폭은 커널 함수의 영향 범위를 결정하는 핵심 매개변수이다. 이는 커널의 '폭'을 조절하며, 실질적으로 군집화의 세부 수준을 통제한다. 넓은 대역폭을 사용하면 커널의 영향 범위가 커져 적은 수의 크고 일반화된 군집이 형성되는 반면, 좁은 대역폭을 사용하면 많은 수의 작고 세분화된 군집이 생성된다. 따라서 대역폭 선택은 과소적합과 과대적합 사이의 균형을 잡는 문제가 된다.

커널 함수와 대역폭의 관계는 다음 표로 요약할 수 있다.

매개변수

역할

영향

커널 함수

거리에 따른 가중치 부여 방식 정의

군집 경계의 부드러움과 형태

대역폭 (h)

커널의 영향 반경 조절

군집의 수와 크기 (세분화 정도)

실제 알고리즘에서, 대역폭 h가 주어지면 점 x 주변의 커널 밀도 추정치는 주변 모든 점 x_i에 대해 K((x - x_i)/h) 형태의 커널 함수 값의 합으로 계산된다. 평균 이동 벡터는 이 밀도 함수의 기울기 방향을 따라 움직이도록 설계되어, 결국 밀도가 가장 높은 지점인 정상점으로 수렴하게 한다.

2.2. 밀도 기울기 추정

밀도 기울기 추정은 평균 이동 군집화 알고리즘의 수학적 기반을 제공하는 핵심 개념이다. 이는 주어진 데이터 공간에서 확률 밀도 함수의 기울기를 추정하여, 데이터 포인트들이 밀집된 지역, 즉 지역적 최대 밀도 지점을 찾아내는 과정을 의미한다. 알고리즘은 각 데이터 점을 시작점으로 하여, 추정된 밀도 기울기의 방향으로 점진적으로 이동시켜 최종적으로 수렴하는 지점을 군집의 중심으로 결정한다.

밀도 기울기 추정은 커널 밀도 추정을 통해 수행된다. 데이터 공간의 임의의 점 x에서의 확률 밀도 함수 f(x)는 주변 데이터 점들에 커널 함수를 적용하여 추정한다. 이때, 밀도 함수의 기울기 ∇f(x)는 밀도가 가장 가파르게 증가하는 방향을 가리킨다. 평균 이동 알고리즘은 이 기울기 방향을 따라 데이터 점을 이동시키는데, 실제 계산은 추정된 밀도 함수의 대수 기울기를 사용하여 단순화된다. 이는 결국 '평균 이동 벡터'라는 형태로 나타나며, 현재 위치 주변의 데이터 점들의 가중 평균 위치와 현재 위치의 차이로 계산된다.

용어

설명

확률 밀도 함수

데이터가 공간상에 분포하는 패턴을 연속적으로 나타내는 함수.

커널 밀도 추정

각 데이터 점에 커널 함수를 부과하여 전체적인 밀도 분포를 추정하는 비모수적 방법.

밀도 기울기 (∇f(x))

특정 점에서 밀도 함수 값이 가장 빠르게 증가하는 방향과 그 변화율을 나타내는 벡터.

평균 이동 벡터

현재 점 주변의 샘플들에 대한 가중 평균 위치에서 현재 점을 뺀 벡터. 이는 정규화된 밀도 기울기에 비례한다.

이 과정을 통해 각 데이터 점은 반복적으로 밀도 기울기 방향, 즉 평균 이동 벡터 방향으로 이동하게 되고, 결국 밀도 기울기가 0이 되는 지점, 즉 지역적 밀도 최대점에 도달하게 된다. 따라서 밀도 기울기 추정은 데이터의 자연스러운 군집 구조를 발견하기 위한 방향과 경로를 제공하는 내비게이션 역할을 한다고 볼 수 있다.

3. 알고리즘 동작 과정

평균 이동 군집화 알고리즘의 동작 과정은 크게 초기화, 반복적인 평균 이동 벡터 계산, 수렴 판단, 그리고 최종 군집 병합의 단계로 구성된다.

먼저, 모든 데이터 포인트는 군집 중심 후보점이 된다. 알고리즘은 각 후보점에 대해 독립적으로 다음 과정을 반복한다. 현재 점을 중심으로 커널 함수와 대역폭 파라미터로 정의된 지역(예: 반경 h 내부)에 속한 모든 이웃 데이터 포인트들을 식별한다. 이어서, 해당 지역 내 데이터 포인트들의 가중 평균 위치를 계산한다. 이때 가중치는 일반적으로 커널 함수 값에 의해 결정되며, 중심에서 멀어질수록 낮은 가중치를 부여받는다. 계산된 가중 평균 위치와 현재 중심 위치의 차이가 평균 이동 벡터가 된다.

단계

주요 동작

설명

초기화

후보점 선정

각 데이터 포인트를 시작 중심점으로 설정한다.

반복 계산

평균 이동 벡터 계산

현재 중심점 주변 대역폭 내 점들의 가중 평균을 구하고, 그 방향으로 중심점을 이동시킨다.

수렴 판단

이동 거리 확인

평균 이동 벡터의 크기가 미리 정한 임계값보다 작아지면 해당 경로의 탐색을 종료한다.

군집 병합

최종 중심점 통합

수렴이 끝난 후, 서로 매우 가까이 모인 최종 중심점들을 하나의 군집으로 병합한다.

알고리즘은 이 평균 이동 벡터의 방향으로 중심점을 업데이트하며, 벡터의 크기가 사전에 정의된 매우 작은 임계값(ε)보다 작아질 때까지 이 과정을 반복한다. 이 시점이 해당 경로의 수렴점이며, 데이터가 가장 밀집된 지역, 즉 확률 밀도 함수의 지역적 극대점에 도달했음을 의미한다. 모든 시작점에 대해 이 과정이 완료되면, 각 시작점이 어느 수렴점으로 이동했는지의 경로가 기록된다. 최종적으로, 동일한 수렴점을 향해 이동한 모든 데이터 포인트들을 하나의 군집으로 할당한다. 때로는 서로 다른 시작점이 미세하게 다른 위치에 수렴할 수 있으므로, 일정 거리 내에 있는 수렴점들을 병합하여 하나의 군집으로 통합하는 후처리 단계를 거치기도 한다.

3.1. 초기화 및 후보점 선정

평균 이동 군집화 알고리즘의 첫 단계는 데이터 공간에서 군집 중심이 될 가능성이 있는 후보점들을 선정하는 것이다. 이 과정은 알고리즘의 효율성과 최종 군집의 질에 직접적인 영향을 미친다.

가장 간단한 초기화 방법은 데이터셋의 모든 점을 후보점으로 사용하는 것이다. 각 데이터 포인트에서 알고리즘이 독립적으로 시작되어 밀도 기울기를 따라 이동한다. 이 방법은 계산 비용이 높지만, 데이터의 모든 세부 구조를 탐색할 가능성을 최대화한다. 계산 효율성을 높이기 위해 무작위로 샘플링된 데이터 포인트의 부분집합만을 후보점으로 사용하기도 한다. 또는 그리드 기반 샘플링을 통해 데이터 공간을 규칙적인 간격으로 나누고 각 그리드 셀의 중심점을 후보점으로 삼을 수 있다.

후보점이 선정되면, 각 후보점은 군집 중심을 찾기 위한 탐색의 시작점이 된다. 각 후보점 주변의 커널 함수와 대역폭에 정의된 지역 내 데이터 포인트들의 가중 평균 위치를 반복적으로 계산하며, 이 위치로 후보점을 이동시킨다. 초기 후보점의 선택은 알고리즘의 수렴 속도에 영향을 주지만, 평균 이동 과정의 특성상 최종적으로 동일한 정상점에 수렴하는 시작점들은 하나의 군집으로 병합되므로, 초기화의 정확도보다는 포괄성이 더 중요할 수 있다.

3.2. 평균 이동 벡터 계산

평균 이동 벡터는 각 데이터 점이 위치한 곳의 확률 밀도 함수의 기울기 방향을 따라 가장 가까운 정상점(peak)으로 이동하도록 하는 방향 벡터입니다. 이 벡터는 현재 점 주변의 데이터 분포를 기반으로 계산됩니다.

벡터 계산은 주어진 점 x에 대해, 그 주변 대역폭 h 내에 있는 모든 이웃 점들의 가중 평균 위치와 현재 점 x의 차이로 정의됩니다. 수식으로 표현하면 다음과 같습니다.

M_h(x) = ( Σ_i K( (x - x_i)/h ) * x_i ) / ( Σ_i K( (x - x_i)/h ) ) - x

여기서 K는 커널 함수이며, x_i는 데이터셋 내의 점들입니다. 분모는 정규화 항으로, 가중치의 합을 나타냅니다. 이 계산은 본질적으로 현재 점 주변의 확률 밀도의 기울기 방향을 추정하는 과정입니다[2].

계산된 평균 이동 벡터는 항상 지역적 밀도가 가장 증가하는 방향을 가리킵니다. 알고리즘은 이 벡터를 반복적으로 적용하여 점의 위치를 업데이트합니다(x <- x + M_h(x)). 이 과정을 통해 각 점은 점차 주변 데이터가 가장 밀집된 지역, 즉 확률 밀도 함수의 지역적 최대값(모드)을 향해 이동하게 됩니다. 벡터의 크기가 사전에 정의된 임계값보다 작아지면 해당 점의 이동이 수렴한 것으로 판단합니다.

3.3. 수렴 및 군집 병합

각 데이터 포인트에 대해 평균 이동 벡터를 반복적으로 적용하면, 포인트는 확률 밀도 함수의 국부적 최댓값, 즉 모드(mode)를 향해 이동한다. 이 과정은 이동 거리가 미리 설정된 임계값(보통 매우 작은 값)보다 작아질 때까지 계속된다. 이 시점에서 해당 포인트는 수렴했다고 판단하며, 그 최종 위치를 수렴점(convergence point) 또는 모드로 기록한다.

모든 데이터 포인트가 각자의 수렴점에 도달한 후, 유사한 수렴점을 가진 포인트들을 하나의 군집으로 묶는다. 일반적으로 두 수렴점 사이의 유클리드 거리가 사용자가 지정한 병합 임계값(merging threshold)보다 작으면 동일한 군집으로 간주하고 병합한다. 이 병합 과정은 알고리즘의 최종 출력인 군집 레이블을 생성한다.

수렴과 병합 과정은 알고리즘이 데이터의 자연스러운 군집 개수와 형태를 자동으로 발견할 수 있게 해주는 핵심 단계이다. 아래 표는 이 과정의 주요 요소를 요약한다.

요소

설명

역할

수렴 조건

연속된 반복에서의 이동 거리가 임계값(ε) 미만

알고리즘의 반복을 종료하는 기준

수렴점

데이터 포인트가 이동을 멈춘 최종 위치

확률 밀도의 국부적 극대점(모드)

병합 임계값

두 수렴점을 동일 군집으로 판단하는 거리 기준

최종 군집의 수와 크기를 결정

이 방식은 초기에 군집 개수(K)를 지정해야 하는 K-평균 알고리즘과 달리, 데이터 분포에 기반하여 군집의 수를 데이터로부터 추정한다는 점이 특징이다. 그러나 대역폭과 병합 임계값이라는 매개변수 선택이 최종 군집 결과에 큰 영향을 미친다.

4. 특징과 장단점

평균 이동 군집화는 데이터의 확률 밀도 함수를 추정하여 군집을 찾는 방법으로, 몇 가지 뚜렷한 장점과 한계를 가진다.

주요 장점은 군집의 모양과 개수를 사전에 지정할 필요가 없다는 점이다. K-평균 군집화와 달리 군집의 개수(K)를 미리 정하지 않아도 되며, DBSCAN과 유사하게 임의의 형태를 가진 군집을 발견할 수 있다. 또한 알고리즘이 비교적 직관적이고, 커널 함수를 통해 데이터 공간의 국소적 밀도를 부드럽게 추정하기 때문에 잡음에 어느 정도 강건한 편이다. 군집의 중심을 데이터 포인트가 아닌 밀도가 최대인 지점으로 수렴시키기 때문에, 이상치의 영향도 상대적으로 적다.

반면, 알고리즘의 계산 복잡도가 높다는 것이 가장 큰 단점이다. 각 데이터 포인트나 후보점에 대해 주변 점들의 가중 평균을 반복적으로 계산해야 하므로, 데이터 크기가 커질수록 실행 시간이 급격히 증가한다. 또한 대역폭 매개변수의 선택이 결과에 매우 민감하게 영향을 미친다. 대역폭이 너무 작으면 수많은 작은 군집이 생성되고, 너무 크면 중요한 군집 구조를 놓칠 수 있어 적절한 값 설정이 중요하다. 고차원 데이터에서는 차원의 저주 현상으로 인해 모든 영역의 데이터 밀도가 매우 낮아져 군집화 성능이 저하되는 경향도 있다.

장점

단점

군집의 개수(K)를 미리 지정할 필요 없음

계산 복잡도가 높아 대용량 데이터에 비효율적

임의의 형태(비구형)의 군집 발견 가능

대역폭 매개변수 선택이 결과에 미치는 영향이 큼

잡음과 이상치에 비교적 강건함

고차원 데이터에서 성능 저하 가능성

이론적으로 수렴이 보장됨

수렴 속도가 상대적으로 느릴 수 있음

4.1. 장점

평균 이동 군집화는 데이터의 형태나 분포에 대한 사전 가정 없이도 작동하는 비모수적 방법이다. 이는 데이터가 특정 분포를 따르지 않거나, 군집의 모양이 구형이 아닌 복잡한 형태를 가질 때 유리하다.

군집의 개수를 사전에 지정할 필요가 없다는 점이 주요 장점이다. 알고리즘은 데이터의 밀도 분포를 기반으로 군집을 자연스럽게 발견하며, 대역폭 매개변수가 군집의 규모를 간접적으로 조절한다. 또한 잡음과 이상치에 비교적 강건한 편이다. 밀도가 낮은 지역의 데이터 포인트는 큰 군집으로 수렴하지 않거나, 독립적인 군집으로 형성되지 않아 효과적으로 걸러내는 경우가 많다.

수렴이 보장되는 이론적 토대를 가지고 있으며, 국소 밀도 최댓값을 향해 반복적으로 이동하는 과정을 통해 안정적인 결과를 제공한다. 구현이 직관적이고, 다양한 커널 함수를 적용할 수 있어 유연성이 높다.

4.2. 단점

평균 이동 군집화는 커널 밀도 추정에 기반한 방법으로, 데이터의 밀도 분포를 따라 군집을 형성한다는 장점이 있지만 몇 가지 명확한 단점을 지닌다.

가장 큰 단점은 대역폭 매개변수 선택에 결과가 매우 민감하다는 점이다. 대역폭이 너무 작으면 각 데이터 포인트가 개별적인 군집으로 수렴하여 과도하게 세분화된 결과를 초래한다. 반대로 대역폭이 너무 크면 서로 다른 군집들이 하나로 병합되어 중요한 구조를 놓칠 수 있다. 최적의 대역폭을 사전에 알기 어렵기 때문에, 이는 사용상의 주요 난제로 작용한다. 또한 알고리즘의 계산 복잡도가 높은 편이다. 각 반복에서 모든 데이터 포인트 또는 많은 후보점에 대해 커널 함수를 평가해야 하며, 수렴까지 많은 반복이 필요할 수 있어 대규모 데이터셋에는 비효율적이다.

알고리즘은 군집의 개수를 자동으로 결정한다는 장점이 있지만, 이는 동시에 단점이 될 수도 있다. 사용자가 원하는 군집 수를 사전에 지정할 수 없으며, 결과는 전적으로 데이터의 밀도 분포와 선택한 매개변수에 의존한다. 따라서 사전 지식이나 특정 개수의 군집이 필요한 응용 분야에는 적합하지 않을 수 있다. 마지막으로, 알고리즘은 일반적으로 구형 또는 타원형의 밀도 봉우리를 가정하는 커널을 사용하기 때문에, 매우 불규칙한 형태나 얽혀 있는 형태의 군집을 잘 포착하지 못할 수 있다.

5. 매개변수 설정

평균 이동 군집화의 성능은 대역폭과 커널 함수라는 두 가지 주요 매개변수의 설정에 크게 의존한다. 이 매개변수들은 데이터의 밀도 추정 형태를 결정하며, 최종 군집의 수와 형태에 직접적인 영향을 미친다.

대역폭 선택 방법

대역폭은 커널 함수의 영향 범위를 조절하는 매개변수이다. 대역폭이 너무 작으면 데이터의 국소적 변동에 과도하게 민감해져 수많은 작은 군집이 생성되고, 너무 크면 중요한 세부 구조를 무시하여 과도하게 일반화된 소수의 군집이 생성될 수 있다. 대역폭 선택의 일반적인 방법은 다음과 같다.

방법

설명

특징

경험적 규칙

데이터의 표준 편차나 사분위 범위 등을 기반으로 한 간단한 공식을 사용한다.

계산이 빠르지만 데이터 분포에 최적화되지 않을 수 있다.

교차 검증

최대 우도 또는 최소 평균 제곱 오차 기준을 사용하여 밀도 추정의 품질을 최적화하는 대역폭을 선택한다.

통계적으로 타당하지만 계산 비용이 높다.

최근접 이웃 거리

각 데이터 점에서 k번째 최근접 이웃까지의 거리를 대역폭으로 사용한다.

데이터의 국소적 밀도에 따라 가변 대역폭을 적용하는 효과가 있다.

커널 선택

커널 함수는 각 데이터 점에 부여되는 가중치의 형태를 정의한다. 가장 일반적으로 사용되는 커널은 가우시안 커널이다. 이는 중심에서 멀어질수록 부드럽게 감쇠하는 가중치를 부여하여 매끄러운 밀도 추정을 가능하게 한다. 그 외에도 에파네치니코프 커널이나 직사각형 커널 등이 사용될 수 있다. 가우시안 커널은 미분 가능성이 보장되어 수학적 분석이 용이한 반면, 직사각형 커널은 계산이 간단하지만 추정된 밀도 함수가 매끄럽지 않을 수 있다. 실제 응용에서는 데이터의 특성보다는 알고리즘의 계산 효율성과 수렴 특성을 고려하여 커널을 선택하는 경우가 많다.

5.1. 대역폭 선택 방법

대역폭은 평균 이동 군집화의 성능을 결정하는 가장 중요한 매개변수이다. 대역폭이 너무 작으면 데이터의 국부적 변동에 과도하게 민감해져 군집의 수가 불필요하게 많아지고, 너무 크면 중요한 세부 구조를 잃어버려 군집 수가 지나치게 적어질 수 있다[3]. 따라서 적절한 대역폭을 선택하는 것은 군집화 결과의 질을 보장하는 핵심 과제이다.

대역폭 선택을 위한 일반적인 방법은 다음과 같다.

방법

설명

특징

규칙 기반 방법

실버만의 법칙(Silverman's rule of thumb)과 같은 경험적 규칙을 사용한다. 데이터의 표준편차와 샘플 수에 기반하여 대역폭을 계산한다.

계산이 빠르고 간단하지만, 데이터의 실제 분포가 복잡할 경우 최적이 아닐 수 있다.

교차 검증

최대우도교차검증(Maximum Likelihood Cross-Validation)이나 최소제곱교차검증(Least Squares Cross-Validation)을 사용하여 밀도 추정의 오차를 최소화하는 대역폭을 선택한다.

이론적으로 더 정확한 대역폭을 제공할 수 있으나, 계산 비용이 높다.

플러그인 방법

데이터 분포의 미지의 매개변수(예: 적분제곱곡률)를 추정하는 식을 대입하여 최적 대역폭을 계산한다.

교차 검증보다 빠르며 안정적인 결과를 제공할 수 있다.

경험적 시행착오

여러 대역폭 값을 시도하여 군집화 결과(예: 군집 수, 군집의 응집도)를 시각적으로 또는 정량적으로 평가한 후, 분석가가 주관적으로 선택한다.

도메인 지식이 활용 가능하지만, 객관성이 떨어질 수 있다.

실제 응용에서는 데이터의 규모와 복잡도, 계산 자원, 요구되는 정확도에 따라 방법을 선택한다. 많은 경우, 규칙 기반 방법으로 초기 값을 설정한 후, 경험적 시행착오를 통해 미세 조정하는 하이브리드 접근법이 사용된다. 또한, 데이터 공간의 특성에 따라 대역폭을 가변적으로 설정하는 적응형 평균 이동 알고리즘도 연구되었다.

5.2. 커널 선택

평균 이동 군집화에서 커널 함수는 각 데이터 포인트의 영향력을 결정하는 핵심 요소이다. 일반적으로 사용되는 커널은 가우시안 커널, 에파네치니코프 커널, 균일 커널 등이 있다. 이들 커널은 모두 방사 대칭 커널의 특성을 가지며, 데이터 포인트로부터의 거리에 따라 가중치를 부여한다.

커널 선택은 알고리즘의 성능과 결과에 직접적인 영향을 미친다. 가우시안 커널은 모든 거리에 대해 0이 아닌 가중치를 부여하여 부드러운 밀도 추정을 가능하게 하지만, 계산 비용이 상대적으로 높다. 에파네치니코프 커널은 특정 대역폭 내의 점에만 균일한 가중치를 주고 그 외에는 0을 주어 계산 효율이 좋지만, 추정된 밀도 함수가 미분 불가능한 지점을 가질 수 있다. 균일 커널은 가장 단순한 형태이나, 실제로는 자주 사용되지 않는다.

커널 종류

수식 (단변량)

주요 특징

가우시안 커널

$K(x) = \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{1}{2}x^2\right)$

부드러운 밀도 추정, 계산량 많음

에파네치니코프 커널

$K(x) = \begin{cases} \frac{3}{4}(1-x^2), & \text{if }

x

균일 커널

$K(x) = \begin{cases} \frac{1}{2}, & \text{if }

x

이론적으로, 커널 함수의 정확한 형태보다 대역폭 매개변수의 값이 결과에 훨씬 더 큰 영향을 미치는 것으로 알려져 있다[4]. 따라서 많은 실무 응용에서는 계산 효율이 좋은 에파네치니코프 커널이 선호되는 경향이 있다. 최종 군집화 결과는 선택한 커널에 관계없이 유사한 패턴을 보이는 경우가 많지만, 수렴 속도와 계산 복잡도에는 차이가 발생한다.

6. 응용 분야

평균 이동 군집화는 데이터의 확률 밀도 함수를 추정하고 그 기울기를 따라 지역적 최대값(모드)을 찾아 군집을 형성하는 기법이다. 이 특성 덕분에 데이터의 형태나 군집의 개수를 사전에 가정하지 않고도 유연한 군집화가 가능하여 여러 분야에 응용된다.

가장 두드러진 응용 분야는 영상 처리와 �퓨터 비전이다. 여기서는 영상 분할 작업에 널리 사용되어, 색상(RGB 또는 CIE L*a*b* 공간)과 공간적 위치(픽셀 좌표)를 결합한 5차원 특징 공간에서 동작한다. 알고리즘은 유사한 색상과 근접한 위치를 가진 픽셀들을 동일한 모드로 수렴시켜 객체의 경계를 찾아내거나 영역을 구분한다[5]. 또한, 객체 추적에서 시간에 따른 객체의 움직임을 추정하기 위해 연속된 프레임에서 특징점의 모드를 추적하는 데에도 적용된다.

데이터 마이닝과 기계 학습 분야에서는 고차원 데이터의 구조를 탐색하고 이상치를 검출하는 데 사용된다. 고객 세분화, 유전자 발현 데이터 분석, 센서 네트워크 데이터 분석 등에서 복잡한 형태의 군집을 발견하는 데 효과적이다. 또한, 밀도 기반 군집화 방법으로서 데이터가 밀집된 영역을 군집으로 인식하기 때문에 K-평균 군집화나 계층적 군집화가 잘 처리하지 못하는 임의의 모양을 가진 군집을 찾아낼 수 있다는 장점이 있다.

응용 분야

주요 활용 예

설명

영상 처리/�퓨터 비전

영상 분할

색상과 공간 정보를 결합하여 픽셀을 군집화하고 객체의 영역을 분리한다.

객체 추적

비디오 시퀀스에서 프레임 간 특징점의 모드 이동을 추적하여 객체의 궤적을 예측한다.

데이터 마이닝/패턴 인식

고객 세분화

다변량 고객 데이터(구매 이력, 인구통계 등)에서 자연스러운 그룹을 발견한다.

이상치 검출

데이터의 주 밀도 영역에서 멀리 떨어진 저밀도 영역의 점들을 이상치로 식별할 수 있다.

유전체학 데이터 분석

유전자 발현 프로파일 데이터에서 유사한 패턴을 보이는 유전자 군집을 찾는다.

6.1. 영상 처리 및 컴퓨터 비전

평균 이동 군집화는 컴퓨터 비전 및 영상 처리 분야에서 널리 활용되는 군집화 기법이다. 특히 데이터의 형태나 군집 수에 사전 정보가 필요하지 않으며, 이미지 분할과 객체 추적 같은 작업에 효과적이다.

이 기법의 대표적인 응용은 이미지 분할이다. 색상 공간에서 각 픽셀의 색상값(예: RGB, L*a*b*)과 공간 좌표(x, y)를 결합한 5차원 특징 벡터를 구성하여 평균 이동 알고리즘을 적용한다. 알고리즘은 유사한 색상과 공간적으로 인접한 픽셀들을 동일한 군집으로 수렴시켜, 이미지를 의미 있는 영역으로 분할한다. 이는 잡음에 강건하며, 군집의 개수를 자동으로 결정한다는 장점이 있다.

또 다른 주요 응용 분야는 객체 추적이다. 비디오 시퀀스에서 추적하고자 하는 대상의 색상 히스토그램을 목표 모델로 정의하고, 이후 프레임에서 평균 이동 절차를 반복하여 목표 모델과 가장 유사한 영역을 찾아낸다. 이 방법은 계산 효율성이 높아 실시간 추적에 적합하며, 대상의 부분적 가림이나 형태 변화에 어느 정도 강인성을 보인다. 이 외에도 영상 필터링이나 특징점 군집화 등의 작업에도 사용된다.

6.2. 데이터 마이닝

평균 이동 군집화는 데이터 마이닝 분야에서 군집 분석을 수행하는 데 널리 활용되는 비모수적 방법이다. 데이터 마이닝의 핵심 목표 중 하나는 대용량 데이터셋에서 의미 있는 패턴, 구조 또는 군집을 발견하는 것이며, 평균 이동 알고리즘은 데이터 공간에서 확률 밀도 함수의 정점을 찾아 군집 중심을 자동으로 식별한다는 점에서 이 목표에 부합한다.

이 기법은 사전에 군집의 개수를 지정할 필요가 없으며, 임의의 모양을 가진 군집을 탐지할 수 있다는 장점을 지닌다. 이는 K-평균 군집화와 같은 다른 방법이 가지는 제약을 극복하게 해준다. 데이터 마이닝 작업에서 데이터의 분포에 대한 사전 지식이 부족한 경우가 많으므로, 이러한 유연성은 매우 유용하다. 평균 이동은 이상치에 비교적 강건하게 동작하며, 노이즈가 포함된 실세계 데이터를 분석하는 데 적합하다.

주요 응용 사례로는 고객 세분화, 이상 거래 탐지, 문서 군집화 등이 있다. 예를 들어, 고객 데이터에서 유사한 구매 패턴이나 인구통계학적 특성을 가진 그룹을 발견하여 시장 세분화를 수행할 수 있다. 알고리즘이 데이터의 밀도가 높은 지역으로 점을 이동시켜 군집을 형성하기 때문에, 결과 군집은 종종 데이터의 자연스러운 그룹핑을 반영한다.

응용 분야

설명

고객 세분화

구매 이력, 인구통계 데이터를 기반으로 유사한 고객 그룹을 식별한다.

이상 탐지

정상 데이터 밀도 지역에서 벗어난 희소한 데이터 포인트를 이상치로 판별할 수 있다.

문서 군집화

텍스트 데이터를 벡터화한 후, 유사한 주제를 다루는 문서들을 하나의 군집으로 묶는다.

그러나 대규모 데이터셋에 적용할 경우 계산 비용이 높을 수 있으며, 대역폭 매개변수 선택이 결과에 미치는 영향이 크다는 점은 데이터 마이닝 작업에서 고려해야 할 제약 사항이다.

7. 다른 군집화 기법과의 비교

평균 이동 군집화는 K-평균 군집화나 DBSCAN과 같은 다른 대표적인 군집화 알고리즘과 몇 가지 근본적인 차이점을 보인다. 가장 큰 차이는 군집의 개수를 사전에 지정할 필요가 없다는 점이다. K-평균은 군집 수 K를 사용자가 미리 정해야 하지만, 평균 이동 군집화는 대역폭이라는 매개변수를 통해 밀도 추정의 해상도를 조절하며, 데이터의 분포에서 자연스럽게 군집의 개수와 형태를 발견한다.

아래 표는 주요 군집화 기법 간의 특성을 비교한 것이다.

특성

평균 이동 군집화

K-평균 군집화

DBSCAN

군집 수 지정

필요 없음

필수

필요 없음

군집 형태

임의의 형태

구형(convex)

임의의 형태

잡음 처리

상대적으로 민감

민감하지 않음

강건함 (잡음을 별도 클래스로 분리)

핵심 매개변수

대역폭

군집 수 K

입실론(ε)과 최소 포인트 수(MinPts)

초기값 의존성

낮음

높음 (초기 중심점에 결과 영향)

낮음

계산 복잡도

일반적으로 높음

상대적으로 낮음

중간 ~ 낮음

K-평균 군집화는 계산 효율이 높고 구현이 간단하지만, 군집이 구형에 가까울 것을 가정하며, 초기 중심점의 선택에 따라 결과가 크게 달라질 수 있다. 반면 평균 이동 군집화는 군집의 모양에 대한 사전 가정이 없고 초기값 의존성이 상대적으로 낮지만, 대역폭 선택에 민감하며 일반적으로 계산 비용이 더 많이 든다.

DBSCAN은 평균 이동 군집화와 마찬가지로 군집의 개수를 자동으로 결정하고 임의의 형태를 가진 군집을 찾을 수 있으며, 잡음 포인트를 명시적으로 식별하는 데 탁월하다. 그러나 DBSCAN은 밀도의 절대적 차이에 민감하여 밀도가 서로 다른 군집을 하나의 군집으로 묶는 데 어려움을 겪을 수 있다. 평균 이동 군집화는 커널 함수를 통한 밀도 추정에 기반하므로 밀도의 상대적 변화를 따라가며 군집을 형성하는 방식에서 차이가 있다[6].

7.1. K-평균 군집화

평균 이동 군집화와 K-평균 군집화는 모두 데이터 포인트를 그룹으로 묶는 대표적인 군집화 알고리즘이지만, 접근 방식과 특징에서 뚜렷한 차이를 보인다.

K-평균 군집화는 사전에 사용자가 지정한 K개의 군집 중심을 초기화하고, 각 데이터 포인트를 가장 가까운 중심에 할당한 후, 할당된 포인트들의 평균으로 중심을 업데이트하는 과정을 반복한다. 이 알고리즘은 군집의 모양이 구형(Spherical)이고 크기가 비슷할 때 잘 동작하며, 계산 효율이 매우 높다는 장점이 있다. 그러나 군집의 개수 K를 미리 지정해야 하며, 초기 중심의 위치에 따라 결과가 크게 달라질 수 있다는 단점이 있다.

반면, 평균 이동 군집화는 사전에 군집의 개수를 지정할 필요가 없다. 대신 대역폭이라는 매개변수를 사용하여 데이터 공간 내의 확률 밀도 함수를 추정하고, 밀도가 가장 높은 방향으로 점을 이동시켜 최종적으로 수렴하는 지점을 군집 중심으로 삼는다. 이 방법은 군집의 모양과 크기에 제약을 두지 않으며, 이상치에 덜 민감한 특징을 가진다. 하지만 대역폭 선택이 결과에 미치는 영향이 크고, 일반적으로 K-평균보다 계산 비용이 높다.

다음 표는 두 알고리즘의 주요 차이점을 요약한다.

비교 항목

K-평균 군집화

평균 이동 군집화

군집 개수

사전 지정(K) 필요

데이터로부터 자동 결정

군집 형태

주로 구형(convex)에 적합

임의의 형태(arbitrary shape) 가능

초기값 민감도

높음 (초기 중심 위치에 의존)

상대적으로 낮음

핵심 매개변수

군집 개수 K

대역폭(Bandwidth)

계산 복잡도

일반적으로 낮음

일반적으로 높음

이상치 영향

비교적 민감함

상대적으로 강건함

결론적으로, K-평균은 빠르고 직관적이며 군집 구조가 명확할 때, 평균 이동은 군집의 개수를 모르거나 형태가 복잡할 때 유리한 알고리즘이다.

7.2. DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)은 밀도 기반 군집화 알고리즘의 대표적인 예시이다. 이 알고리즘은 데이터 공간에서 데이터 포인트가 조밀하게 모여 있는 영역을 군집으로 식별하며, 밀도가 낮은 영역의 포인트들은 잡음으로 간주한다. 평균 이동 군집화와 마찬가지로 사전에 군집의 개수를 지정할 필요가 없다는 공통점을 지닌다.

두 알고리즘의 근본적인 차이는 군집을 정의하는 방식에 있다. 평균 이동은 확률 밀도 함수의 정점을 찾아 군집 중심을 결정하는 반면, DBSCAN은 사용자가 정의한 반경(ε)과 최소 포인트 수(MinPts)를 기준으로 직접적인 밀도 연결성을 통해 군집을 형성한다. DBSCAN의 핵심 개념은 핵심점, 경계점, 잡음점으로 분류하는 것이다. 주변 반경 ε 내에 MinPts 개 이상의 이웃을 가진 점은 핵심점이 되며, 핵심점들끼리 서로 도달 가능할 때 하나의 군집을 구성한다.

DBSCAN의 주요 장단점은 다음과 같이 정리할 수 있다.

특징

설명

장점

임의의 형태의 군집을 잘 찾을 수 있다. 잡음에 강하며, 사전에 군집 수(K)를 지정할 필요가 없다.

단점

군집의 밀도가 균일하지 않을 경우 성능이 저하된다. 고차원 데이터에서의 거리 계산이 어려워질 수 있다. 최적의 ε과 MinPts 매개변수를 찾는 것이 중요하다.

평균 이동과의 비교

DBSCAN은 밀도 기준이 명확하고 군집 할당이 이산적이다. 평균 이동은 밀도 추정을 기반으로 하며 수렴점까지의 연속적인 이동을 통해 군집을 형성한다.

결론적으로, DBSCAN은 데이터의 밀도 분포가 비교적 균일하고 군집의 형태가 복잡할 때, 그리고 잡음 포인트를 명시적으로 구분하고자 할 때 유용하게 적용된다. 반면, 평균 이동은 데이터의 확률 밀도 분포 자체를 추정하고 그 정점을 찾는 데 더 초점을 맞추는 알고리즘이다.

8. 구현 및 실습

평균 이동 군집화 알고리즘의 구현은 파이썬과 넘파이 같은 라이브러리를 사용하여 비교적 직관적으로 수행할 수 있다. 실습 과정은 일반적으로 데이터 생성, 대역폭 설정, 커널 함수 정의, 평균 이동 벡터 반복 계산, 그리고 수렴한 점들을 군집으로 할당하는 단계로 구성된다.

구체적인 구현 단계는 다음과 같다. 먼저, 가우시안 커널과 같은 커널 함수를 정의한다. 그 후, 각 데이터 포인트(또는 초기 후보점)에 대해 주어진 대역폭 내의 이웃 점들을 찾고, 커널 가중치를 적용한 평균 위치를 계산한다. 이 위치로 점을 이동시키는 과정을 점의 위치 변화가 임계값 이하로 작아질 때까지 반복한다. 수렴이 끝나면, 서로 매우 가까운 거리(예: 대역폭의 절반) 내에 있는 수렴점들을 동일한 군집으로 병합한다.

아래는 간략한 파이썬 구현의 의사 코드(pseudo-code) 구조를 나타낸다.

```python

def mean_shift(data, bandwidth, max_iter=300, tol=1e-3):

centroids = data.copy()

converged = [False] * len(data)

for i in range(max_iter):

for j in range(len(centroids)):

if not converged[j]:

# 대역폭 내의 모든 점 찾기

in_bandwidth = 거리(centroids[j], data) <= bandwidth

# 가중 평균(평균 이동 벡터) 계산

new_center = 가중평균(data[in_bandwidth], 커널가중치)

# 위치 변화가 tol보다 작으면 수렴으로 표시

if 거리(new_center, centroids[j]) < tol:

converged[j] = True

centroids[j] = new_center

if all(converged):

break

# 수렴점들을 병합하여 최종 군집 중심 생성

final_centroids = 군집_병합(centroids, bandwidth/2)

# 각 원본 데이터 포인트를 최종 중심에 할당

labels = 각_데이터의_최종_중심_할당(data, final_centroids)

return final_centroids, labels

```

실습 시 주의할 점은 대역폭 매개변수의 민감도이다. 대역폭이 너무 작으면 군집이 과도하게 분리되고, 너무 크면 중요한 군집 구조를 놓칠 수 있다. 사이킷런 라이브러리의 sklearn.cluster.MeanShift 클래스를 사용하면 이러한 구현 복잡성을 줄이고 효율적으로 실습할 수 있다. 실습 데이터로는 2차원 또는 3차원의 인공 데이터셋을 생성하여 군집화 결과를 시각적으로 확인하는 것이 유용하다[7].

9. 관련 문서

  • Wikipedia - Mean shift

  • Scikit-learn User Guide - Mean Shift

  • ScienceDirect - Mean Shift Clustering

  • 한국과학기술정보연구원 - 평균 이동 군집화 알고리즘

  • Towards Data Science - Understanding Mean-Shift Clustering

  • OpenCV Documentation - How to Use Mean Shift Clustering

  • Journal of the Korean Institute of Industrial Engineers - 밀도 기반 군집화 알고리즘 비교 연구

리비전 정보

버전r1
수정일2026.02.14 21:26
편집자unisquads
편집 요약AI 자동 생성