为什么 需要降维呢?
因为啊,在高维空间中,如果要满足密采样,那么需要的样本数就太多了,惹不起惹不起,
(比如,1维时填充单位空间需要三个样本, 2维时填充单位空间需要九个样本,3维时需要27个。。。。。。那么 100维就需要3^100个样本,这就太可怕了。)另外,高维空间中的距离是特别奇怪的。
为什么能降维呢?
这是因为在很多时候,人们观察或收集到的很多样本虽是高维的,但是与学习任务相关的也许仅是某个低维分布。
什么意思呢,比如你手机到的数据集中每个样本有100属性,但是只需要使用其中10个属性来训练模型就能有很好的性能。
MDS算法的思想:
MDS算法的核心思想是:降维前后,各自样本间的距离是不变的。
由此列出式子:原空间中的两样本xi,xj之间的距离dist( i,j)等于 降维后这两样本zi,zj之间的距离 || zi - zj||.
|
|
由此 经过一系列的变换得到矩阵B。
关于B是什么:
总之,我们可以由原本空间中样本间的距离矩阵求得B矩阵。
对B做特征值分解 B= VAVT, 这里V是特征向量矩阵、A是由特征值构成的对角阵。
此时,把A中的特征值排序后,把其中每个非0特征值拿出来构成对角矩阵,其对应的特征向量也需按特征值的大小改变排列顺序,组成新的特征向量矩阵。
最终,通过如下公式完成降维操作。(这个公式怎么来的我也不明啊,痛苦?)
另外,在现实应用中为了有效降维,往往只需要降维后两样本间的距离应尽可能和原空间中两样本的距离相近就好了,不需要强行一致,因此上面特征值构成的对角阵和特征向量矩阵由了一些变化。
变化为:本来特征值取的是所有非0的特征值排序。现在变成 我排序好后,从大到小取特征值与其对应的特征向量。比如我要降维到5维,我就从大到小取5个特征值。 ok‘
虽然解释的不清楚,但是,这个就给自己看好了,作为下次复习的提纲。
88~