시드니랩

[Data Mining] 10. Subspace Clustering - Transformation Based Method 본문

랩/Data Mining

[Data Mining] 10. Subspace Clustering - Transformation Based Method

시드니효상 2020. 10. 27. 13:41

만약 데이터의 분포가 아래와 같이 되어있으면 어떻게 처리해야 할까?

Data 분포 예시

 

x축, y 축으로 각각 project 하더라도, 의미있는 분포가 나오지 않는다.

 

하지만 직관적으로 보았을때도 분명히 한 축으로는 밀집된 클러스터이다. 

 

이런 상황을 해결하기위해, 클러스터링에 사용하는 축을 변경하는 것이 KL Transformation 이다. 

 

◉ KL Transform

 

Step 1 : 각 데이터들의 평균(e)을 구한다. 

 

Step 2 : 모든 데이터들로부터 평균(e) 만큼 뺀 데이터 셋을 생성한다. ex : (x-e, y-e) 데이터

Step1 and Step2

Step 3 : 평균(e)가 중심이된 새로운 데이터 셋을 대상으로, covariance matrix를 만든다. 

 

Covariance Matrix 구하기

 

 

 

 

- 아래 그림 보충 : 데이터의 개수 N, 2D점 5개 를 갖고 생성한 covariance matrix, 통계적 방법에 따라 N-1 을 하기도 한다. (For tuning)

 

Covariance Matrix 구하는 예시

 

Step 4: Covariance Matrix의 Eigen value, Eigen vector 를 구하고, transform matrix를 만든다.

 

- cf : 당연한 것이지만, Eigen vector은 차원의 개수만큼 나온다. 

- eigen vector로 matrix 를 만든다.

Eigen vector 구하기
Eigenvector 을 활용한 transformation matrix

 

 

Step 5 : Step 4에서 얻은 matrix 로 각 데이터들을 변환하여 eigen vector을 기준으로 재 정의 된 좌표를 구한다.

new coordinates
new coordinates -2

Step 6: 2d 기준, 두개의 eigen vector e1, e2 중, 작은 eigen value를 가지는 축에 새로운 데이터들을 project 하여 subspace cluster 을 얻는다. 

Subspace clustering을 위해 작은 Eigenvalue 부분을 뽑아낸다. 

 

- 큰 eigen value를 갖는 축에 project 하면, dimesion reduction이 되며, 이는 차원을 줄이되, information loss 를 minimize 할 수 있는 방법이다. 

Dimesion Reduction

 

- 작은 eigen value 를 갖는 eigen vector에 project 하면, information loss는 maximize 되며, 이를 subspace clustering 이라고 한다. 

 

Subspace Clustering

 

Comments