PCA算法:这个算法有什么问题吗?

4

请问有人能够确认或纠正这个维基百科算法以计算第一个主成分吗?我想在D语言中实现一个简单的PCA,因为我不认为D语言有任何现有的PCA库。我尝试过实现这个算法,但似乎我的简单示例的结果与我从R或Octave得到的结果不匹配。我相当确定这不是实现错误,因为我已经多次检查过我的实现,甚至从头开始重写过它,而且这是一个非常简单的算法。

1个回答

5

你的数据矩阵是否被零均值化,符合前提条件?

这段代码片段对此并不清楚,但根据数据矩阵最初的描述方式,我认为为了使幂法(power method)正常工作,列均值需要为零。


没错,就是这样。我以为只有整个矩阵的平均值必须为零。 - dsimcha
很高兴听到这个消息。我已经在维基百科算法中添加了以下澄清:“请注意,这里的零均值数据矩阵意味着X ^ T的每一列都应该有零均值。”您能否确认一下,您确实是这样修复算法的(而不是使X的列均值为零)? - qdjm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接