AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

빅데이터분석기사 필기/2과목 : 빅데이터 탐색

2.2 주성분 분석(PCA) 및 특이값 분해(SVD)

qordnswnd123 2025. 7. 1. 15:41

📘 주성분 분석(PCA) & 특이값 분해(SVD)

1️⃣ PCA (Principal Component Analysis): 개요 및 목적

🔹 정의

  • 고차원 데이터를 저차원으로 정보 손실 최소화하며 축소하는 기법.
  • 기존 변수의 선형 조합으로 구성된 새로운 비상관 변수 집합(주성분) 생성.

🔹 주요 목적


차원 축소 많은 변수 → 핵심 정보만 담은 적은 수의 주성분으로
시각화 용이성 2D/3D로 축소해 패턴 탐색, 클러스터 확인 등
노이즈 제거 정보가 적은 변수 제거 → 데이터 정제 효과
분석 효율 향상 모델 복잡도 감소, 계산량 축소
상관성 제거 상호 상관된 변수들을 직교 주성분으로 전환
 

2️⃣ PCA 적용 절차: 단계별 정리

  1. 데이터 정규화 (표준화)
    • 변수 단위/분포 불일치 시 필수 (z-score 방식)
    • 평균 0, 표준편차 1로 변환
  2. 공분산 행렬 계산
    • 변수 간 분산 및 공분산 구조 파악
    • 정방 행렬, 대칭
  3. 고유값 & 고유벡터 계산
    • 공분산 행렬의 고유분해
    • 고유값 → 설명력
      고유벡터 → 주성분 방향
  4. 주성분 선택
    • 고유값 큰 순으로 누적 설명력 기준 선택 (예: 85% 이상 설명하는 주성분)
  5. 주성분으로 데이터 변환 (투영)
    • 기존 데이터를 주성분 축으로 재표현
    • 결과: 차원 축소된 데이터셋

3️⃣ PCA에서 주요 개념 정리


고유값 (λ) 주성분이 설명하는 분산의 크기
고유벡터 주성분 축의 방향
설명력 (Explained Variance) 각 주성분이 전체 분산에서 차지하는 비율
누적 설명력 여러 주성분이 합쳐서 설명하는 비율
비상관성 (Orthogonality) 주성분들 간 상호 독립 → 회귀 분석 등에서 다중공선성 해소
 

4️⃣ SVD (Singular Value Decomposition): 개요 및 수학적 기반

🔹 정의

  • 행렬 A를 세 개의 행렬 곱으로 분해하는 선형대수 기법
    A = U × Σ × Vᵗ

🔹 구성


U m×m 직교 행렬 원본 데이터 좌측 방향 정보
Σ (시그마) m×n 대각 행렬 축별 분산(정보) 크기: 특이값
Vᵗ n×n 직교 행렬 원본 데이터 우측 방향 정보
 

🔹 핵심 특징

  • 고차원 행렬을 저차원 구조로 재표현
  • 특이값은 정보의 밀집도를 나타내며, 일부만 사용해도 전체 구조 근사 가능

5️⃣ PCA와 SVD 관계 및 차이점

                                                           PCA                                                                                 SVD
접근 방식 통계적 (분산 기반) 수치해석적 (행렬 분해 기반)
적용 대상 수치형 데이터 임의 행렬 (정방X도 가능)
구현 방식 공분산 행렬 고유분해 행렬 자체를 분해
목적 주성분 추출, 시각화, 다중공선성 제거 차원 축소, 데이터 근사, 압축
공통점 설명력 높은 축 선택, 노이즈 제거 주축만 선택해도 정보 유지 가능
 

6️⃣ 실무 적용 예시

📊 예: 고객 데이터 시각화

  • 나이, 소득, 구매횟수 등 변수 다수 → 2D PCA
  • 시각화 통해 클러스터 분포 확인

🛍 추천 시스템

  • 사용자 × 아이템 행렬 → SVD 분해
  • 적은 수의 특이값만 사용하여 유사도 기반 추천 가능

🖼 이미지 압축

  • 이미지 → 행렬 표현 → SVD 분해
  • 일부 특이값만으로 복원해 저장 공간 절감

7️⃣ 시험 대비 기출 포인트 요약


PCA는 정규분포 가정 여부 ❌ 필요 없음
주성분 선택 기준 ✅ 고유값 큰 순
설명력, 누적 설명력 개념 ✅ % 해석 가능해야 함
PCA = 차원 축소 vs 정제 ❌ 정제는 아님
SVD 정방행렬 한정 여부 ❌ 아님, 임의 행렬 가능
SVD 구성 요소 ✅ 직교 + 대각
차원 축소 효과 ✅ 분석 효율 향상, 노이즈 제거
 

8️⃣ 핵심 정리 암기 문장

 
📌 PCA는 공분산을 고유분해해 ‘방향’을 찾고,
📌 SVD는 데이터를 직교와 대각으로 ‘분해’해 정보를 압축한다.
📌 둘 다 정보는 유지, 차원은 축소, 분석은 간결!

'빅데이터분석기사 필기 > 2과목 : 빅데이터 탐색' 카테고리의 다른 글

2.5 추정과 검정  (0) 2025.07.02
2.4 확률과 통계  (0) 2025.07.01
2.3 기초 통계량  (0) 2025.07.01
2.1 이상치와 결측치 처리  (1) 2025.06.30