계산이 느려지고, 시각화가 불가능하며, 오히려 성능이 떨어지는 차원의 저주가 발생한다.
차원 축소(Dimensionality Reduction)는 중요한 정보는 최대한 유지하면서 변수의 수를 줄이는 기법이다.
이번 1편에서는 차원 축소의 개념과 가장 핵심적인 방법인 PCA(주성분 분석)를 다룬다.
1. 차원 축소란? — 왜 필요한가
차원의 저주 (Curse of Dimensionality)
변수(차원)가 늘어날수록 생기는 문제들이 있다. 직관적으로 느껴지지 않을 수 있으니 예시로 이해해보자.
→ 거리 계산이 무의미해지고, KNN·SVM 등 거리 기반 알고리즘 성능이 급락한다.
차원이 늘어날수록 발생하는 구체적인 문제들:
- 데이터 희소성: 고차원 공간에서 데이터가 너무 흩어져 패턴 파악이 어렵다
- 계산 비용 폭발: 변수 수 증가 → 연산량·메모리 급증
- 과적합 위험: 데이터보다 파라미터가 많아지면 노이즈까지 학습
- 시각화 불가: 3차원 이상은 직접 눈으로 볼 수 없다
- 다중공선성: 변수들이 서로 상관되어 있으면 모형 해석이 어려워진다
차원 축소의 두 가지 방향
변수를 변환하지 않고 그대로 유지.
예) 10개 변수 중 가장 유용한 5개 선택
방법: 상관계수, 분산, LASSO, 랜덤 포레스트 중요도
원본 변수의 선형/비선형 결합.
예) 10개 변수를 결합해 3개의 새 변수 생성
방법: PCA, FA, MDS, SOM, Autoencoder
특성 추출로 만들어진 새 변수는 원본 변수와 직접 대응되지 않는 경우가 많다.
예) PCA로 만든 "주성분 1"은 키·몸무게·BMI의 조합일 수 있다.
→ 예측 성능은 높아지지만 "왜 이런 결과인가?"를 설명하기 어려워질 수 있다.
차원 축소 방법 분류
| 방법 | 약자 | 선형/비선형 | 지도/비지도 | 주요 목적 |
|---|---|---|---|---|
| 주성분 분석 | PCA | 선형 | 비지도 | 분산 최대화 |
| 요인 분석 | FA | 선형 | 비지도 | 잠재 요인 발견 |
| 다차원 척도법 | MDS | 선형/비선형 | 비지도 | 거리 관계 보존 |
| 자기조직화 지도 | SOM | 비선형 | 비지도 | 위상 구조 보존 |
| 선형판별분석 | LDA | 선형 | 지도 | 클래스 구분 최대화 |
| t-분포 확률이웃 임베딩 | t-SNE | 비선형 | 비지도 | 군집 시각화 |
2. PCA — 주성분 분석 (Principal Component Analysis)
핵심 아이디어 — 분산을 가장 많이 설명하는 방향 찾기
PCA의 목표는 데이터의 분산(정보)을 최대한 보존하면서 더 낮은 차원으로 투영하는 새로운 축(주성분)을 찾는 것이다.
비유하자면, 3D 조각품의 그림자를 어떤 방향에서 찍을 때 가장 많은 정보가 담기는가를 찾는 것과 같다. 정면에서 찍으면 입체감이 살아있고, 옆에서 찍으면 납작하게 보인다. PCA는 "가장 많은 정보가 담기는 방향"을 수학적으로 찾는다.

주성분(Principal Component)이란?
주성분은 원본 변수들의 선형 결합으로 만들어진 새로운 축이다. 몇 가지 중요한 특성이 있다.
- 제1주성분(PC1): 데이터의 분산을 가장 많이 설명하는 방향
- 제2주성분(PC2): PC1에 수직(직교)이면서 남은 분산을 가장 많이 설명
- 제k주성분: 이전 모든 주성분에 수직이면서 남은 분산 최대 설명
- 모든 주성분은 서로 직교(상관관계 = 0)
- 주성분 수 = 원본 변수 수이지만, 앞 몇 개만 사용해도 대부분의 정보를 담음
3. PCA 수행 단계 — 단계별로 이해하기
STEP 1: 데이터 표준화
변수마다 단위와 크기가 다르면 큰 값을 가진 변수가 주성분을 지배한다. 예를 들어 키(cm)와 몸무게(kg)를 함께 분석할 때, 키의 숫자가 크면 키 방향으로 분산이 과도하게 크게 계산된다. 따라서 반드시 평균 0, 표준편차 1로 표준화한다.
단위를 제거해 변수 간 공평한 비교 가능
STEP 2: 공분산 행렬 계산
변수들 사이의 관계(공분산)를 행렬로 정리한다. 공분산 행렬은 p×p 크기이며 (p = 변수 수), 대각 원소는 각 변수의 분산, 비대각 원소는 두 변수 간의 공분산이다.
표준화 후 공분산 행렬 = 상관 행렬 (Correlation Matrix)
STEP 3: 고유값 분해 (Eigenvalue Decomposition)
공분산 행렬을 고유값(Eigenvalue)과 고유벡터(Eigenvector)로 분해한다.
- 고유벡터: 주성분의 방향 (어느 방향으로 투영할지)
- 고유값: 해당 주성분이 설명하는 분산의 크기
- 고유값이 클수록 더 많은 분산을 설명하는 주성분
- 고유값을 내림차순으로 정렬 → PC1, PC2, PC3, ... 순서 결정
고유값: 2.8 1.2 0.6 0.25 0.15
분산 기여율: 56% 24% 12% 5% 3%
누적 기여율: 56% 80% 92% 97% 100%
5개 → 2개로 줄여도 정보의 80%가 유지된다.
보통 누적 분산 기여율이 70~90%가 되는 주성분 수를 선택한다.
STEP 4: 주성분 수 결정
몇 개의 주성분을 사용할지 결정하는 기준이 여러 가지 있다.
최소 주성분 수를 선택.
가장 많이 사용되는 방법.
분석 목적에 따라 기준 조정.
표준화된 데이터에서 고유값 = 1은
변수 하나의 분산과 같다는 의미.
→ 최소한 변수 하나 이상 설명해야 유용
고유값이 급격히 감소하다가
완만해지는 "팔꿈치" 지점을 선택.
시각적이라 주관적일 수 있음.

STEP 5: 주성분 점수 계산
선택한 주성분으로 원본 데이터를 변환한다. 각 데이터 포인트에 대해 주성분 방향으로의 투영값(주성분 점수)을 계산한다.
W: 선택한 주성분들의 고유벡터 행렬 (p×k, k = 선택한 주성분 수)
Z: 주성분 점수 행렬 (n×k) — 차원이 p에서 k로 축소된 새 데이터
4. 주성분 해석 — 결과를 어떻게 읽는가
요인 부하량 (Factor Loading)
각 원본 변수가 주성분에 얼마나 기여하는지를 나타내는 값이다. 절댓값이 클수록 해당 변수가 그 주성분에 강하게 영향을 미친다.
달리기 0.82 −0.12
수영 0.78 0.08
근력 0.45 0.76
유연성 0.38 0.80
BMI −0.65 0.25
→ "심폐 지구력 / 체중 관련" 주성분으로 해석 가능
PC2: 근력(0.76), 유연성(0.80)이 높음
→ "근육/유연성" 주성분으로 해석 가능
주의: 이름 붙이기는 주관적. 명확한 근거가 있어야 한다.
바이플롯 (Biplot)
주성분 공간에서 데이터 포인트와 원본 변수 방향을 함께 시각화한 그래프다. 변수가 같은 방향을 가리키면 양의 상관, 반대 방향이면 음의 상관을 의미한다. 데이터 탐색과 클러스터 확인에 유용하다.
5. PCA 활용 상황과 주의사항
• 변수 수가 매우 많고 다중공선성이 의심될 때
• 고차원 데이터를 2~3차원으로 줄여 시각화하고 싶을 때
• 머신러닝 전처리로 과적합을 줄이고 싶을 때
• 노이즈가 많은 데이터에서 주요 패턴만 추출하고 싶을 때
• 이미지 압축, 얼굴 인식 (Eigenface) 등
1. 반드시 표준화 먼저: 단위가 다른 변수들을 표준화 없이 쓰면 결과가 편향됨
2. 선형 관계만 포착: 변수 간 비선형 관계는 PCA로 제대로 표현 못함 → Kernel PCA, t-SNE 사용
3. 해석 어려움: 주성분은 원본 변수의 선형 결합 → 의미 부여가 임의적일 수 있음
4. 이상치에 민감: 분산을 최대화하는 방향을 찾으므로 이상치가 결과를 왜곡할 수 있음
5. 정보 손실 불가피: 일부 주성분을 버리면 그 부분의 정보는 사라짐
PCA는 비지도 학습이다. 분류 레이블 없이 오직 데이터의 분산 구조만 본다.
분류 목적으로 차원을 줄이려면 레이블 정보를 사용하는 LDA(선형판별분석)가 더 적합하다.
PCA는 분산이 큰 방향을, LDA는 클래스 간 차이가 큰 방향을 찾는다.
📌 핵심 정리
- 차원의 저주: 변수 증가 → 데이터 희소성, 계산 비용, 과적합, 시각화 불가
- 특성 선택: 원본 변수 중 중요한 것 선택 / 특성 추출: 새로운 변수 생성
- PCA 목표: 분산을 최대한 보존하면서 더 낮은 차원으로 투영
- 주성분: 원본 변수들의 선형 결합. 서로 직교. 분산 내림차순 정렬
- PCA 5단계: 표준화 → 공분산 행렬 → 고유값 분해 → 주성분 수 결정 → 점수 계산
- 고유값: 주성분이 설명하는 분산 크기. 고유벡터: 주성분 방향
- 주성분 수 결정: 누적 기여율 70~90% / 고유값 ≥ 1 (Kaiser) / 스크리 도표
- 요인 부하량: 원본 변수가 주성분에 기여하는 정도. 절댓값 크면 강한 영향
- PCA 주의: 표준화 필수 / 선형 관계만 / 이상치 민감 / 비지도
- PCA vs LDA: PCA는 분산 최대화 (비지도) / LDA는 클래스 구분 최대화 (지도)
▶ 2편에서는 FA(요인분석), MDS(다차원 척도법), SOM(자기조직화 지도)을 다룬다.
'수학&통계학' 카테고리의 다른 글
| 군집화 (0) | 2026.05.15 |
|---|---|
| 차원 축소 (2) : 요인 분석(FA), 다차원 척도법(MDS), 자기조직화 지도(SOM) (0) | 2026.05.15 |
| 시계열 분석 (3) : 시계열 분해, 이동평균, 지수평활법, 평가지표 (0) | 2026.05.15 |
| 시계열 분석 (2) : AR, MA, ARMA, ARIMA, SARIMA (0) | 2026.05.15 |
| 시계열 분석 (1) : 정상성, 자기상관 (0) | 2026.05.15 |