AI VIDEO BRIEFING
스펙트럴 군집화 원리 3단계: 유사도 그래프·라플라시안·고유분해로 비선형 군집 풀기
원형이 아닌 복잡한 형태의 데이터에서 K-평균이 실패하는 이유와, 유사도 그래프·정규화 라플라시안·고유값 분해를 거쳐 K-평균이 통하는 공간으로 바꿔 군집을 찾는 스펙트럴 군집의 3단계 원리를 정리했다.

핵심 메시지
쉽게 이해하기
스펙트럴 군집의 출발점은 K-평균의 한계다. 영상은 make_blobs로 만든 세 덩어리 데이터를 2×2 변환행렬로 비스듬히 늘려 비등방성(anisotropic) 분포로 만든 뒤 K-평균을 적용한다. K-평균은 중심점을 찾고 그 주변의 구형 영역으로 소속을 정하기 때문에, 이렇게 선형 분리가 안 되는 데이터에서는 세 군집을 제대로 구분하지 못한다. 더 정교한 알고리즘이 필요해지는 지점이다.
첫 단계는 유사도 그래프를 만드는 것이다. 각 데이터 점을 그래프의 노드로 보고, 두 점 사이의 유사도를 담은 n×n 인접(유사도) 행렬 K를 만든다. 유사도는 거리에 반비례하며, 흔히 방사기저함수(RBF) exp(-γ·거리²)로 정의한다. 거리가 0이면 유사도가 1로 최대이고, 멀어질수록 0으로 줄어들며, 그 감쇠 속도를 하이퍼파라미터 γ가 결정한다. 파이썬에서는 scipy.spatial.distance로 모든 쌍의 거리를 한 번에 계산한다.
둘째 단계는 정규화와 고유값 분해다. K의 각 행 합으로 대각행렬 D를 만들고, M = D^(-1/2)·K·D^(-1/2) 형태로 정규화한다. 이 M은 대칭이며, 교과서에 자주 나오는 정규화 라플라시안 L = I − M과 직접 연결된다. 이어 M을 고유값 분해(SVD)해 고유벡터를 얻고, 군집 수 k만큼 가장 큰 고유값에 해당하는 상위 고유벡터를 남긴다. 라플라시안 L을 쓰면 가장 작은 고유값을 골라야 하지만, M을 쓰면 큰 쪽을 고르면 돼 더 다루기 쉽다.
셋째 단계는 역설적이게도 다시 K-평균이다. 다만 원래 데이터가 아니라, 앞서 추출한 n×k 고유벡터 행렬 U의 각 행에 K-평균을 적용한다. 보통 각 행을 정규화(길이 1)한 뒤 적용하며, 그 결과로 나온 라벨이 스펙트럴 군집의 최종 결과다. 같은 데이터를 시각화하면, 앞서 K-평균이 못 잡던 세 군집을 이번에는 정확히 구분해 낸다.
큰 그림은 이렇다. 입력 데이터를 고유분해를 통해 선형 분리가 가능한 새 공간으로 변환하고, 선형 분리에 강한 K-평균을 그 공간에서 돌리는 것이다. 다만 스펙트럴 군집의 성능은 RBF의 γ 값에 크게 의존한다. γ를 잘못 잡으면 군집이 무너지므로, GridSearchCV 등으로 반드시 적절한 값을 찾아야 한다.
주요 인사이트
- 같은 K-평균이라도 원래 공간이 아니라 고유벡터 공간에 적용하면 비선형·곡선형 군집까지 잡아낸다.
- 유사도 행렬 K로부터 만든 정규화 행렬 M은 정규화 라플라시안 L = I − M과 직접 연결된다.
- M의 가장 큰 고유값과 라플라시안의 가장 작은 고유값은 같은 정보를 담지만, M 쪽이 다루기 편하다.
- 군집 수 k만큼만 상위 고유벡터를 남겨 차원을 축소한 뒤 군집화한다.
- γ는 유사도의 감쇠 속도를 정하는 핵심 파라미터라, 튜닝 없이는 좋은 군집을 얻기 어렵다.
자주 묻는 질문
왜 K-평균 대신 스펙트럴 군집을 쓰나?
K-평균은 중심점 주변의 구형 분포를 가정하므로, 선형 분리가 안 되는 비등방성·곡선형 데이터에서는 실패한다. 스펙트럴 군집은 이런 복잡한 형태의 군집도 찾아낸다.
스펙트럴 군집의 세 단계는 무엇인가?
①점들의 유사도 그래프(유사도 행렬)를 만들고, ②정규화 후 고유값 분해로 상위 k개 고유벡터를 추출하며, ③그 축소 공간의 각 행에 K-평균을 적용해 라벨을 얻는다.
마지막에 다시 K-평균을 쓰는데 왜 이번엔 잘 되나?
원래 공간이 아니라 고유분해로 얻은 변환 공간에 적용하기 때문이다. 그 공간에서는 군집이 선형 분리가 가능해, 선형 분리에 강한 K-평균이 잘 작동한다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗