topic난이도 · 약 30

PCA와 SVD — 차원 축소의 수학

공분산행렬 고유분해와 특이값분해 — 데이터에서 '본질'만 추출.

#PCA#SVD#차원축소#고유값#추천시스템
왜 배우는가

1000차원 데이터를 2차원 그래프에 그리려면? 얼굴 이미지 수천 장에서 공통 패턴을 뽑으려면? 넷플릭스가 시청 패턴에서 '장르 축'을 찾는 원리는? 모두 PCA·SVD 한 쌍의 수학 도구다.

PCA(주성분분석)는 '데이터 분산이 가장 큰 방향'을 찾는다. 직관: 흩어진 점들 사이에 가장 긴 '축'을 찾고, 그 축에 투영하면 정보 손실이 최소다. 이 축이 곧 공분산행렬의 최대 고유값에 대응하는 고유벡터다.

PCA 절차 4단계: ① 데이터 평균 0으로 센터링 → ② 공분산행렬 Σ 계산 → ③ Σ의 고유값·고유벡터 구하기 → ④ 상위 k개 고유벡터에 투영 (k차원으로 축소).

SVD(특이값분해)는 임의 행렬 A를 A = UΣVᵀ로 분해한다. U·V는 직교행렬(회전), Σ는 대각행렬(스케일). 정사각행렬이 아니어도 가능한 가장 일반적인 행렬 분해. PCA는 SVD의 특수 경우.

도구입력결과응용
PCAn×d 데이터 행렬주성분 축들시각화, 특성 선택
SVD임의 m×n 행렬UΣVᵀ 분해추천시스템, 잠재의미분석
Truncated SVD상위 k개 특이값만 사용저계수(low-rank) 근사이미지 압축, 노이즈 제거

넷플릭스 프라이즈의 핵심이 SVD였다. 사용자×영화 평점 행렬을 R ≈ UΣVᵀ로 근사하면, U의 행 = 사용자 '취향 벡터', V의 행 = 영화 '장르 벡터'. 결측 평점은 UΣVᵀ로 예측.

PCA/SVD 5가지 얼굴 — 넷플릭스 추천, Eigenfaces, 유전자 분석, 이미지 압축, LSA.

실생활 응용: ① 얼굴 인식 Eigenfaces ② 넷플릭스 추천(협업 필터링) ③ 유전자 발현 데이터 분석 ④ 자연어 LSA(잠재의미분석) ⑤ 이미지 압축(저계수 근사).

PCA 1단계 — 공분산행렬의 고유값 계산.
실기 드릴 4문항
edit실기 드릴 · 단답형

PCA에서 데이터 분산이 최대인 방향은 공분산행렬의 어떤 벡터인가?

check_circle실기 드릴 · OX

SVD는 정사각행렬에만 적용할 수 있다.

radio_button_checked실기 드릴 · 객관식

다음 중 PCA가 주로 쓰이지 않는 작업은?

check_circle실기 드릴 · OX

Truncated SVD로 상위 k개 특이값만 사용한 A_k는 Frobenius norm 기준으로 A에 가장 가까운 계수 k 행렬이다 (Eckart-Young 정리).