直奔主题:
设原样本集中m个样本之间的距离矩阵为,第i行第j列的元素为样本到的距离。我们的目标是获得样本在d' 维空间的表示,记:,且任意两个样本在d'维空间的欧式距离等于原始空间中的距离,即。
设B为降维后样本的内积矩阵,记为:.有:
.
如果能通过已知的原始空间的距离矩阵D求到,即得到降维后的样本内积矩阵B,则可通过正交对角化求得样本在低维空间的表示Z。所以,下面的工作就是进行一些列神奇的操作来求。
为方便讨论,令降维后的样本Z被中心化,即 ,容易得到矩阵B的行和列元素之和均为0,即 ,结合之前的 ,可以得到下面几个等式:
,
,
,
其中tr(·)表示矩阵的迹,.令:
,
,
,
根据上面六个式子和可得:
.
于是,我们可以通过降维前后保持不变的距离矩阵D求得降维后的内积矩阵B().
因为B是对称矩阵,所以必可正交对角化,即可化为:,其中为特征值构成的对角矩阵,,V是由特征向量单位正交化得到的正交矩阵。假设其中有d*个非零特征值,他们构成对角矩阵,对应的正交矩阵记为,则降维后的样本可表示为:
之所以可以舍弃0特征值,因为0特征值以及对应的向量对B没有影响,可以把展开来看更明显,假设矩阵V为,则:
,
可以看出,若特征值为0,对B没有任何影响,也就对Z没有影响,可以舍弃。并且,特征值越小,对B的影响越小,所以可以根据降维要求取前d''大的特征值。
若特征值全大于等于0,则降维前后的样本间的距离完全相等;但若特征值存在负值,会带来一些麻烦,因为不能开方(),意味着降维前后的样本间的距离不能完全相等。此时,若正值的特征值远大于负值的特征值的绝对值,那么可以舍弃负特征值,这样也能做到降维前后样本间的距离尽量接近。
事实上,现实应用中为了有效降维,降维前后的距离尽量接近就好,不必完全相等。此时可取个最大特征值构成的对角矩阵。
MDS算法描述如下:
参考资料:周志华《机器学习》
相关博文:实对称矩阵必可正交对角化证明