PCA优化是否凸出?


12

主成分分析(PCA)的目标函数是使L2范数中的重构误差最小化(请参阅此处的 2.12节。另一种观点试图使投影的方差最大化。我们在此处也有一篇很不错的文章:PCA的目标函数是什么?)。

我的问题是PCA优化凸出吗?(我在这里找到了一些讨论,但希望有人可以在这里提供有关CV的很好的证明)。


3
不。您正在最大化凸函数(在约束下)。
user603

5
我认为您需要具体说明“ PCA优化”的含义。一个标准制剂是最大化受到。问题在于凸度甚至没有意义:区域是一个球体,而不是欧几里得空间。xAxxx=1xx=1
ub

1
@whuber感谢您的评论,由于知识有限,我可能无法澄清问题。我可能会等待一些答案,以帮助我同时阐明问题。
海涛杜

3
我将向您介绍您熟悉的“凸”的任何定义。它们是否都涉及位于其他点之间的函数域中的点的概念?值得记住,因为它提醒您考虑函数域的几何形状以及函数值的任何代数或解析属性。因此,我想到可以稍微修改方差最大化公式以使域凸出:只需要而不是。解决方案是相同的-答案很明确。xx1xx=1
ub

Answers:


17

不,PCA的通常配方不是凸面问题。 但是它们可以转化为凸优化问题。

洞察力和乐趣在于跟随并形象化转换的顺序,而不仅仅是获得答案:它在于旅程,而不是目的地。此旅程的主要步骤是

  1. 获得目标函数的简单表达式。

  2. 将其非凸的域扩大为一个。

  3. 将非凸面的物镜修改为明显不改变其达到最佳值的点的物镜。

如果密切关注,您会发现SVD和Lagrange乘法器潜伏着-但它们只是一个杂耍,出于风景的考虑,我将不对其进行评论。


PCA的标准方差最大化公式(或至少是其关键步骤)为

(*)Maximize f(x)= xAx  subject to  xx=1

其中, ×矩阵是根据数据(通常是其平方和乘积和,协方差矩阵或相关矩阵)构造的对称正定矩阵。An×nA

(等效地,我们可以尝试最大化不受约束的目标。这不仅是一个更讨厌的表达式-它不再是二次函数-绘制特殊情况的图形通常也可以观察到该函数在将缩放不变,然后将其为约束公式。X →交通λ X * xAx/xxxλx()

任何优化问题都可以抽象表示为

找到至少一个,使函数尽可能大。 ˚F XřxXf:XR

回想一下,当优化问题具有两个单独的属性时,它是凸的

  1. 是凸的。XRn 这可以用很多方式来表述。一种是每当和且,也会。几何上:只要线段的两个端点位于,整个线段就位于。 ý X 0λ1λX+1-λý X X XxXyX0λ1λx+(1λ)yXXX

  2. 函数 是凸的。f 这也可以用很多方式来表述。一种是每当和且,(为了使该条件有意义,我们需要使凸出。)几何上:只要是任何线段,的图形(仅限于此线段)就位于上方或在连接段和在。 ý X 0 λ 1 ˚F λ X + 1 - λ Ý λ ˚F X + 1 - λ ˚F Ý X ‾ X ý X ˚F X ˚F X Ý ˚F ÿxXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xxy¯Xf(x,f(x))R n + 1(y,f(y))Rn+1

    凸函数的原型在局部到处都是抛物线,且前导系数为非正数:在任何线段上,都可以用且一个0。yay2+by+ca0.

一个难点是是单位球,它肯定不是凸的。X 小号ñ - 1ř Ñ()XSn1Rn 但是,我们可以通过包含较小的向量来修改此问题。这是因为当我们将乘以因子,会乘以。当,我们可以通过将乘以来将缩放到单位长度,从而增加但保持在单位球λ ˚F λ 2 0 < X ' X < 1 X λ = 1 / xλfλ20<xx<1x˚FdÑ={X [R Ñ|X'X1}*λ=1/xx>1f Dn={xRnxx1} 因此,让我们将重新表示为()

(**)Maximize f(x)= xAx  subject to  xx1

它的域是,它显然是凸的,所以我们到了一半。仍然需要考虑的图的凸性。X=Dnf

考虑问题一个好方法- 即使您不打算执行相应的计算-也是基于谱定理。() 它说,通过正交变换,您可以找到至少一个基础,其中是对角线的:也就是说,PRnA

A=PΣP

所有非对角线条目均为零。这种选择可以被认为完全不改变,而只是改变其描述方式:旋转角度时,函数的水平超曲面的轴(始终是椭圆形)与坐标轴对齐。ΣPAxxAx

由于是正半定的,因此所有对角线项都必须是非负数。 我们可以进一步置换轴(这只是另一个正交变换,因此可以吸收到),以确保AΣP

σ1σ2σn0.

如果我们让为新坐标(需要),则函数为x=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

这个功能绝对不是凸的! 它的图看起来像是一个超抛物面的一部分:在内部的每个点,所有都是非负数这一事实使它向上卷曲而不是向下卷曲。 Xσi

但是,我们可以通过一种非常有用的技术将变成凸问题。() 知道最大值将在,让我们减去常数至少对于边界上的点而言。这不会改变任何点的位置边界处进行了优化,因为它降低了所有值相同的值在边界上。这建议检查功能xx=1σ1fXffσ1

g(y)=f(y)σ1yy.

实际上,这在边界点从减去常数,在内部点减去较小的值。 这将确保与相比,在内部没有新的全局最大值。σ1fgfX

让我们研究一下用替换的惯用。因为是正交的,所以。(这实际上是正交变换的定义。)因此,就坐标而言,可以写成σ1σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

因为对于所有,每个系数为零或负。 因此,当时,(a)是凸的,而(b)是优化的。(则意味着并且当时达到最佳。符号-的第一列。)σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

让我们概括一下逻辑。 因为在的边界上优化,因为与区别仅在于该边界上的常数,并且因为的值甚至更接近到的值上的内部,的最大值必须的最大值重合。gDn=Sn1yy=1fgσ1gfDnfg


4
+1非常好。我进行了修改,以将一个公式修正为我认为您想要的(但请检查)。除此之外,我发现句子“那不会改变优化f的任何边界值”一开始会令人困惑,因为边界值确实发生了变化:您要减去。重新调整一下是否有意义?σ1
变形虫说莫妮卡(Monica)

@amoeba在所有方面都正确;谢谢。我已经扩大了关于这一点的讨论。
ub

3
(+1)在您的答案中,您似乎将凸函数定义为大多数人认为是凹函数(也许是因为凸优化问题具有凸域和计算最大值函数(或一个在其一个函数最小计算))
user795305

2
@amoeba这是一个微妙的论点。但是请注意,发现新的最大值(最大值)仅出现在边界上。那排除了您的反例。另一个值得注意的点是,最后我们并不真正在乎的内部是否出现了新的局部(甚至全局)最大值,因为我们最初只关注其边界上的局部最大值。因此,我们可以自由地以不会使任何局部边界最大值移动或消失的任何方式更改。gXf
ub

2
是的我同意。如果结果为“凸”且恰好在边界上具有最大值,则在内部如何修改并不重要。您的确实在边界上具有最大值,这使整个参数都起作用。说得通。fgg
变形虫说莫妮卡(Monica)

6

没有。

矩阵等级 PCA 可表示为kM

X^=argminrank(X)kMXF2

(是Frobenius范数)。有关推导,请参见Eckart-Young定理F

尽管范数是凸的,但对其进行优化的集合是非凸的。


一个凸松弛 PCA的问题被称为凸低秩逼近

X^=argminXcMXF2

(是核范数。它是秩的凸松弛-就像是矢量的非零元素数的凸松弛)11

有关详细信息,请参见《稀疏统计学习》第6章(矩阵分解)。

如果您对更常见的问题以及它们与凸度的关系感兴趣,请参见广义低秩模型


1

免责声明:前面的答案很好地解释了PCA在其原始公式中是如何非凸的,但可以转换为凸优化问题。我的答案仅适用于那些对单元球和SVD术语不太熟悉的可怜的人(例如我)-顺便说一句,很高兴知道。

我的资料来自Tibshirani教授的这篇讲义

对于要用凸优化技术解决的优化问题,有两个先决条件。

  1. 目标函数必须是凸的。
  2. 约束函数也应该是凸的。

PCA的大多数公式都涉及矩阵等级的约束。

在这些类型的PCA配方中,违反了条件2。因为,的约束不是凸的。例如,令,为2×2个零矩阵,分别在左上角和右下角有一个1。然后,它们每个都具有等级1,但它们的平均值具有等级2。J 11 J 22rank(X)=k,J11J22


您能否解释一下“ ”指的是什么,为什么它的等级受到限制?这与我对PCA的理解并不相符,但是也许您正在考虑一个更专业的版本,其中仅寻求主要组件。ķXk
ub

是的,是转换(旋转)的数据矩阵。在这种表述中,我们寻找至少为等级矩阵。您可以参考我的答案中的链接以获得更准确的描述。ķXk
honeybadger
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.