采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师好!请问一下,从高维映射到低维,是X中每个向量与每个w向量点乘,意义是得到新的X在每个w维度上的模长,这个容易理解。但是反向映射时,将这个结果再与w整个矩阵做点乘,实际上是新的X分别于w矩阵每一列(每个w的第i个元素)相乘,这个做法的实际意义该如何理解?为何结果就是损失了一部分数据的高维数据呢?
通常是不需要进行这个反向映射的,在这里只是说明PCA可以进行这个逆向的过程。如果你的特征本身存在语意,由于降维后丢失了语意信息,所以反向映射后,可以看到降维后的数据再恢复到原特征空间,原有的特征对应是多少。不过其实如果特征的语意比较强,通常也不大使用PCA进行降维处理。
降维本身就是有代价的,在降维的过程中一定会丢失信息。这个反向映射是不可能增加信息的。这个很好理解:一个一维数据(一条直线),就算扔到三维空间,它还是一条直线。PCA的反向映射同理:如果已经将一个三维数据降维成为一维数据,其代价就是丢失了信息。反向映射回原来的三维空间,丢失的数据也回不来:)
波波老师您好,我还是有点不大明白,为什么要用Xk与Wk矩阵作点乘来返回到原特征空间呢?我的疑问和这位朋友说的一样:新的X分别于w矩阵每一列(每个w的第i个元素)相乘,这一步的几何意义是什么?为什么会选择通过Xk与Wk作点乘的方式返回原特征空间呢?谢谢!
如果我没有理解错,你问的是一个线性代数的问题。如果你能理解原始数据是如何映射到新的特征空间的话(乘以 W),那么从新的特征空间回原特征空间,其坐标系转换的矩阵是原矩阵的转置关系(乘以 W.T)。 为什么是转置?因为W 是标准正交矩阵,所以其转置和其逆相等。本来应该是乘以逆,但是因为 W 是标准正交矩阵,所以可以简化成乘以转置。 至于为什么要乘以逆,直观应该很好理解,因为 A->B 的转换是 W 的话,B->A 的转换就是 W 的逆,但如果你想要非常严格的数学证明的话,基本上线性代数教材介绍坐标系变换的部分都会介绍的。(P.S 我的线数课程中也有:)) 继续加油!:)
我明白了,原来是正交矩阵,老师的回答唤醒了我久远的线代知识(╥﹏╥),谢谢!
回答问题的时候又翻到了这个问题,补充一句。非常有意思。最近我老婆在做一个数据分析的任务的时候,恰恰就用到了要把PCA降维后的低维数据映射回高维空间的需求。因为她需要检验:降维以后的低维数据,在高维空间中,各个特征对结果的影响大小。这里的关键还是:低维空间虽然维度降低了,但丢失了特征的语意。如果想考察特征的语意相关的信息,就需要回到原始的高维空间。其实,PCA是很多特征提取方法的第一步呢:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14