PCA目标函数:最大化方差和最小化误差之间有什么联系?


32

可以根据相关矩阵来表示PCA算法(假设数据X已经被归一化,我们仅考虑投影到第一台PC上)。目标函数可以写成:

maxw(Xw)T(Xw)s.t.wTw=1.

很好,我们使用拉格朗日乘子来求解,即重写为:

maxw[(Xw)T(Xw)λwTw],

相当于

maxw(Xw)T(Xw)wTw,

因此(在Mathworld上参见此处)似乎等于

maxwi=1n(distance from point xi to line w)2.

但这是为了最大化点与线之间的距离,从我在这里所读的内容来看,这是不正确的-应该是,而不是\ max。我的错误在哪里?最大minmax

或者,有人可以告诉我最大化投影空间中的方差与最小化点与线之间的距离之间的联系吗?


我认为最小距离用于满足组件的正交性标准。这些点被投影到彼此正交的PC中,但是在每个连续的组件中,剩余方差最大。
Michael R. Chernick

提示:当您首先考虑最小特征值而不是最大特征值时会发生什么?
ub

@whuber最小的特征值可能具有PC,它是最终目标函数的解决方案。但是该PC并没有最大限度地发挥原始目标功能。
Cam.Davidson.Pilon 2012年

2
我不确定您所说的“最终”和“原始”目标函数是什么意思。PCA不是(从概念上来说)优化程序。它的输出是一组主要方向,而不仅仅是一个方向。这是一个(有趣的)数学定理,可以通过求解约束二次程序序列来找到这些方向,但这并不是PCA的概念或实践的基础。我只是建议,通过关注最小的特征值而不是最大的特征值,您可以调和这两个想法:(1)最小化距离和(2)最佳化PCA。
ub

1
没关系-您的答案是我尝试做的正确版本。
戴维森(Cam.Davidson.Pilon),2015年

Answers:


42

假设是一个中心数据矩阵,在行中具有观察值。令是其协方差矩阵。令为单位向量,指定变量空间中的轴。我们希望为第一个主轴。 Ñ Σ = XX /ñ - 1 XnΣ=XX/(n1)www

根据第一种方法,第一主轴最大化投影方差(第一主成分的方差)。此差异由Xw

Var(Xw)=wXXw/(n1)=wΣw.

根据第二种方法,第一主轴将及其重建之间的重建误差最小化,即原始点与其在上的投影之间的距离的平方和。重构误差的平方由 X w ^ w ^W¯¯ X - X w ^ w ^2XXwww

XXww2=tr((XXww)(XXww))=tr((XXww)(XwwX))=tr(XX)2tr(XwwX)+tr(XwwwwX)=consttr(XwwX)=consttr(wXXw)=constconstwΣw.

注意主术语前的减号。因此,最小化重构误差就等于使最大化。因此,最小化重建误差等同于最大化方差;两种公式产生相同的。wΣww


我注意到了,不是是凸函数(关于因为是PSD?我们怎么尝试使其最大化?wTΣwwΣ
Royi 2016年

@amoeba您能否解释一下在最后一步中如何从tr()转到const?
alberto

1
@alberto跟踪中包含一个数字(1x1矩阵);数字本身就是该数字的踪迹,因此可以删除该踪迹。因为等于出现常数,所以存在这个因子。ΣXX/n1/n
变形虫说莫妮卡(Monica)

1
@Leullame 如果它是具有正交列的矩阵,则计算将保留逐字记录。您需要从第3行转到第4行。如果矩阵具有正交列,则确实将是在列所跨越的子空间上的投影(此处是行向量)。WWW=IWxWWxWx
变形虫说莫妮卡(Reonica Monica)

1
@DanielLópez好吧,我们正在寻找最小化重构误差的一维子空间。一维子空间可以由指向其方向的单位范式矢量定义,这就是的取值。它具有按施工单位的规范。w
变形虫说恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.