为什么不对每次迭代的新的X_pca进行demean()处理?
来源:7-4 求数据的前n个主成分

imblackhat
2018-03-07
迭代时新的X_pac相当于是同一列的特征都减去了相同的值,那么均值不是应该会变吗?是因为变化太小忽略了吗?
写回答
1回答
-
liuyubobobo
2018-03-07
迭代时X_pca每一列减去的值不相同。每一列减去的值是按照每一个数据点去除这个数据点在同一个w轴上的映射结果得到的。每个数据点不同,在w上的映射结果也是不同。
每次迭代,X_pca的每一列数据的均值理论值依然为0。我在这个问答基于二维数据,证明了映射后的数据X_project,其均值为0:https://coding.imooc.com/learn/questiondetail/43437.html
那么一组均值为0的数据,减去另外一组均值为0的数据,得到的结果(X_pca),均值依然为0。
也可以在程序中跑一下看一下每次循环X_pca的均值是怎样的。当然由于计算机计算有浮点误差,结果不会是纯粹的零,而是一个极小的数:)
00
相似问题