diffusion map [Unsupervised learning] by 바죠

diffusion map [Unsupervised learning]
비지도 학습의 유용성을 잘 보여주는 diffusion map 알고리듬을 소개한다. 
마코프 체인과 유사한 접근법을 가지는 것이 특징이다.

샘플 i, 샘플 j 사이의 유사성을 먼저 정의한다.
similarity
이러한 정의로부터 시작하여, 확률 행렬을 구축할 수 있다. 
x_i에서 x_j로 변환될 확률을 계산한다. 전이확률이라고 한다. 이것은 정확히 마코프체인에서 정의되는 것과 동일하다. M_{ij}
전이확률 행렬이 완성되면 마코프 체인 이론을 그대로 활용할 수 있다.
이러한 확률 행렬의 고유값은 1과 같거나 작은 값을 가지게 된다.
동시에 고유벡터들을 가지게된다.

즉, 시간이 지난후, 시간이 t 일 때, x_i가 x_j로 갈 수 있는 확률을 계산할 수 있다.
두번 곱할 수 있다.
세번도 곱할 수 있다.
M_{ij}^2 = M_{ij} M_{ij}
M_{ij}^3 = M_{ij} M_{ij} M_{ij}

이러한 행렬 곱하기는 시간이 지난후 특정 벡터(V)의 성분의 "정상상태"를 의미할 수 있다.  
V ---> V_0 로 변환 된 경우를 보자.  
예를 들어, M_{ij} ^{100} V = V_0
다시 말해서, 

M_{ij}^{100} V ~ M_{ij}^{200}  V  = V_0 가 될 수 있다.

V_0 의 성분은 무엇을 의미하는가? 
일종의 발견된 확률같은 것이다. x_i 상태가 최종적으로 발견될 확률 같은 것이다. 생존활률 같은 것이다.

M_{ij}^t  ---> p(x_i, x_j; t) 
즉, 이것을 계산할 수 있다.

이러한 고유벡터들이 만드는 공간을 상상할 수 있다.
이러한 새로운 공간에서 clustering method를 적용할 수 있다. 
즉, k-means algorithm을 곧 바로 적용할 수 있다.

당연히, diffusion mapping은 dimensional reduction의 한 가지 방법이다.







데이터들을 꿰뚫어 볼 수 있는 통찰력이란 무엇인가?
데이터 전체를 보고, 가장 중요한 요소들을 쉽게 찾아 낼 수 있는 능력, 그것이 바로 데이터에 대한 통찰력이다.
데이터 전체에서 가장 중요한 성분 (principal component), 가장 중요한 요소 (feature importance가 높은 것), 
또는 가장 큰 차이점(변화의 폭이 가장 큰 요소들)을 쉽게 찾아 낼 수 있어야 통찰력이 있다고 할 수 있다.

이러한 능력은 다양한 경험으로부터 나올 수밖에 없다. 무수한 경험이 뒷받침되지 않고는 얻어낼 수 없는 능력이다.
이러한 것은 수학적으로 표현하기가 매우 어렵다. 하지만, machine learning은 다르다.
예를 들어, 인공신경망을 활용한 autoencoder를 보자. 이경우, 비지도학습으로서 데이터의 가장 중요한 요소만을 훈련할 수 있다.
즉, 데이터 포인트에 대한 암호를 찾아낼 수 있다. 어떻게? 인공신경망이 훈련을 받기 때문이다. 
데이터 포인트 자료 자신이 데이터 포인트 자료 자신이 될 수 있는 조건을 찾기 때문이다. 
이 때 조건이 있다.  
데이터 포인트 자료 자신의 가장 간략하지만 가장 중요한 특징을 스스로 찾아야만 되도록 인공신경망이 훈련을 받는다. 
모든 데이터들에 대해서 동시에 이러한 훈련을 받게 되면, 인공신경망은 데이터 전체 자료들을 골고루 고려하면서 각각 데이터 자료의 특징을 찾을 수밖에 없다. 
결국, 인공신경망은 특정한 데이터 포인트 하나의 특징을 전체 데이터와의 차별성으로 해석해 낼 수 있게 한다.
사실 인공신경망은 암호기-해독기로 구성되어 있다. 암호를 암호기, 해독기 사이에서 추출할 수 있다. 

여기에서 알려진 수학공식을 사용하지 않았다. 잘 알려진 특정한 수학적 변환을 하지 않았다. 
분명히 기존의 수학 공식을 활용하지 않았다는 것이 중요하다. 따라서, 어떠한 데이터들에게도 동일하게 적용할 수 있는 것이 autoencoder이다. 어떠한 데이터에 대해서도 암호화가 가능하다. 주요 특징, 상징적 특징 요소를 찾을 수 있다는 결론에 도달한다.

비지도학습에서는 데이터가 무엇에 관한 데이터인지 알려주지 않는다. 이를 다른말로 표현하면, 레이블링을 하지 않는다고 한다.
인과관계를 따지지 않느다. X --> y 형식으로 형성된 인과관계를 논하지 않는다. y는 무시한다. 순전히 X 만을 가지고 논한다. 
즉, 데이터만을 가지고 논한다. 예를 들면 측정데이터만을 논한다. 여기서 데이터는 복수의 측정값들을 의미한다. 

데이터의 차이를 잘 설명할 수 있는 새로운 좌표가 필요하다. 사실 machine learning은 새로운 좌표계를 찾는 것이다. 
보기 좋게, 쉽게 데이터를 분류할 수 있는 새로운 좌표계를 찾는 것이다. 사실, 그 이상도 그 이하도 아니다.

원점에서 멀어진 정도로 red, blue를 구별할 수 없다. 상하, 좌우, 대각선으로도 구별이 안된다.
대각선 방향으로 red, blue를 구별할 수 있는 새로운 좌표계가 가능할까?
변환을 따라가 보자. 
그것이 가능하다면, red, blue 사이의 거리를 최대화할 수 있을까?
최대로 분리하고자 한다. 이것이 목표이다.
우선, samples을 확보하고 있다고 가정한다. Machine learning의 관습에 따라서, X[:, :] 을 가지고 있다고 가정한다.
row는 samples을 의미한다. column은 features를 의미한다.
지도학습방법과 전혀 다른 방법이다. 이러한 데이터가 각각이 무엇을 의미하는지에 대한 정보를 활용하지 않는다.
사전의 어떠한 지식을 활용하지 않는다. label을 활용하지 않는다.

당연히, diffusion mapping은 dimensional reduction의 한 가지 방법이다.
하지만, diffusion map을 기존의 것들과 상당히 다른 측면들이 존재한다. 보다 더 유용할 수 있다는 것이다.

PCA
KernelPCA
t-SNE
autoencoder 






Principal Component Analysis Linear dimension reduction Finds dimensions that capture most variability in the data Multidimensional scaling Linear dimension reduction Embeds data in a lower dimensional space while preserving pair wise distances between points Neither method can capture spiral behavior of Swiss roll 




핑백

덧글

댓글 입력 영역

최근 포토로그



MathJax