关于transform和inverse_transform
来源:7-10 使用PCA对数据进行降噪
NLPLearner
2022-08-10
为什么高维降低维transform后,还要再从低维返回到高维inverse_transform,这样子不就相等于抵消了,怎么还能够降噪的啊?
1回答
-
liuyubobobo
2022-08-10
首先,PCA 拥有将降维后的特征点还原为高维数据的能力。但这并不代表你一定要做这个还原,只是,你想还原的时候,你能够还原。
其次,你可能对这一小节的内容理解有问题,甚至是对 PCA 的理解都有问题。
降噪和降维不是一个意思。给你一段 10 min 的包含噪音的音频,对她做降噪处理之后,这段音频还是应该有 10 min,而不是只剩下 1 min 了。同理,一个包含噪音的图像,再做降噪处理以后,这个图像的解析度应该是不变的。(甚至可能是上升的。)一个1024*768 的图片,降噪处理后如果只剩下一个像素,那么这个降噪没有意义。
PCA 知识可以使用降维的方式,来完成降噪而已。而完成的方式,恰恰就是,先降维,再恢复。恢复以后的数据,噪音减少了。
因此,就产生了另外一个问题,非常重要的:PCA 的 transform 以后,再做 reverse_transform,数据点不是变回了原样。这一小节的实验使用可视化的方式说明了这一点:https://git.imooc.com/coding-169/coding-169/src/master/07-PCA-and-Gradient-Ascent/08-PCA-for-Noise-Reduction/08-PCA-for-Noise-Reduction.ipynb
无论是 In[5] 还是 In[12],都和原始数据不一样了。你也可以在使用小数据自己测试一下,无论是使用类似的可视化的方式,还是具体看数据到底是什么,看看是否不一样了。
继续加油!:)
032022-08-13
相似问题