[1-5] MDS

Multidimensional Scaling : MDS

PCA 가 데이터의 분산을 데이터의 특성으로 정의하였다면, MDS 다차원 척도법은 데이터 객체 사이의 거리를 데이터의 특성으로 정의합니다. 따라서 이 pairwise distancepairwise\ distance 를 최대로 보존하는 것이 목적입니다.

이 때 알고리즘의 주어지는 입력은 데이터 간의 거리 행렬 D(dsitance matrix)D(dsitance\ matrix) 입니다.

MDS Formulation

객체들간의 거리 행렬의 원소는 drs2d_{rs}^2 이며, 벡터의 내적으로 스칼라 값이 된다. 이 때 거리는 유클리드 거리를 사용합니다.

drs2=(xrxs)T(xrxs)d^2_{rs} = (x_r-x_s)^T(x_r-x_s)

거리 행렬 (d by d)(d\ by \ d) 로부터 X 좌표 시스템 (d byn)(d\ by n) 을 찾기 위해 rr 번째 변수와 ss 번째 변수의 내적 행렬을 사용한다. 그리고 이 B 행렬을 거리 행렬을 사용하여서 표현한다.

[B]rs=brs=xrTxs[B]_{rs} = b_{rs}=x^T_rx_s
brs=arsar.a.s+a..b_{rs} = a_{rs}-a_{r.}-a_{.s}+a{..}
where, ars=12drs2,  ar.=1nsars,  a.s=1nrars,  a..=1n2rsarswhere,\ a_{rs} = -\frac{1}{2}d_{rs}^2,\ \ a_{r.}=\frac{1}{n}\sum_{s}a_{rs},\ \ a_{.s} = \frac{1}{n}\sum_{r}a_{rs},\ \ a_{..}=\frac{1}{n^2}\sum_r\sum_sa_{rs}

B 행렬은 대칭적이며, 양의 정부호행렬이므로, pp 개의 음이 아닌 고유값과 (np)(n-p) 개의 0의 고유값을 가집니다. 고유값 분해에 의하여, X 의 내적인 B 를 나타낼 수 있으며, X 도 구할 수 있다.

B=VVTB=V\wedge V^T
X=V1212X=V^{\frac{1}{2}}\wedge^{\frac{1}{2}}

MDS 기법은 numeric 변수로만 이루어 졌을 때 사용이 가능하다. 자료들의 '비유사성' 거리를 바탕으로, 다중의 변수들을 2차원 혹은 3차원으로 낮추어 나타내는 기법이다. 낮은 차원에서의 자료들이 거리가 멀리 떨어져 위치한다는 것은 비유사성이 높다는 뜻이고, 자료가 가까울수록 비유사성이 낮다 (즉 유사성이 높다)는 뜻이 된다. MDS를 이용하여 데이터를 시각화 하는 방법의 가장 큰 장점은 바로 데이터들의 유사도를 확인할 수 있다는 점이다.

비슷한 변수값을 가지는 데이터들은 가까이 있을 것입니다.

MDS는 2차원 (혹은 3차원)에 데이터를 projection하여 시각화 하는 알고리즘일 뿐, 비슷한 샘플을 군집화해주는 기능은 없습니다.

데이터를 군집화 하기 위한 Clustering 알고리즘은 매우 다양하기 때문에, 여기서는 자세히 언급을 하지 않지만, 대략적인 데이터들의 특성을 확인하고자 할 때, MDS plot은 매우 유용하다.

변수의 수가 작은 경우, 변수들을 단순한 plot만으로도 샘플간의 유사도를 볼 수 있겠지만,

그 수가 많을 경우 (Dimensionality problem) 이 방법은 매우 유용해진다.

n개의 변수를 2개 (혹은3개)로 축약하여 2차원으로 샘플을 나타낸다면, 한눈에 자료들의 유사성을 표현할 수 있기 때문이다.

이미 샘플의 label을 알고 있는 경우, label에 따라 색을 나눈 후 시각화를 한다면, 같은 label간의 유사도가 어떤지, 혹은 어떤 label간의 유사도가 높은지 눈으로 쉽게 확인할 수 있습니다.

Last updated