차원 축소는 많은 변수를 가진 데이터에서 핵심적인 정보만 추출하여 변수의 수를 줄이는 기법입니다. 변수가 너무 많으면 분석이 복잡해지고 과적합이 발생할 수 있기 때문입니다. 주성분분석(PCA, Principal Component Analysis)은 상관관계가 높은 여러 변수들을 선형 결합하여 더 적은 수의 새로운 변수(주성분)를 만들어내는 비지도학습 기법입니다. 각 주성분은 원래 데이터의 분산을 최대한 설명하는 방향으로 생성되며, 첫 번째 주성분이 가장 많은 분산(정보)을 담습니다. 주성분 간에는 상관관계가 없다(직교한다)는 것이 중요한 특징입니다. 시험에서 "주성분 간에는 상관관계가 있다"는 보기가 나오면 틀린 것입니다. 주성분의 수는 변수의 수보다 작거나 같으며, Scree plot에서 고유값(Eigenvalue)이 급격히 감소하는 지점(elbow point)까지의 주성분을 유의미하다고 판단합니다. Kaiser 기준으로는 고유값이 1 이상인 주성분을 선택합니다. 누적 분산 설명 비율이 7080% 이상이 되는 시점까지 주성분을 선택하기도 합니다. 주의: PCA 수행 전에 변수 간 척도가 다른 경우 반드시 표준화(Standardization)를 적용해야 합니다. 그렇지 않으면 분산이 큰 변수가 첫 번째 주성분을 지배하게 됩니다. 다차원척도법(MDS, Multidimensional Scaling)은 개체들 간의 거리 정보를 2차원이나 3차원 공간에 시각화하여, 유사한 개체는 가깝게 다른 개체는 멀게 배치하는 기법입니다. 영화 간 유사성 분석, 브랜드 포지셔닝 분석 등에 활용됩니다. MDS는 상대적 위치 관계를 보여주는 것이지 절대적 위치를 알 수 있는 것은 아닙니다. "MDS로 절대적 위치를 알 수 있다"는 보기가 나오면 틀린 것입니다. 핵심 요약 & 시험 포인트 PCA vs MDS 비교 기법 목적 입력 출력 PCA 분산 최대 보존하여 차원 축소 원본 데이터 행렬 주성분(직교 벡터) MDS 거리 정보 보존하여 저차원 시각화 거리·비유사성 행렬 저차원 좌표 PCA 핵심 사항 항목 설명 주성분 수 최대 원래 변수 수와 동일 주성분 간 관계 서로 직교(무상관) 분산 설명량 1번 주성분 2번 3번 순서로 감소 전처리 필수 변수 단위가 다르면 표준화 필요 시험 포인트: MDS는 상대적 위치 관계만 표현 (절대적 위치 불가). PCA는 비지도학습으로 레이블 없이 차원 축소. PCA 적용 전 변수 척도가 다르면 반드시 표준화. 차원 축소 기법 종합 선형 차원 축소 기법 학습 목적 PCA (주성분분석) 비지도 분산 최대화 SVD (특이값 분해) 비지도 X = UΣV^T 행렬 분해, PCA의 일반화 LDA (선형판별분석) 지도 (레이블 사용) 클래스 분리 최대화 MDS (다차원척도법) 비지도 개체 간 거리 보존 비선형 차원 축소 기법 특징 t-SNE 비선형, 시각화 특화, 군집 보존 (전역 구조 약함) UMAP t-SNE보다 빠름, 전역 구조도 보존 Autoencoder 신경망 기반, 인코더+디코더 Kernel PCA 커널 트릭으로 비선형 PCA LDA vs PCA — 헷갈리는 두 차원축소 구분 LDA (Linear Discriminant Analysis) PCA (Principal Component Analysis) 학습 유형 지도학습 (클래스 레이블 사용) 비지도학습 목적 클래스 간 분산 최대화 / 내 분산 최소화 전체 분산 최대화 결과 컴포넌트 수 최대 (클래스 수 - 1) 변수 수까지 사용처 분류 전 차원 축소 일반 차원 축소·시각화 ⚠️ 주의: 토픽 모델링 LDA(Latent Dirichlet Allocation)와 다른 알고리즘! 차원축소 LDA = Linear Discriminant Analysis (선형판별분석) SVD 활용 사례 - PCA의 계산: PCA는 공분산 행렬의 SVD로 계산 가능 - 추천 시스템: 사용자×아이템 행렬을 분해하여 잠재 요인 추출 - LSA(Latent Semantic Analysis): 텍스트 차원 축소 시험 포인트: PCA는 비지도, LDA는 지도. SVD는 PCA의 수학적 일반화. t-SNE는 시각화에 특화. PCA 핵심 수학 - 공분산행렬(Covariance Matrix): PCA의 입력 — 표준화된 데이터의 X'X/(n−1) - 고유값(Eigenvalue, λ): 각 주성분이 설명하는 분산의 크기 - 고유벡터(Eigenvector): 주성분의 방향(축) - Scree Plot(스크리 플롯/도표): 고유값을 내림차순으로 그린 그래프 — 꺾이는(elbow) 지점에서 주성분 개수 선택 - 누적기여율(Cumulative Variance): 보통 7090% 설명력에서 주성분 개수 결정 비선형 차원축소 - t-SNE: 고차원 유사도를 저차원에서 보존 — 시각화에 강하나 거리 해석 주의 - UMAP: t-SNE보다 빠르고 전역 구조 보존도 우수 - MDS(다차원척도법): 거리행렬을 입력으로 저차원에 점들을 배치 — 메트릭/비메트릭 MDS PCA 결과 해석 - PC1, PC2(Principal Component 1, 2): 첫 번째·두 번째 주성분 — PC1이 가장 큰 분산 설명 - 부하량(Loading): 원변수가 주성분에 기여하는 정도 (고유벡터의 성분) — 절댓값이 클수록 그 변수의 영향력 큼 - 스코어(Score): 각 관측치의 주성분 좌표값 - Biplot: 부하량과 스코어를 동시에 그려 변수·관측치 관계 시각화 MDS 확장 - Multi-Dimensional Scaling(MDS): 거리 정보로 저차원 좌표 복원 - Classical MDS(메트릭): 유클리드 거리 보존 - Non-metric MDS: 순위만 보존 — 비유클리드 거리 OK 주성분 개수 결정 - 차원 결정(Dimension Selection) 기준: - 누적기여율: 7090% - Kaiser 기준: 고유값 1 - Scree plot의 elbow - 교차검증 오차 최소 PCA 변형 - Sparse PCA: 부하량을 희소하게 만들어 해석 가능성 향상 - Kernel PCA: 커널 트릭으로 비선형 차원축소 - ICA(Independent Component Analysis): 통계적 독립성을 기반으로 분리 — Cocktail party problem MDS Stress 함수 - Stress 값(Stress Value): MDS가 거리 보존을 얼마나 잘 했는지 측정하는 손실함수 - Stress = √(Σ(dᵢⱼ − d̂ᵢⱼ)² / Σdᵢⱼ²) - Kruskal Stress 기준: - 0.025 미만: 매우 좋음(Excellent) - 0.05: 좋음(Good) - 0.1: 보통(Fair) - 0.2: 나쁨(Poor) - 0.2 이상: 거의 무의미 - MDS는 Stress를 최소화하도록 좌표 추정 — 반복 최적화 Sammon Mapping - Sammon Mapping: 가까운 점 쌍의 거리 보존에 가중치를 주는 MDS 변형 — 국소 구조 유지에 강점 차원축소·고속 검색 추가 - LSH(Locality Sensitive Hashing): 비슷한 입력은 같은 해시값을 가질 확률이 높은 해시 — 근사 최근접 이웃 검색에 활용 - MinHash: 자카드 유사도를 LSH로 빠르게 계산 - SimHash: 문서 유사도 계산을 위한 LSH 변형 (Google) - ANN(Approximate Nearest Neighbor): 100% 정확도를 포기하고 빠르게 가까운 이웃 검색 — 추천·검색·Vector DB의 핵심 PCA의 수학적 제약 - 추출 가능한 주성분 수 = min(p, n−1): 변수 수(p)와 관측치 수(n−1) 중 작은 쪽 - 표본 공분산행렬의 최대 랭크가 n−1 - 고차원 저표본(p ≫ n) 데이터에서 PC가 n−1개로 제한 - PCA의 한계: - 선형 변환만 — 비선형 구조 포착 못함 (Kernel PCA·t-SNE·UMAP로 대체) - 분산 = 정보라는 가정에 의존 - 해석 가능성 저하 (주성분이 원변수의 선형결합) - Kernel PCA: 커널 트릭으로 비선형 차원축소 - Nonlinear PCA / Autoencoder: 신경망 기반 비선형 차원축소 📝 이 주제 관련 문제 학습 노트의 보강 개념을 직접 문제로 풀어보세요. - 공분산행렬 — PCA의 입력 — 표준화된 데이터의 X'X/(n−1) - Scree Plot — 고유값을 내림차순으로 그린 그래프 — 꺾이는(elbow) 지점에서 주성분 개수 선택 - 누적기여율 — 보통 7090% 설명력에서 주성분 개수 결정 - PC1, PC2 — 첫 번째·두 번째 주성분 — PC1이 가장 큰 분산 설명 - 부하량 — 원변수가 주성분에 기여하는 정도 (고유벡터의 성분) — 절댓값이 클수록 그 변수의 영향력 큼 - Biplot — 부하량과 스코어를 동시에 그려 변수·관측치 관계 시각화 - Non-metric MDS — 순위만 보존 — 비유클리드 거리 OK - Sparse PCA — 부하량을 희소하게 만들어 해석 가능성 향상 - Stress 값 — MDS가 거리 보존을 얼마나 잘 했는지 측정하는 손실함수 - PCA의 한계 — 선형 변환만 — 비선형 구조 포착 못함 (Kernel PCA·t-SNE·UMAP로 대체) 페이지 하단 "이 주제 문제 풀기" 버튼으로 전체 문제를 풀 수 있습니다.
차원 축소 — 주성분분석(PCA)과 다차원척도법(MDS)
과목: 데이터 분석 (3과목, 12번 주제) ·
키워드: 빅데이터 3V/5V · 기술통계 · 인공신경망 · 차원 축소 · 과적합 · 데이터 전처리 · 판별분석 · 데이터 기반 의사결정 · 추천 시스템 · 강화학습·지도학습
정의: 차원 축소는 많은 변수를 가진 데이터에서 핵심적인 정보만 추출하여 변수의 수를 줄이는 기법입니다.
핵심 Q&A (8개)
- PCA(주성분분석)의 목적은?
- 분산을 최대한 보존하면서 차원 축소
주성분들은 서로 직교(무상관), 1번 주성분이 분산 가장 많이 설명 - PCA 적용 전 반드시 해야 할 전처리는?
- 변수의 척도(단위)가 다르면 반드시 표준화(Standardization)
표준화하지 않으면 분산이 큰 변수가 주성분을 지배 - PCA에서 최대 주성분 수는?
- 원래 변수 수와 동일
(데이터 n개, 변수 p개일 때 최대 p개의 주성분) - MDS(다차원척도법)의 목적은?
- 개체 간 거리(비유사성)를 저차원 공간에서 시각화
유사한 개체는 가깝게, 다른 개체는 멀게 배치 - "MDS로 절대적 위치를 알 수 있다"는 맞는가?
- ❌ 아니다. MDS는 상대적 위치 관계만 보여줌
절대적 좌표가 아닌 개체 간 상대 거리를 나타낸다 - LDA(선형판별분석) vs PCA 차이는?
- PCA: 비지도, 분산 최대화, 일반 차원 축소
LDA: 지도(레이블 사용), 클래스 간 분산 최대화 / 내 분산 최소화
토픽모델링 LDA(Dirichlet Allocation)와 다름! - t-SNE의 특징과 한계는?
- 비선형 차원 축소, 시각화 특화
장점: 군집 구조 잘 보존
한계: 전역 구조 약함, 느림, 결과가 매번 다름
→ UMAP이 더 빠르고 전역 구조도 보존 - SVD와 PCA의 관계는?
- SVD: 행렬을 X = UΣV^T로 분해 (수학적 도구)
PCA: SVD를 활용한 차원 축소 (응용)
추천 시스템(MF), LSA 등에도 SVD 활용