1. 차원 축소의 개념 및 필요성
- 고차원 데이터는 연산량 증가, 시각화 한계, 과적합(overfitting) 문제 발생 가능
- 데이터 분석의 효율성을 높이기 위해 주요 정보 손실 없이 차원을 줄이는 기법 필요
- 차원 축소는 데이터의 본질적인 구조를 보존하면서도 데이터 크기, 연산 복잡도 감소 효과를 가짐
- 주성분 분석(PCA)은 대표적인 선형 차원 축소 방법으로 널리 활용됨
2. PCA(주성분 분석)의 개념 및 정의
- PCA는 고차원 공간의 데이터를 저차원 공간에 사영(projection)하여 데이터의 분산을 최대화하는 축을 찾는 방식임
- 통계학과 신호처리에서 사용되던 고전적인 방법으로, 데이터 간 상관관계를 제거하여 새로운 축으로 재구성함
- 기존 변수들의 선형 조합을 통해 주성분(Principal Component) 생성
- 각 주성분은 서로 직교(orthogonal)하며, 데이터 분산을 가장 잘 설명하는 방향부터 순차적으로 구성됨
3. PCA의 동작 절차 및 과정
① 데이터 정규화(Normalization)
- 입력 데이터의 각 feature는 평균 0, 분산 1로 표준화 수행
- 단위 차이로 인한 편향 제거 목적
② 공분산 행렬 계산(Covariance Matrix)
- 데이터의 상관 관계를 파악하기 위해 공분산 행렬 도출
- 공분산이 클수록 변수 간 강한 선형 관계 존재
③ 고유값 분해(Eigen Decomposition)
- 공분산 행렬을 고유값 분해하여 고유값과 고유벡터 추출
- 고유값은 분산의 크기를, 고유벡터는 주성분의 방향을 나타냄
④ 주성분 선택 및 차원 축소
- 고유값이 큰 순서대로 주성분을 선택
- 누적 설명 분산 비율(Cumulative Explained Variance)을 기준으로 보존할 차원 수 결정
- 선택된 주성분으로 데이터를 선형 변환하여 새로운 좌표계로 매핑
⑤ 차원 축소 결과 도출
- 기존 데이터는 의미 있는 저차원 형태로 변환됨
- 주성분 공간에서는 변수 간 상관성이 제거됨
4. 수학적 설명
- 데이터 행렬 X가 (n × p)의 형태일 때,
중심화(centered)된 X에 대해 공분산 행렬 S = (1/n) XᵀX 계산 - 공분산 행렬 S의 고유값 분해: S = VΛVᵀ,
여기서 V는 고유벡터 행렬, Λ는 고유값 대각행렬 - 주성분 축으로 데이터를 사영하면: Z = XV_k,
V_k는 상위 k개의 고유벡터로 구성된 행렬 - Z는 k차원으로 축소된 표현이며, 전체 분산 중 가장 큰 비율을 유지함
5. PCA의 특징
- 데이터 간 중복성 제거 및 정보 응축 가능
- 데이터 시각화, 노이즈 제거, 전처리 단계에서 활용 용이
- 선형 변환 기반이므로 비선형 구조 데이터에는 한계 존재
6. 활용 사례
- 이미지 압축 및 복원 (예: 얼굴 인식 LFW, Eigenfaces 등)
- 텍스트 분류 전 희소한 단어 벡터 차원 축소
- 금융 데이터에서 주요 리스크 요인 도출
- 유전체 분석 등 고차원 생명과학 데이터 정제
7. PCA의 장단점
장점
- 정보 손실 최소화하면서 데이터 차원 감소 가능
- 변수 간 상관관계 제거 및 중복성 해소
- 계산 방식이 단순하고 직관적이며 해석 용이단점
- 선형 관계만 고려하므로 비선형 구조 반영 불가
- 주성분의 의미 해석이 어려울 수 있음
- 이상치(outlier)나 스케일에 민감
8. PCA와 관련된 확장 기법
- Kernel PCA: 비선형 차원 축소를 위한 커널 트릭 적용
- Sparse PCA: 희소성(sparsity)을 고려한 주성분 구성
- Incremental PCA: 대용량 데이터에서 배치 단위 학습 가능
- Factor Analysis와의 비교: PCA는 분산 최대화, FA는 잠재요인 추정이 목적
'IT Study > 인공지능 관련' 카테고리의 다른 글
| 🤖 자연어 처리에서의 토큰화(Tokenization) 전략 분석 (0) | 2025.04.10 |
|---|---|
| 🤖 데이터 불균형 문제(Class Imbalance) 대응 기법 (SMOTE, 가중치 등) (2) | 2025.04.09 |
| 🤖 서포트 벡터 머신(SVM)의 핵심 개념과 커널 함수 역할 (0) | 2025.04.08 |
| 🤖 딥러닝 모델 학습 과정에서의 오버피팅과 정규화 전략 (1) | 2025.04.07 |
| 🎯 Feature Engineering 기초: 수치형, 범주형, 시간형 변수 처리 (0) | 2025.04.07 |