비지도 학습은 “라벨이 거의 없거나 전혀 없는” 데이터에서 구조를 발견하는 기술이다. 딥러닝 이전과 이후, 접근 방식은 분명히 달라졌지만 목적은 같다. 데이터가 말해주는 본질적 패턴을 찾아내는 것. 이 글은 전통(비신경망) 기법과 신경망(딥러닝) 기반 기법을 한 눈에 비교하고, 실제 현업에서 무엇을 언제 선택할지까지 정리한다.
1) 철학의 차이: 규칙으로 볼 것인가, 표현을 배울 것인가
- 전통(비신경망): 거리·밀도·확률·그래프 같은 명시적 기준으로 군집/구조를 정의한다. 특징 공학과 전처리의 비중이 크고, 해석성이 높다. 계산량 대비 효율이 좋아 소규모·탭룰러(tabular) 데이터에 강하다.
- 신경망(딥러닝): 데이터에서 표현(임베딩) 자체를 학습한다. 라벨이 없어도 자기지도/대조학습으로 의미 있는 특징을 뽑고, 그 위에 간단한 군집을 얹는다. 고차원·비선형·멀티모달(이미지/텍스트/오디오)에 강하다.
핵심은 표현 학습(Representation Learning). 오늘날 실전에서 가장 흔한 패턴은 “딥 임베딩 → 전통 군집” 하이브리드다.
2) 전통 비지도 학습의 지도: 언제 무엇을 쓸까
클러스터링(군집화)
- K-means: 빠르고 간단. 구형(원형)·비슷한 크기의 군집, 이상치 적은 경우. 스케일링 필수.
- GMM(가우시안 혼합, EM): 타원형 군집, 소프트할당(각 군집 확률) 필요할 때.
- 계층적 군집(Ward/Agglomerative): 덴드로그램으로 군집 수를 시각적으로 결정. 중소규모.
- DBSCAN / HDBSCAN: 밀도 기반, 임의 모양 군집·노이즈 분리에 강함. K가 필요 없다.
- 스펙트럴 클러스터링: 비선형 경계에 강하지만 데이터가 크면 부담.
- K-medoids/K-modes/K-prototypes: 평균 대신 대표표본(메도이드)·범주형·혼합형 데이터에 각각 적합.
- BIRCH: 대용량 스트리밍 요약에 유리.
차원 축소·시각화
- PCA / Kernel PCA: 선형/비선형 차원 축소, 설명력·해석성 우수.
- t-SNE / UMAP: 시각화 특화. 클러스터링 알고리즘이 아니라 구조 파악/탐색용.
이상치 탐지
- Isolation Forest: 고차원·스케일 변화에 비교적 강함.
- LOF: 국소 밀도로 이상치 판단.
- One-Class SVM: 경계기반, 파라미터 민감.
토픽/행렬 분해
- LDA(확률 토픽), NMF(해석 쉬움), SVD/LSA(희소 텍스트 차원 축소).
언제 전통을 선택?
- 데이터가 작거나 중간 규모, 숫자·범주형이 혼합된 탭룰러, 설명 가능성이 중요한 경우.
- 계산자원이 제한된 상황.
- 빠른 베이스라인과 가설검증이 필요할 때.
3) 신경망 기반 비지도·자가지도: 표현을 먼저 얻고 군집한다
대표 기법과 용도
- 오토인코더(AE)/변분오토인코더(VAE): 잠재공간에서 구조를 압축. 노이즈 제거·차원 축소 후 군집.
- 대조학습(Contrastive: SimCLR/MoCo/BYOL): 라벨 없이도 강력한 임베딩을 학습. 이미지·오디오·시계열 등에 탁월.
- DeepCluster / DEC / IDEC: 임베딩 학습과 군집화를 공동 최적화.
- GAN/확산/정규화 플로우(RealNVP/Glow): 분포 학습·샘플링·이상치 탐지(예: AnoGAN) 등.
- 그래프 오토인코더(GAE/VGAE): 네트워크/관계 데이터의 커뮤니티 탐색.
언제 신경망을 선택?
- 고차원·비선형·멀티모달 데이터(이미지/텍스트/오디오).
- 라벨이 거의 없지만 표현학습으로 하류 과제(검색/추천/군집)를 강화하고 싶은 경우.
- 성능이 최우선이고, GPU/시간 투자 대비 개선 여지가 클 때.
4) 하이브리드가 표준: 딥 임베딩 → 전통 군집
가장 실용적인 파이프라인은 다음과 같다.
- 전처리: 결측/이상치 처리, 수치 스케일링, 범주형 원핫.
- 임베딩 학습: AE/VAE 또는 대조학습으로 D차원 → d차원(보통 16~512) 잠재벡터 추출.
- 군집: 잠재벡터에 K-means/DBSCAN/GMM.
- 평가:
- 외부 라벨이 있으면 헝가리안 매칭 후 Accuracy/F1.
- 라벨이 없으면 ARI/NMI(라벨 매핑 불변), 실루엣/CH/DB 등 내부지표.
- 해석·피드백: 프로토타입(대표 샘플), 특징 중요도, 클러스터별 통계 프로파일링.
실무 팁: “원본 공간의 K-means가 안 된다” → “잠재공간 임베딩 후 K-means”로 바꾸면 체감 성능이 크게 올라가는 경우가 많다.
5) 실험 설계와 평가: 함정 피하기
- 스케일링: 거리 기반 알고리즘(K-means/DBSCAN)은 StandardScaler/RobustScaler 필수.
- K 선택: Elbow, Silhouette, BIC/AIC(GMM), 덴드로그램(계층적).
- 고차원 저주: 원공간 거리의 의미가 약해진다. 임베딩→군집을 고려.
- DBSCAN 튜닝:
eps,min_samples는 데이터 밀도에 민감. KNN-거리 그래프를 이용해eps힌트 확보. - 안정성: 랜덤시드 고정, 다중 초기화(
n_init↑), 교차검증적 재현성 체크. - 평가 지표:
- 외부: 헝가리안 매칭 후 Accuracy/F1, 클러스터-라벨 정합도.
- 내부: Silhouette(높을수록), Calinski-Harabasz(높을수록), Davies-Bouldin(낮을수록).
- 라벨 불변: ARI/NMI는 군집 ID 순서와 무관.
6) 문제 유형별 처방전
| 상황 | 추천 접근 |
|---|---|
| 소규모 탭룰러, 설명 필요 | GMM/계층적/DBSCAN + 피처 해석 |
| 이상치 섞인 수치형 | K-medoids 또는 DBSCAN, 이상치는 분리 |
| 초고차원(이미지/텍스트) | 대조학습/오토인코더 임베딩 → K-means/GMM |
| 군집 모양이 제각각·노이즈 많음 | DBSCAN/HDBSCAN |
| 군집 불확실성(확률) 필요 | GMM (소프트할당) |
| 빠른 베이스라인 | K-means(+ 스케일링, n_init↑) → 필요 시 교체 |
7) 최소 구현 청사진(의사코드)
# 1) 데이터 전처리
X = preprocess(df) # 결측/스케일링/원핫
# 2) (옵션) 딥 임베딩
Z = X
if use_deep:
Z = encoder.fit_transform(X) # AE/VAE/SimCLR 임베딩
# 3) 군집
labels = clusterer.fit_predict(Z) # KMeans/GMM/DBSCAN 등
# 4) 평가
if have_ground_truth:
labels_mapped = hungarian_map(labels, y_true)
report(labels_mapped, y_true, metrics=["ACC", "F1", "ARI", "NMI", "Silhouette"])
else:
report(None, None, metrics=["ARI", "NMI", "Silhouette", "CH", "DB"])
8) 요약
- 전통 vs 신경망은 “규칙 기반 vs 표현 학습”의 차이다.
- 오늘의 베스트 프랙티스는 딥 임베딩 + 전통 군집.
- 평가에서는 헝가리안 매칭과 라벨 불변 지표를 함께 본다.
- 선택 기준은 데이터 모달리티/규모/자원/해석성 요구로 결정한다.
이 프레임만 정확히 잡아두면, 어떤 데이터가 와도 “전통 단독 → 딥 임베딩 → 하이브리드” 순으로 합리적인 탐색과 수렴이 가능하다.