t-SNE 알고리즘 이해

학습 내용

목차

01. t-SNE를 이용한 매니폴드(manifold learning)
02. PCA 기반 차원 감소의 문제점
03. scikit-learn에 있는 손글씨 숫자 데이터셋에 t-SNE 매니폴드 학습 적용

01. t-SNE를 이용한 매니폴드(manifold learning)

목차로 이동하기

(가) t-Distributed Stochastic Neighbor Embedding의 약자
(나) 매니폴드 학습(manifol learning) 알고리즘은 이 시각화 알고리즘은 시각화가 목적으로 3개 이상의 특성을 뽑는 경우가 없다.
(다) 이 알고리즘은 훈련 데이터를 새로운 표현(시각화)으로 변환시키지만, 새로운 데이터에는 적용하지 못한다.
(라) 매니폴드(manifold) 학습은 탐색적 데이터 탐색에 유용하지만 지도학습용으로 거의 사용 안한다.
(마) 매니폴드 학습 알고리즘은 주성분 분석(PCA)의 비선형 버전으로 볼 수 있다.
(사) 데이터 포인트 사이의 거리를 잘 보존하는 2차원 또는 3차원 표현 찾기
(아) 테스트 세트에는 적용할 수 없고, 단지 학습용 데이터에만 변환 가능.

02. PCA 기반 차원 감소의 문제점

목차로 이동하기

(가) 차원을 감소하면서 중복되는 현상으로 인해 다른 class의 내용을 확인이 어려움
(나) 2차원에서 1차원으로 차원을 줄여, 2차원에서 구별되는 것이 1차원상의 위치가 유사해 두 군집의 변별력이 없어졌다.
출처 : https://www.youtube.com/watch?v=NEaUSP4YerM

t-SNE(티스니)

목적 : 고차원의 공간의 점 집합에서 저차원의 공간(일반적으로 2차원) 평면에서 점의 충실한 표현 찾기

(1) 원본 데이터를 2차원 공간에 랜덤한 위치에 놓는다.
(2) 임의로 하나의 데이터 포인터를 선정하고, 그리고 t분포 그래프에서 임의로 선정한 데이퍼 포인트를 기준점으로 하여 다른 데이터 포인트와의 거리에 있는 t분포값을 선택.
이 t-분포값을 친밀도(Similarity)라 한다. 친밀도가 가까운 값을 묶는다.
(2) 원본 특성 공간에서 가까운 포인트는 가깝게, 멀리 떨어진 포인트는 멀어지게 한다.
(3) t-SNE는 멀리 떨어진 포인트와 거리 보존보다 가까이 있는 포인트에 더 많은 비중을 둔다.

장단점

장점 : PCA와는 달리 군집이 중복되지 않는다. 약간 조정해야 하지만 기본값으로 잘 동작한다. 데이터의 군집성과 같은 특성들이 유지되기 때문에 시각화를 통한 데이터 분석에 유용하다.

단점 : 임의의 데이터 포인트를 선정한다. 매번 계산할 때마다 축의 위치가 바뀌어서 다른 모양으로 나타난다. 머신러닝 모델의 학습 피쳐로 사용하는 것의 어려움이 있다.

03. scikit-learn에 있는 손글씨 숫자 데이터셋에 t-SNE 매니폴드 학습 적용

목차로 이동하기

라이브러리 불러오기 및 그래프 한글 설정

데이터 불러오기 및 확인

PCA를 이용한 2차원으로 축소

처음 두 개의 주성분을 이용해 그래프를 그리고, 
각 샘플에 해당하는 클래스의 숫자를 표시

두개의 주성분을 시각화해보기

숫자 0, 6, 4는 두 개의 주성분만으로 잘 분리된 것 같다. 
하지만 중첩된 것이 있고, 다른 숫자들은 대부분 많이 겹쳐 있다.

숫자 데이터셋을 t-SNE 를 적용해 보기

추가학습 URL

https://distill.pub/2016/misread-tsne/
https://www.slideshare.net/ssuser06e0c5/visualizing-data-using-tsne-73621033
http://kolikim.tistory.com/29