4. Introduction
4
고차원 데이터의 시각화는 다양한 분야에서 중요한 과제
다양한 차원을 취급
예 : 유방암 관련 세포핵의 종류 → 30 종류
예 : 문서를 표현하는 단어벡터 → 수천 차원
지금까지 다양한 방법이 연구되어왔다
이미지 기반 기법(Image based)
Chernoff faces [Chernoff, 1973]
Pixel based technique [Keim, 2000]
차원 감소 기법(Dimension reduction)
Principal Component Analysis [Hotteling, 1993]
Multi Dimensional Scaling [Torgerson, 1952]
7. Introduction
고차원 데이터의 시각화는 다양한 분야에서 중요한 과제
다양한 차원을 취급
예 : 유방암 관련 세포핵의 종류 → 30 종류
예 : 문서를 표현하는 단어벡터 → 수천 차원
본논문의 목적
고차원 데이터 𝑋 = {𝑥1, 𝑥2, … , 𝑥 𝑛 }를 도시 가능한
저차원 데이터 𝑌 = {𝑦1, 𝑦2, … , 𝑦𝑛 } 로 표시
데이터의 Local한 구조뿐만 아니라 다양체(Manifold)와 같은
구조를 유지한 체 가시화
7
12. SNE – (1)
유사도 높음
𝑥 𝑘
12
유사도 낮음
Stochastic Neighbor Embedding (SNE)
고차원 공간에서 유클리드 거리(Euclidean distance)를 데이터 포인트의 유사성을
표현하는 조건부 확률(conditional probability)로 변환하는 방법
𝑥𝑗 의 𝑥𝑖 에 대한 유사도를 나타내는 조건부 확률
𝑥𝑖 를 중심으로 하는 가우스 분포(Gaussian distribution)의
밀도에 비례해 근방이 선택되도록
조건부 확률이 높다 → 데이터 포인트가 가깝다
조건부 확률이 낮다 → 데이터 포인트가 멀다
𝑥𝑖를 중심으로 하는 가우스 분포
𝑥𝑖 𝑥𝑗
13. SNE – (2)
Stochastic Neighbor Embedding (SNE)
데이터 점 𝑥𝑖 에 대한 데이터 점 𝑥𝑗 의 조건부 확률은
조건부 확률:𝑥𝑖 에 대한 𝑥𝑗 의 유사도 표현
두점간의 유사도 모델링화에만 주목 → 𝑝𝑖|𝑖 = 0
𝑥𝑖 : 고차원 데이터 점
𝑥𝑗 : 고차원 데이터 점
𝜎𝑖: 𝑥𝑖 를 중심으로 한 가우스 분포의 분산
13
고차원 공간에서 유클리드 거리(Euclidean distance)를 데이터 포인트의
유사성을 표현하는 조건부 확률(conditional probability)로 변환하는 방법
14. SNE – (3)
고차원 데이터 포인트에 대응하는 저차원 데이터 포인트를 정의
xi , xj
고차원 공간표현
맵점의 조건부 확률
14
yi , yj
저차원 공간표현(맵점)
두 점 사이의 유사성 모델링에만 주목 → 𝑞𝑖|𝑖 = 0
Map 포인트가 제대로 모델링 되었다면 𝑝𝑗 |𝑖 = 𝑞 𝑗| 𝑖
𝑝 𝑗| 𝑖 과 𝑞𝑗|𝑖 간의 KL거리를 최소화하도록 맵점을 탐사
15. SNE – (4)
구배법을 이용하여 KL 거리의 최소화를 수행
모든 데이터 포인트에 대한 KL 거리의 합
𝑃𝑖: 데이터 점 𝑥𝑖 대한 모든 데이터 점의 조건부 확률 분포
𝑄 𝑖: 맵점 𝑦𝑖대한 모든 맵점의 조건부 확률 분포
KL거리는 비대칭
맵상에서의 거리는 동일하게 가중되어있지 않다.
맵상에서 먼 점을 가까운 데이터 점에 대응 → cost large
맵상에서 가까운 점을 먼 데이터 점에 대응 → costsmall
15
맵상에서 Local한 구조를 유지한다.
16. SNE – (5)
16
데이터 점 𝑥𝑖 대한 가우스 분포의 분산 선택
단일 분산을 모든 데이터 점에 부여 → 부적절
밀도 높은 영역의 데이터 점 → 분산 소
밀도 얇은 영역의 데이터 점 → 분산 대
Perplexity scale에 의한 binary search의 도입
𝑃𝑒𝑟𝑝: 데이터 점 𝑥𝑖 의 유효한 근방의 개수의 척도
지정된 𝑃𝑒𝑟𝑝를 갖도록 𝜎𝑖 를설정
일반적으로는 5~50사이를 𝑃𝑒𝑟𝑝로서 설정
※𝜎𝑖 에 대해서 𝑃𝑒𝑟𝑝는 일정하게 증가
Perplexity를 정의
17. SNE – (6)
각 맵점의 구배는 놀랍도록 아주 심플
물리적인 구배의 해석
맵점 𝑦𝑖와 다른 맵점 𝑦𝑗間 사이의 스프링에 의한 합성력
스프링은 ( 𝑦𝑖 − 𝑦𝑗) 방향으로 작용
맵점이 너무 가까우면 → 스프링은 반발
맵점이 너무 멀면 → 스프링은 당김
스프링의 힘은stiffness와 길이에 비례한다
17
( pj|i qj|i pi| j qi| j ) ( yi yj )
데이터 점의 유사도과
맵점의 유사도의 불일치
맵상에서의 거리
18. SNE – (7)
구배법에 의한 update
1. 평균 0에 분산이 작은 등방성 가우스 분포로부터
무작위로 초기 맵점을 샘플링
2. Local minimum에 빠지지 않도록 모멘텀을 도입
𝑌(𝑡)
𝜂
𝛼 𝑡
∶ 시간 𝑡에서의 맵점
∶ learning rate
∶ 시간 𝑡에서의 모멘텀
학습 초기 단계에서는 업데이트 후 gaussian 노이즈를 추가
점차 노이즈의 분산을 작게局所解か脱出するのを手助けする
18
Local minimum으로부터 탈출하는 것을 도움
19. SNE – (8)
SNE의 약점
노이즈의 초기값과 감쇠율의 설정이 매우 중요
위에서 매개 변수가 학습속도와 모멘텀도 관계
매개 변수의 탐색에 상당한 시간이 소요
수렴이 보장된 다른 기법이 사용하기 쉽다
계산시간이 단축된 매개 변수의 탐색없이
좋은 결과를 얻을 수있는 최적화 기법이 필요
t-Distributed Stochastic
Neighbor Embedding
19
21. t-SNE
21
SNE : 상당히 합리적인 가시화를 실현하였으나
Cost ft’n의 최적화가 어려움
Crowding문제 (후술)로 인하여 처리가 곤란
t-SNE: 이러한 문제를 해결한 개량형 SNE
개선점
SNE의 cost ft'n을 대칭적 버젼을 사용
• 구배가 보다 심플해짐
저차원 공간(맵)상에서의 두점간의 유사도의 계산을
gaussian distribution이 아닌 Student-t distribution
기준으로
• Crowding문제와 최적화의 어려움을 경감
22. Symmetric SNE – (1)
SNE: 조건부 확률분포 𝑝 𝑗|𝑖와 𝑞 𝑗|𝑖의 KL 거리를 최소화
대체안:동시확률분포 𝑝 𝑗𝑖와 𝑞 𝑗𝑖의 KL 거리를 최소화
Cost ft’n은
22
조건부 확률분포의 경우와 마찬가지로 𝑝𝑖 𝑗 = 𝑞𝑖 𝑗 = 0
이경우를 Symmetric SNE라고 부름
분포가 임의의 𝑖 와 𝑗 에 대하여 대칭( 𝑝𝑖 𝑗 = 𝑝𝑗 𝑖 , 𝑞𝑖 𝑗 = 𝑞𝑗 𝑖 )
23. Symmetric SNE – (2)
Symmetric SNE의 맵점의 유사도
Symmetric SNE의 데이터점의 유사도
그러나 데이터점 𝑥𝑖 가 Out-lier시에 문제가 발생
(모든 데이터점에 대하여 가 클 경우)
23
24. Symmetric SNE – (3)
Out-lier에 의한 악영향
1. 데이터점 𝑥𝑖가 out-lier인 경우 → 가 커짐
2. 동시확률 𝑝𝑖𝑗가 상당히 작아짐
3. 맵점 𝑦𝑖의 cost ft’n로의 영향력이 작아짐
4. 맵점의 위치가 잘 정해지지 않음.
이를 방지하기 위해 데이터 점의 유사도 형태를 변경
이에 따라 모든 데이터점이 비용함수에 기여 !
Symmetric SNE의 구배는 보다 심플
ij
2n
i|jj|ip p
p ( 𝑛 은 데이터 점의 총수)
24
25. Crowding problem – (1)
2차원 공간상에서 3개를 등간격
본질적으로 10차원을 갖는 고차원 공간에서의 다양체(Manifold)
필기 숫자 문자 데이터 세트를 상상하면 된다
10차원 다양체에서의 거리를 정확하게 모델링 할 수 없다.
예 : 10 차원 다양체에서 상호 등간격인 11개의 데이터점
2차원 공간으로의 정확한 매핑은 불가능
차원수+1까지의 개수 밖에 일정한 간격으로 배치할 수 없다
???
25
2차원 공간상에서 4개를 등간격
26. Crowding problem – (2)
26
데이터점이 𝑥𝑖 의 주변에 균일하게 분포
이차원 공간의 space를 생각하면
𝑥𝑖 로부터 적당히 떨어진 점을 위한 space : 좁게
𝑥𝑖 로부터 가깝게 위치한 점을 위한 space : 넓게
→ 차원이 많을수록 등간격으로 위치하는 점은 증가
→ 작은 거리를 정확하게 표현하면
적당히 떨어진 점은 아주 멀리 배치된다
SNE에서는 상당히 떨어진 점에는 약간의 인력만
그러나 중심에는 상당히 많은 인력이 모여 버려서,
잠재적인 클러스터를 형성하는 것을 방해함
Crowding problem
27. Crowding problem – (3)
27
UNI-SNE [Cook et al., 2007]
작은 혼동비(confusion ratio)를 가진 균일 배경분포
모델(uniform background distribution model)의 도입
모든 스프링에 미세한 척력(repulsive force)을 추가
SNE보다 뛰어난 성능을 보여 주지만, 최적화가 어려움
UNI-SNE의 최적화
1. 일반 SNE으로 최적화
2. 혼합 비율을 약간 증가시켜 최적화
3. 클러스터를 형성하기 위한 갭(gap)이 생성된다
2개의 클러스터가 최적화 초기 단계에서 분리된 경우
그들을 다시 묶기 위한 힘은 없어진다
28. t-SNE – (1)
가우스 분포와 자유도 1의 t분포의 비교
보다멀리배치시킴
28
끝단이 퍼지는 다른 분포를 이용
고차원 공간 :가우스 분포유사도로 변환
저차원 공간 :자유도1의 t-분포 유사도로 변환
→ 적당히 떨어진 점을 맵에서 더 멀리 배치 가능
→ 데이터 점과 닮지 않은 점 사이의 인력을 제거 가능
보다 가깝게 배치시킴
29. t-SNE – (2)
자유도 1의 t분포를 이용한 맵점의 동시확률
1 + 𝑦𝑖 - 𝑦 𝑗
2 −1
로부터,맵상에서 큰거리
𝑦𝑖 − 𝑦𝑗 에 대하여 Inverse square rule 성립
멀리 떨어진 점에 의한 맵의 스케일 변화에 불변
클러스터 집합에 대해서도 동일하게 일어난다
t 분포는 사실 다양한 분산의 무한혼합 가우스분포
(infinite mixed Gaussian distribution)와 같다
표현력이 높으면서도 계산 비용도 낮음
29
자유도 1의 t분포를 이용하는 이유
31. 구배의 도출 – (1)
맵상의 동시확률
계산의 간소화를 위해 2개의 보조변수를 도입
고차원 공간상의 대칭 조건부 확률
KL거리에 기반한 cost ft’n
i jij
ij
i i j
pij pij qij pij
q
loglog
p
p log ij
C KL(P |Q)
dij yi yj
k l
𝑦𝑖 가 변경된 경우, 변하는 것은 𝑑𝑖 𝑗 , 𝑑 𝑗𝑖만
kl
2 1
Z (1 d )
31
33. t-SNE의 장점 – (1)
1. 유사하지 않음 점을 맵상에서 가까운 거리로
모델링한 경우 제대로 척력이 작용
SNE는 척력이 없다
UNI-SNE 는 인력에 비해 척력이 약함
UNI-SNE 는 맵상의 거리가 클 때 밖에 척력이
커지지 않는다.
33
34. t-SNE의 장점 – (2)
2. 척력이 너무 커지지 않는다.
UNI-SNE은 척력이 저차원 공간에서의 거리에 비례
데이터 점이 서로 상당히 멀리 떨어져 버린다
34
35. t-SNE의 장점 – (3)
t-SNE의 특징 정리
1. 데이터 점 사이의 거리가 큰 것을 유사하지 않은 점으로 모델링
2. 데이터 점 사이의 거리가 작은 것을 유사한 점으로 모델링
3. Cost ft’n의 최적화가 용이 (사전 매개 변수 탐색이 필요 없음)
35
36. t-SNE 알고리즘 – (1)
36
가장 단순한 알고리즘
이것만으로도 다른 방법에 비해 우수한 결과를 낸다.
37. t-SNE 알고리즘 – (2)
37
학습을 보다 효과적으로 하기 위한 두 가지 기법
1. Early Compression
최적화 시작할 때 맵상의 점을 밀집하도록 한다
비용 함수로 L2 norm regularization 항을 추가
클러스터가 예쁘게 분리되는 것을 도와줌
2. Early exaggeration
최적화 시작 시에 𝑝𝑖𝑗에 적당한 숫자(4)를 적용한다.
𝑞𝑖 𝑗 은 매우 작기 때문에 𝑝𝑖 𝑗 에 대응하기 위해 크게
움직인다
이에 따라 맵점이 널리 퍼지도록 만듬
클러스터가 Global한 구조를 쉽게 찾을 수 있다
학습효율을 높이기 위해 둘 중 어떤 것이라도 사용할 수 있다
38. t-SNE 알고리즘
38
실제 여기에서 다루어 진 매개 변수
Early exaggeration: 4를 처음에 50회
Iteration : 1000회
모멘텀 : 0.5 (𝑡 ≤ 250) 0.8 (𝑡 > 250)
Learning rate :100+Adaptive learning rate의한 최적화
Perplexity: 40
40. Experiments – (1)
아래 7개 방법과 비교
1. Sammon Mapping
2. Isomap
3. Locally Linear Embedding (LLE)
4. Curvilinear Components Analysis (CCA)
5. SNE
6. Maximum Variance Unfolding (MVU)
7. Laplacian Eigenmaps
여기서는 이상 3개만
40
41. Sammon Mapping
Sammon Mapping
고차원 공간에서의 거리와 투영된 이차원 공간에서
의 거리를 최대한 가깝게 만드는 차원 감소 기법
Cost ft’n을 다음과 같이 정의
구배법으로 update
𝑑∗ : 고차원 공간상의 거리𝑖 𝑗
𝑑 𝑖 𝑗 :저차원 공간상의 거리
Y
E
Y (t)
Y (t1)
𝑌(𝑡) ∶ 시간 t에서의 맵점
𝜂 ∶ L.R
Cost ft’n의 변화량 만큼만
41
42. Isomap – (1)
Isomap
k-nearest neighborhood graph를 이용하여 다양체의 측지선 거리
(geodesic distance)를 구해 다차원 척도 구성법(multi-dimensional
scaling)을 사용하여 저차원 공간에 투영한다
측지선 거리(geodesic distance) 란 ?
간단하게 말하면 "다양체에 따른 면상의 거리"
참고 :http://www.slideshare.net/kohta/risomap2차원 다양체 스위스롤
스위스롤을 펼치면
측지선 거리
42
43. k-neighborhood graph 란 ?
노드와 k개의이웃노드를직선거리에기반하여 directedlinks로연결한것
Isomap – (2)
𝑘 = 3인경우의neighborhoodgraph의예
참고 :http://www.slideshare.net/kohta/risomap
43
Isomap
k-nearest neighborhood graph를 이용하여 다양체의 측지선 거리
(geodesic distance)를 구해 다차원 척도 구성법(multi-dimensional
scaling)을 사용하여 저차원 공간에 투영한다
44. Isomap – (3)
어떻게 측지선 거리를 측정하나 ?
다양체에서도 가까운 지점 간에는 Euclidean distance 관계로
k-neighborhood graph를 작성함으로서 측지선 거리를
가까운 점의 Euclidean distance를 합쳐서 근사화
44参考:http://www.slideshare.net/kohta/risomap
Isomap
k-nearest neighborhood graph를 이용하여 다양체의 측지선 거리
(geodesic distance)를 구해 다차원 척도 구성법(multi-dimensional
scaling)을 사용하여 저차원 공간에 투영한다
다양체면을 k-NN graph로 근사 직선거리를 합쳐서 근사
45. 다차원 척도 구성법 (MDS) 이란 ?
거리 데이터만 주어졌을 때 그 거리를 재현하는 것처럼 좌표계를
역산하는 방법
Isomap – (4)
데
이
터
점
취
득
N
N
그
래
프
작
성
측
지
선
거
리
계
산
다
차
원
척
도
구
성
법
에
의
한
좌
표
취
득
산
포
도
상
에
시
각
화
45参考:http://www.slideshare.net/kohta/risomap
Isomap
k-nearest neighborhood graph를 이용하여 다양체의 측지선 거리
(geodesic distance)를 구해 다차원 척도 구성법(multi-dimensional
scaling)을 사용하여 저차원 공간에 투영한다
46. Locally Linear Embedding
Locally Linear Embedding
다양체는 좁은 범위에서 보면 선형 공간으로 간주 할 수있다
좁은 범위에서 구축한 선형모델을 매끄럽게 연결하면 다양체를
잘 표현할 수 있다
각 데이터 점 𝑥𝑖 을 그 근방의 점의 선형 결합으로
아래를 최소화하는 매개 변수 W을 구한다
매개 변수 W을 고정한 채로 저차원 좌표를 구한다
아래를 최소화하는 좌표 Y을 구한다
2
jN(i)W
arg min xi wij xj
𝑁(𝑖) : 𝑥𝑖 의 NN집합
제약조건 :
2
46
jN(i)Y
arg min yi wij yj
𝑦 𝑖: 저차원 공간표현
47. Experiments – (2)
47
이용하는 데이터셋
1. MNIST dataset
28 × 28 = 784 (pixel) 의 0~9까지의 필기 숫자
60000개 데이터로부터 랜덤하게 6000개 샘플링
2. Olivetti faces dataset
40인의 얼굴사진으로 1인당 10매 (400매)
92 × 112 = 10,304 (pixel)
3. COIL-20 dataset
20종류의 물체의 72방향에서 촬영한 사진(1440매)
32 × 32 = 1024 (pixel)
51. Experiments – (3)
51
실험의 절차
1. PCA에 의해 30차원으로 차원 압축
각 데이터 점 사이의 거리 계산 시간의 단축
Noise suppression
2. 각종 기법에 의해 2 차원으로 차원 압축
3. 분산도를 plot
각 데이터 세트는 레이블을 가지고 있지만 차원 압축
에는 전혀 사용하지 않는다
분산도의 색깔과 기호 선택에만 사용
52. Experiments – (4)
실험에 사용한 매개변수
Sammon Mapping
Newton법에 의한 최적화 500 Iteration
Isomap & LLE
NN 그래프에서 가장 접속수가 많은 데이터점 군만을 가시화
52