본문 바로가기
Data/Machine Learning

PCA vs t-SNE

by forestlim 2021. 1. 18.
728x90
반응형

PCA 와 t-SNE 는 두 기법 모두 차원을 축소하는데 쓰인다. 

 

PCA

그 중 주성분 분석(PCA)은 가장 인기 있는 차원 축소 알고리즘읻다. 먼저 데이터에 가장 가까운 초평면을 정의한 다음, 데이터를 이 평면에 투영시킵니다. PCA는 훈련 세트에서 분산이 최대인 축을 찾습닏다.

 

그러나 PCA의 경우 선형 분석 방식으로 값을 사상하기 때문에 차원이 감소되면서 군집화 되어 있는 데이터들이 뭉게져서 제대로 구별할 수 없는 문제를 가지고 있다. 

 

 

출처 www.youtube.com/watch?v=NEaUSP4YerM  

 

위 그림은 2차원에서 1차원으로 PCA 분석을 이용하여 차원을 줄인 예이다. 2차원에서는 파란색과 붉은색이 구별이 되는데, 1차원으로 줄면서 1차원상의 위치가 유사한 바람에, 두 군집의 변별력이 사라져버렸다. 

 

t-SNE

이러한 문제를 해결하기 위한 차원 감소 방법으로는 t-SNE 방식이 있다. 

대략적인 원리는 이러하다. 먼저 점을 하나 임의로 선택한다. 선택한 점을 검은점으로 보겠다. 이 검은점에서부터 다른 점까지의 거리를 측정한다. 다음 T분포 그래프를 이용하여, 검정점(기준점)을 T 분포상의 가운데 위치하게 하고, 기준점으로부터 상대점 까지 거리에 있는 T분포의 값을 선택(빨간 x) 하여, 이 값을 친밀도(Similarity)라고 하고, 이 친밀도가 가까운 값끼리 묶는다. 

 

이 경우, PCA처럼 군집이 뭉게지지 않는다는 장점이 있지만, 매번 계산할 때마다 축의 위치가 바뀌므로, 다른 모양으로 나타나게 된다. 단, 데이터의 군집성과 같은 특성들은 유지가 되어 시각화를 통한 데이터 분석에서는 매우 유용하나, 매번 값이 바뀌기 때문에 머신러닝 모델의 학습 피쳐로 사용되기에는 다소 어려운 점이 존재한다. 

 

위 그림처럼 매번 수행할 때마다 각 데이터의 군집은 동일하지만 군집을 대표하는 값들이 계속 바뀌게 되는 것을 볼 수 있다. 

 

 

출처 : bcho.tistory.com/1210

728x90
반응형

댓글