핵심 인사이트 (3줄 요약)
- 본질: 차원 축소(Dimensionality Reduction)는 고차원 데이터의 핵심 정보는 유지하면서 불필요한 차원을 제거하여, 차원의 저주(Curse of Dimensionality)를 극복하고 시각화·모델 성능을 개선하는 기법이다.
- 가치: PCA(Principal Component Analysis, 주성분 분석)는 분산 최대화 비지도 축소, LDA(Linear Discriminant Analysis, 선형 판별 분석)는 클래스 분리 극대화 지도 축소, t-SNE(t-Distributed Stochastic Neighbor Embedding)는 고차원 이웃 관계를 보존하는 비선형 시각화를 각각 제공한다.
- 판단 포인트: PCA는 전처리·압축 목적, LDA는 분류 전처리, t-SNE/UMAP은 탐색적 시각화 목적으로 선택해야 하며, t-SNE는 새 데이터 변환(out-of-sample)이 불가능하다는 제약이 있다.
Ⅰ. 개요 및 필요성
차원의 저주 (Curse of Dimensionality)
차원이 증가할수록 데이터 포인트 간 거리가 모두 비슷해지고, 데이터가 희소해져 모델 성능이 역설적으로 저하된다.
차원 수 │ 단위 정육면체에서 전체 부피의 1% 커버하는 변 길이
─────────┼────────────────────────────────────────────────
2 │ 0.10 (10%)
10 │ 0.63 (63%)
100 │ 0.955 (95.5%)
1000 │ 0.995 (99.5%)
→ 고차원에서는 "근접 이웃"의 의미가 약해지고, KNN·클러스터링·회귀 모두 성능 저하
📢 섹션 요약 비유: 차원의 저주는 "도서관 책이 2D 평면에서 3D 공간, 그 다음 4D, 5D... 로 흩어질수록 찾고 싶은 책이 너무 멀어지는 것"이다. 차원 축소는 "다시 2D 선반으로 책을 정렬"하는 것이다.
Ⅱ. 아키텍처 및 핵심 원리
2-1. PCA (Principal Component Analysis, 주성분 분석)
PCA는 비지도(Unsupervised) 선형 차원 축소다. 원본 데이터의 분산(Variance)이 가장 크게 보존되는 방향(주성분, PC)으로 새 축을 정의한다.
PCA 알고리즘 흐름:
────────────────────────────────────────────────────────
① 데이터 중심화 (평균 빼기, Mean Centering)
↓
② 공분산 행렬 계산 (Covariance Matrix)
↓
③ 고유값 분해 (Eigenvalue Decomposition) 또는 SVD
↓
④ 고유벡터(Eigenvector) = 주성분 방향 축
고유값(Eigenvalue) = 해당 축의 설명 분산량
↓
⑤ 설명 분산 누적 비율 확인 (Explained Variance Ratio)
보통 PC들이 95% 이상 설명하는 수까지 선택
↓
⑥ 원본 데이터를 선택된 PC 공간으로 투영
────────────────────────────────────────────────────────
Scree Plot (스크리 플롯):
설명 분산
│
80%│ ●
│ ●
40%│ ●
│ ●──●──●──●
└──────────────────
PC1 PC2 PC3 PC4 (엘보우 이후 완만 → 거기서 자름)
2-2. LDA (Linear Discriminant Analysis, 선형 판별 분석)
LDA는 지도(Supervised) 선형 차원 축소다. 클래스 간 분산(Between-Class Variance)을 최대화하고 클래스 내 분산(Within-Class Variance)을 최소화하는 축을 찾는다.
LDA 목표:
클래스 간 분산 (SB)
최대화: ─────────────────────
클래스 내 분산 (SW)
PCA와의 차이:
┌─────────────────────────────────────────────────────┐
│ PCA: 레이블 무관, 전체 분산 최대화 (비지도) │
│ LDA: 레이블 사용, 클래스 분리 최대화 (지도) │
└─────────────────────────────────────────────────────┘
최대 축 수: min(클래스 수 - 1, 특성 수)
→ 클래스가 3개이면 최대 2개의 판별 축 가능
2-3. t-SNE (t-Distributed Stochastic Neighbor Embedding)
t-SNE는 비선형 비지도 시각화 전용 차원 축소다. 고차원에서의 이웃 확률 분포를 저차원(2D/3D)에서 재현한다.
t-SNE 핵심 아이디어:
────────────────────────────────────────────────────────
① 고차원: 데이터 포인트 간 유사도를 가우시안 확률로 계산
② 저차원: 유사도를 t-분포(꼬리 두터운 분포)로 표현
③ KL Divergence를 최소화하여 고·저차원 확률 분포 정렬
────────────────────────────────────────────────────────
t-분포를 쓰는 이유:
고차원→저차원 시 "군집 간 거리가 찌그러지는 문제(Crowding Problem)"를
t-분포의 긴 꼬리(Heavy Tail)가 완화한다.
2-4. 방법별 종합 비교
| 구분 | PCA | LDA | t-SNE | UMAP |
|---|---|---|---|---|
| 유형 | 비지도·선형 | 지도·선형 | 비지도·비선형 | 비지도·비선형 |
| 목적 | 분산 최대화 | 클래스 분리 | 군집 시각화 | 구조 보존 시각화 |
| 출력 차원 | 자유 | 클래스수-1 | 2D/3D 주로 | 자유 |
| 신규 데이터 | 변환 가능 | 변환 가능 | 불가 | 가능 (近似) |
| 계산 복잡도 | O(min(n,d)³) | O(nd²) | O(n²) | O(n log n) |
| 해석 가능성 | 중간 | 높음 | 낮음 | 낮음 |
📢 섹션 요약 비유: PCA는 "그림자로 3D 물체를 가장 잘 표현하는 조명 각도 찾기", LDA는 "두 그룹이 가장 잘 구분되는 조명 각도 찾기", t-SNE는 "가까운 것끼리 뭉치도록 데이터를 손으로 배치하는 것"이다.
Ⅲ. 비교 및 연결
3-1. 언제 어떤 차원 축소를 쓰는가?
목적별 선택 기준
────────────────────────────────────────────────────────
고차원 전처리 → 모델 성능 개선 : PCA
(선형 관계 가정, 빠른 변환 필요)
분류 전 특성 변환 : LDA
(클래스 레이블 있고 선형 분리 가정)
데이터 탐색·시각화 : t-SNE 또는 UMAP
(군집 구조 발견, 이상점 탐지)
대용량 데이터 + 빠른 속도 : UMAP
(t-SNE보다 10~100× 빠름, 전역 구조 보존)
────────────────────────────────────────────────────────
3-2. PCA와 SVD의 관계
PCA는 내부적으로 SVD(Singular Value Decomposition, 특이값 분해)를 이용한다.
데이터 행렬 X = U × Σ × Vᵀ
U: 왼쪽 특이벡터 (데이터 포인트의 좌표)
Σ: 특이값 (분산 크기에 비례)
Vᵀ: 오른쪽 특이벡터 = PCA의 주성분 축
PCA 주성분 = V의 열벡터
분산 = (특이값)² / (n-1)
3-3. t-SNE 하이퍼파라미터 실무
| 파라미터 | 설명 | 권장값 |
|---|---|---|
| perplexity | 이웃 수 영향 (작으면 국소, 크면 전역) | 5~50 |
| learning_rate | 최적화 스텝 크기 | 100~1000 |
| n_iter | 최적화 반복 수 | ≥ 1000 |
| random_state | 재현성 설정 | 고정값 |
📢 섹션 요약 비유: PCA와 SVD의 관계는 "산을 보는 방법"이다. PCA는 "가장 산이 잘 보이는 각도 탐색", SVD는 그 각도를 수학적으로 분해하는 "도구"다.
Ⅳ. 실무 적용 및 기술사 판단
4-1. 이미지 압축 시나리오 (PCA 적용)
[입력] 100×100 픽셀 얼굴 이미지 = 10,000 차원
[PCA 적용]
① 10,000 차원 → PCA → 상위 50개 주성분 선택
② 설명 분산: PC1~PC50 = 95.2% 설명
③ 압축 비율: 10,000 → 50 = 200배 압축
[활용]
- Eigenface (고유얼굴): 얼굴 인식의 고전 방법
- 차원 축소 후 SVM·로지스틱 회귀 성능 향상
4-2. 고객 세그멘테이션 시각화 (t-SNE 적용)
[입력] 고객 행동 특성 50개 차원 (클릭·구매·방문 패턴)
[t-SNE 적용]
50차원 → t-SNE → 2차원 시각화
[결과]
2D 산점도에서 5개 군집 발견:
● 충성 고객 군집
● 가격 민감 군집
● 휴면 고객 군집
● 신규 고객 군집
● 고가치 VIP 군집
→ 각 군집에 맞는 맞춤형 마케팅 전략 수립
📢 섹션 요약 비유: t-SNE로 고객을 시각화하는 것은 "수백 가지 특성의 고객들을 2D 지도에 비슷한 고객끼리 가깝게 배치하는 것"이다. 지도를 보면 어느 고객 동네가 어디 있는지 한눈에 파악된다.
Ⅴ. 기대효과 및 결론
차원 축소는 현대 데이터 분석 파이프라인에서 전처리·탐색·모델링 세 단계 모두에 필수적인 도구다.
선택 가이드 요약
| 상황 | 권장 방법 |
|---|---|
| 빠른 선형 전처리 | PCA |
| 분류 전처리 (레이블 있음) | LDA |
| 소규모 데이터 군집 시각화 | t-SNE |
| 대규모 데이터 시각화·전처리 | UMAP |
| 비지도 탐색 + 새 데이터 변환 | UMAP |
기술사 시험에서 차원 축소는 "PCA(분산 최대화)·LDA(클래스 분리)·t-SNE(이웃 보존)의 목적 차이 + 차원의 저주 해결 맥락" 을 중심으로 서술해야 한다.
📢 섹션 요약 비유: 차원 축소는 "수백 개 특성으로 정의된 사람을 핵심 키워드 3개로 요약하는 것"이다. 정보 손실은 있지만, 핵심은 유지하고 훨씬 다루기 쉬워진다.
📌 관련 개념 맵
| 관계 | 개념 | 설명 |
|---|---|---|
| 핵심 기법 | PCA (주성분 분석) | 비지도·선형·분산 최대화 |
| 핵심 기법 | LDA (선형 판별 분석) | 지도·선형·클래스 분리 |
| 핵심 기법 | t-SNE | 비선형·시각화 전용 |
| 비교 | UMAP | 빠른 비선형 시각화 |
| 수학 기반 | SVD (특이값 분해) | PCA 내부 계산 기반 |
| 문제 | Curse of Dimensionality (차원의 저주) | 고차원 희소성 문제 |
| 파라미터 | Explained Variance Ratio | PC 선택 기준 |
| 파라미터 | Perplexity (퍼플렉서티) | t-SNE 이웃 영향 범위 |
| 응용 | Eigenface | PCA 기반 얼굴 인식 |
| 전처리 연계 | Feature Engineering (특성 공학) | 축소 전 특성 변환 |
👶 어린이를 위한 3줄 비유 설명
- 수백 가지 정보로 설명된 그림을 딱 2~3가지 핵심 특징으로 요약하는 것이 차원 축소이고, PCA는 "가장 많은 정보를 유지하는 방향으로 그림자를 만드는 것"이다.
📈 관련 키워드 및 발전 흐름도
고차원 데이터 (차원의 저주)
│
▼
차원 축소
├─► PCA: 분산 최대화 선형 투영 (비지도)
├─► LDA: 클래스 분리 최대화 투영 (지도)
└─► t-SNE / UMAP: 비선형 시각화 (2D/3D)
│
▼
응용: 시각화 · 노이즈 제거 · 피처 압축
- LDA는 "고양이와 개를 가장 잘 구분하는 방향으로 그림자를 만드는 것"으로, 처음부터 어떤 동물인지 알고 시작한다.
- t-SNE는 "비슷한 친구끼리 가깝게, 다른 친구끼리 멀게 자리를 배치하는 것"인데, 2D 지도로 만들어주기 때문에 눈으로 군집을 바로 볼 수 있다.