multidimensional scaling

multidimensional scaling

問題描述

給定nndd維的數據點x1,x2,,xnx_1,x_2, \dots,x_n,對數據進行降維。降維的標準是降維後數據點之間的距離dij(Y)d_{ij}^{(Y)}接近原數據點間的距離dij(X)d_{ij}^{(X)}

X=[x1x2xn]dn,xiRdX=\left[ \begin{matrix} x_1 & x_2 & \dots & x_n\end{matrix} \right]_{d*n}, x_i \in R^d
Y=[y1y2yn]pn,yiRp,p<dY=\left[ \begin{matrix} y_1 & y_2 & \dots & y_n\end{matrix}\right]_{p*n}, y_i \in R^p, p < d

用數學表達是就是minYi=1nj=1n(dij(X)dij(Y))2\min_Y \sum_{i=1}^n \sum_{j=1}^n (d_{ij}^{(X)}-d_{ij}^{(Y)})^2.

距離矩陣D=[d11d12d1nd21d22d2ndn1dn2dnn]D=\left[\begin{matrix} d_{11} & d_{12} & \dots & d_{1n} \\ d_{21} & d_{22} & \dots & d_{2n} \\ \vdots & \vdots & \vdots \\ d_{n1} & d_{n2} & \dots & d_{nn}\end{matrix}\right]

dijd_{ij}表示第ii個點和第jj個點的距離,下面說的距離都是歐式距離。

推導過程

滑鐵盧大學Ali Ghodsi教授直接從正面推導的過程我實在看不懂。

可以換個角度看問題,新的數據點只利用了點之間的距離,可以用距離矩陣DD,假設不知道原空間的點,用DD推導出XX,這裏推出的XX其實就是YY,能理解不。


利用一箇中間矩陣B=XTXB=X^TX。由已知DD推出BB,然後再推出XXDBXD\rightarrow B \rightarrow X

B=XTX=[x1Tx2TxnT][x1x2xn]=[x1Tx1x1Tx2x1Txnx2Tx1x2Tx2x2TxnxnTx1xnTx2xnTxn]B=X^TX=\left[\begin{matrix} x_1^T \\ x_2^T \\ \vdots \\ x_n^T\end{matrix}\right]\left[\begin{matrix} x_1 & x_2 & \dots & x_n \end{matrix}\right]=\left[\begin{matrix} x_1^Tx_1 & x_1^Tx_2 & \dots &x_1^Tx_n \\ x_2^Tx_1 & x_2^Tx_2 & \dots & x_2^Tx_n \\ \vdots & \vdots & \dots & \vdots \\x_n^Tx_1 & x_n^Tx_2 & \dots & x_n^Tx_n \end{matrix}\right]

bij=xiTxjb_{ij}=x_i^Tx_j
dij2=xixj2=(xixj)T(xixj)=xiTxi+xjTxj2xixj=bii+bjj2bijd_{ij}^2=\left \lVert x_i-x_j\right \rVert^2=(x_i-x_j)^T(x_i-x_j)=x_i^Tx_i+x_j^Tx_j-2x_ix_j=b_{ii}+b_{jj}-2b_{ij}.

設想一下,只保持點之間的距離不變,點們不是唯一的,把一堆點進行平移、旋轉、翻轉,是不會影響它們之間的距離的。

所以對XX進行限制,限制點們不要平移,可以把平均點固定在原點,也就是i=1nxi=0\sum_{i=1}^nx_i=0.

我們要用DD中的值表示bijb_{ij},這樣就相當於知道了BB
dij2=bii+bjj2bij(1)d_{ij}^2=b_{ii}+b_{jj}-2b_{ij} \tag{1}
BB的跡爲T=i=1nbiiT=\sum_{i=1}^nb_{ii}.

(1)(1)式對ii求和,即i=1ndij2=i=1nbii+i=1nbjj2i=1nbij=T+nbjj0(2.1)\sum_{i=1}^nd_{ij}^2=\sum_{i=1}^nb_{ii} + \sum_{i=1}^nb_{jj}-2\sum_{i=1}^nb_{ij}=T+nb_{jj}-0 \tag{2.1}.

其中i=1nbij=i=1nxiTxj=(i=1nxi)Txj=0\sum_{i=1}^nb_{ij}=\sum_{i=1}^nx_i^Tx_j=(\sum_{i=1}^nx_i)^Tx_j=0,因爲XX均值在原點。

同理對(1)(1)式對j求和,得:i=1ndij2=i=1nbii+i=1nbjj2i=1nbij=T+nbjj0(2.2)\sum_{i=1}^nd_{ij}^2=\sum_{i=1}^nb_{ii} + \sum_{i=1}^nb_{jj}-2\sum_{i=1}^nb_{ij}=T+nb_{jj}-0 \tag{2.2}.

(1)(1)式對i,ji,j求和,得:
i=1nj=1ndij2=i=1nj=1nbii+i=1nj=1nbjj2i=1nj=1nbij=nT+nT0(2.3)\sum_{i=1}^n \sum_{j=1}^nd_{ij}^2=\sum_{i=1}^n \sum_{j=1}^nb_{ii}+\sum_{i=1}^n \sum_{j=1}^nb_{jj}-2\sum_{i=1}^n \sum_{j=1}^nb_{ij}=nT+nT-0 \tag{2.3}you

由上面四個式子就可以得出bijb_{ij}
bij=12(dij21nidij21njdij2+1n2ijdij2)(3)b_{ij}=-\frac{1}{2}(d_{ij}^2-\frac{1}{n}\sum_id_{ij}^2-\frac{1}{n}\sum_jd_{ij}^2+\frac{1}{n^2}\sum_i\sum_jd_{ij}^2) \tag{3}.

第一步BB已經得出來了。第二步B=XTXB=X^TXBB是對稱的,實對稱矩陣一定能對角化(線代書上的定理),B=QΛQT=(QΛ12)(QΛ12)TB=Q\Lambda Q^T=(Q\Lambda^{\frac{1}{2}})(Q\Lambda^{\frac{1}{2}})^TX=Λ12QX=\Lambda^\frac{1}{2}QQQ中的列是BB的最大pp個特徵值對應的特徵向量,Λ\LambdaBB的最大的pp個特徵值。

題外話

Ali Ghodsi教授的推導我實在看不明白,不過最後的結論是一樣的。
老師推導中有K=12HDH=XTXK=-\frac{1}{2}HDH=X^TX,我上面的推導中有類似的結論,不過不一樣B=XTX=12HDHB=X^TX=-\frac{1}{2}HD'H,其中dij=dij2d'_{ij}=d_{ij}^2

H=I1neeT=[11n1n1n1n11n1n1n1n11n]nnH=I-\frac{1}{n}ee^T=\left[\begin{matrix} 1-\frac{1}{n} & -\frac{1}{n} & \dots & -\frac{1}{n} \\ -\frac{1}{n} & 1-\frac{1}{n} & \dots & -\frac{1}{n} \\ \vdots & \vdots & \dots &\vdots \\ -\frac{1}{n} & -\frac{1}{n} & \dots & 1-\frac{1}{n} \end{matrix}\right]_{n*n}

12HDH==12[11n1n1n1n11n1n1n1n11n][d112d122d1n2d212d222d2n2dn12dn22dnn2][11n1n1n1n11n1n1n1n11n]=12[1nidi12+di11nidi22+di21nidin2+din][1n1n11n1n]=12[1n2ijdij21njdij2+dij21nidij2]=B\begin{aligned} -\frac{1}{2}HD'H &= \\ &= -\frac{1}{2} \left[\begin{matrix} 1-\frac{1}{n} & -\frac{1}{n} & \dots & -\frac{1}{n} \\ -\frac{1}{n} & 1-\frac{1}{n} & \dots & -\frac{1}{n} \\ \vdots & \vdots & \dots &\vdots \\ -\frac{1}{n} & -\frac{1}{n} & \dots & 1-\frac{1}{n} \end{matrix}\right] \left[ \begin{matrix} d_{11}^2 & d_{12}^2 & \dots & d_{1n}^2 \\ d_{21}^2 & d_{22}^2 & \dots & d_{2n}^2 \\ \vdots & \vdots & \dots & \vdots \\ d_{n1}^2 & d_{n2}^2 & \dots & d_{nn}^2 \end{matrix}\right] \left[\begin{matrix} 1-\frac{1}{n} & -\frac{1}{n} & \dots & -\frac{1}{n} \\ -\frac{1}{n} & 1-\frac{1}{n} & \dots & -\frac{1}{n} \\ \vdots & \vdots & \dots &\vdots \\ -\frac{1}{n} & -\frac{1}{n} & \dots & 1-\frac{1}{n} \end{matrix}\right] \\ &=-\frac{1}{2}\left[\begin{matrix} \dots \\ \dots \\ -\frac{1}{n}\sum_id_{i1}^2+d_{i1} & -\frac{1}{n}\sum_id_{i2}^2+d_{i2} & \dots & -\frac{1}{n}\sum_id_{in}^2+d_{in} \\ \dots \end{matrix}\right] \left[ \begin{matrix} \dots & \dots & -\frac{1}{n} & \dots \\ \dots & \dots & -\frac{1}{n} & \dots \\ \vdots &\vdots &1- \frac{1}{n} & \vdots \\\dots & \dots & -\frac{1}{n} & \dots \\ \end{matrix}\right] \\ &=-\frac{1}{2}\left[ \begin{matrix} \vdots \\ \dots \frac{1}{n^2}\sum_i\sum_jd_{ij}^2-\frac{1}{n}\sum_jd_{ij}^2+d_{ij}^2-\frac{1}{n}\sum_id_{ij}^2 & \dots \\ \vdots \end{matrix}\right] \\ &=B \end{aligned}

所以12HDH=B=XTX-\frac{1}{2}HD'H=B=X^TX,嗯,跟老師的不一樣。

參考資料

T. Cox and M. Cox. Multidimensional Scaling. Chapman Hall, Boca Raton, 2nd edition,
2001.
http://www.stat.nthu.edu.tw/~swcheng/Teaching/stat5191/lecture/06_MDS.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章