

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼
모든 점을 각자 클러스터로 시작해, 가장 가까운 두 클러스터를 반복적으로 병합합니다. 결국 모든 점이 하나의 클러스터로 모일 때까지 진행합니다 — 이 모든 병합 이력이 덴드로그램입니다.
Agglomerative 클러스터링: bottom-up 단계별 병합덴드로그램에서 특정 높이에서 수평선을 그어 가로지르는 가지 수가 클러스터 수입니다. "가장 긴 수직 거리(jump)"가 있는 곳에서 자르는 것이 일반적인 휴리스틱입니다.
덴드로그램을 자르는 높이가 클러스터 수를 결정정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.
Linkage 방식을 바꾸고 자르는 높이(클러스터 수)를 조정하며 결과 변화를 비교하세요.
세 중심 (0,0)·(4,0.5)·(2,3.5) 주변에 6점씩 뿌린 18점(시드 고정)을 Single·Complete·Average·Ward 4가지 linkage로 밑에서부터 병합해 가는 실험입니다. 산점도와 덴드로그램이 나란히 놓이고, 자르는 높이(클러스터 수 K)를 슬라이더로 움직이면 빨간 컷 라인과 군집 색이 즉시 갱신됩니다.
바로잡는 오개념: "군집 수는 학습 시작 전에 반드시 정해야 한다"는 생각 — 계층적 군집화는 병합의 전체 역사를 먼저 다 그려놓고, 사후에 덴드로그램을 자르는 높이로 K를 고른다. 어디서 자를지는 알고리즘이 아니라 사람의 선택이다.
— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.
예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”
두 클러스터 사이의 거리를 어떻게 정의하느냐에 따라 결과가 달라집니다.Single(최단), Complete(최장), Average(평균), Ward(분산 증가량 최소) — 일반적으로 Ward가 가장 안정적입니다.
4종 linkage의 덴드로그램과 클러스터링 결과 비교각 linkage가 어떤 거리를 측정하는지 두 클러스터 A, B 예시로 확인합니다. Single은 한 쌍의 최단 거리, Complete는 최장 거리, Average는 모든 쌍의 평균, Ward는 병합 시 SSE 증가량을 최소화합니다.
Linkage별 두 클러스터 간 거리 정의계층적 클러스터링은 두 방향이 가능합니다. Agglomerative(bottom-up)는 점→클러스터→하나로 합쳐가고, Divisive(top-down)는 하나에서 출발해 분할합니다. 실무는 거의 항상 Agglomerative를 사용합니다.
계층적 클러스터링의 두 방향 — Agglomerative가 표준Elongated/chain 모양 클러스터 탐지. 단점: chaining 효과로 노이즈에 약함.
컴팩트한 클러스터. 단점: outlier에 민감.
Single과 Complete의 절충안. 노이즈에 비교적 강건.
분산 증가량을 최소화 → K-means와 유사한 컴팩트 균형 클러스터. scikit-learn 기본.