← Back to Blog
[데이터분석] PCA와 t-SNE
artificial intelligence > data analysis
2026-07-014 min read
#Data Analysis
PCA (Principal Component Analysis)
PCA 목적
고차원 데이터 정보 최대한 유지하면서 저차원 공간으로 투영.
핵심 아이디어.
데이터 분산(Variance) 최대 방향 탐색
분산 크다는 의미.
따라서 분산 최대 방향만 남기면 정보 손실 최소화 가능.
데이터 표현
데이터 개수 N, Feature 개수 d라고 가정.
데이터 행렬
X∈RN×d
각 행 하나 데이터, 각 열 하나 Feature 의미.
먼저 평균 제거(Centering) 수행.
X←X−μ
평균 제거 목적.
모든 데이터 중심 원점으로 이동.
공분산 계산 기준 통일 가능.
차원 축소 문제
100차원 데이터를 1차원으로 줄인다고 가정.
새로운 축
w
선택.
모든 데이터 해당 방향으로 투영.
z=Xw
문제 하나 존재.
어떤 방향 선택해야 정보 가장 많이 유지 가능할까?
분산 최대화
PCA 기준 정보량 = 분산.
따라서 목표.
wmaxVar(Xw)
평균 제거 완료 상태라면
E[X]=0
분산 전개.
Var(Xw)=E[(Xw)T(Xw)]
=E[wTXTXw]
=wTE[XTX]w
여기서
C=N1XTX
공분산 행렬 의미.
따라서
Var(Xw)=wTCw
결국 목적 함수.
wmaxwTCw
제약조건
문제 하나 존재.
w
크기 계속 키우면
wTCw
무한히 증가.
의미 없는 해 발생.
따라서
wTw=1
제약 추가.
최종 문제.
wmaxwTCw
subject to
wTw=1
라그랑주 승수법
라그랑주 함수.
L=wTCw−λ(wTw−1)
미분.
∂w∂L=2Cw−2λw=0
정리.
Cw=λw
바로 고유값 문제(Eigenvalue Problem).
왜 고유벡터 선택?
양변에
wT
곱하면
wTCw=λwTw
제약조건
wTw=1
대입.
wTCw=λ
좌변.
투영 후 분산
우변.
고유값
즉,
고유값 = 해당 방향 분산
의미.
가장 큰 고유값 대응 고유벡터 선택.
첫 번째 Principal Component.
두 번째로 큰 고유값 대응 고유벡터.
두 번째 Principal Component.
최종 차원 축소
상위 k개 고유벡터 선택.
W=[w1,w2,⋯,wk]
차원 축소 결과.
Y=XW
즉,
원래 좌표계
X
새로운 좌표계
Y
변환.
PCA 본질.
분산 최대 직교기저(Orthogonal Basis) 탐색
또는
데이터 분산 최대 방향으로 좌표계 회전(Rotation)
SVD 관계
실제 구현 대부분 Eigen Decomposition 대신 SVD 사용.
X=UΣVT
여기서
V
열벡터.
Principal Component 동일.
이유.
XTX=VΣ2VT
공분산 행렬 고유분해 결과와 동일하기 때문.
t-SNE (t-distributed Stochastic Neighbor Embedding)
t-SNE 목적
PCA와 목적 다름.
PCA.
전체 데이터 구조 유지
t-SNE.
고차원 공간 이웃 관계 최대한 유지
즉,
절대적인 거리보다 가까운 데이터끼리 가까운 위치 유지 목적.
거리 대신 확률 사용
고차원 데이터
xi,xj
사이 거리 계산.
∥xi−xj∥2
거리 그대로 사용하지 않음.
가우시안 분포 이용.
pj∣i=∑k=iexp(−2σi2∥xi−xk∥2)exp(−2σi2∥xi−xj∥2)
의미.
i 기준 j가 이웃일 확률
거리 가까울수록 확률 증가.
거리 멀수록 확률 감소.
대칭 확률
조건부 확률 그대로 사용하지 않음.
대칭화 수행.
Pij=2Npi∣j+pj∣i
고차원 공간 이웃 관계 완성.
저차원 공간 생성
2차원 좌표
yi
랜덤 초기화.
이번에는 Gaussian 사용하지 않음.
Student-t 분포 사용.
Qij=∑k=l(1+∥yk−yl∥2)−1(1+∥yi−yj∥2)−1
Student-t 사용하는 이유
Gaussian 사용 시 Crowding Problem 발생.
고차원 공간.
멀리 떨어질 공간 충분.
2차원 공간.
모든 점 중심으로 몰림.
Student-t 분포.
꼬리(Heavy Tail) 길다.
멀리 있는 데이터 간 반발력(Repulsive Force) 유지 가능.
클러스터 분리 효과 향상.
목적 함수
고차원 확률
P
저차원 확률
Q
최대한 비슷하게 만드는 문제.
KL Divergence 사용.
KL(P∥Q)=i=j∑PijlogQijPij
최종 목적.
YminKL(P∥Q)
Gradient Descent
닫힌 해(Closed-form Solution) 존재하지 않음.
Gradient 계산.
∂yi∂L=4j∑(Pij−Qij)1+∥yi−yj∥2yi−yj
반복 업데이트.
yi←yi−η∂yi∂L
수렴 시까지 반복.
PCA와 차이
PCA.
선형 변환 기반 차원 축소.
공분산 행렬 고유값 문제 해결.
t-SNE.
비선형 최적화 기반 차원 축소.
고차원과 저차원의 이웃 관계를 확률분포로 표현.
두 확률분포 차이인
KL(P∥Q)
최소화하여 최종 임베딩 생성.