为什么对称正定(SPD)矩阵如此重要?


20

我知道对称正定(SPD)矩阵的定义,但想了解更多。

从直觉上为什么它们如此重要?

这就是我所知道的。还有什么?

  • 对于给定的数据,协方差矩阵为SPD。协方差矩阵是一项重要的指标,有关直观说明,请参见这篇出色的文章

  • 如果是SPD ,则二次形式是凸的。凸性对于可以确保本地解决方案是全局解决方案的函数是很好的属性。对于凸问题,有很多好的算法可以解决,但对于非凸问题则没有。12xAxbx+cA

  • 当为SPD时,二次形式的优化解与线性系统的解相同。因此,我们可以在两个经典问题之间进行转换。这很重要,因为它使我们能够使用在另一个域中发现的技巧。例如,我们可以使用共轭梯度法求解线性系统。减少1AX=b

    minimize   12xAxbx+c
    Ax=b
  • 有许多很好的算法(快速,数值稳定)对SPD矩阵更有效,例如Cholesky分解。

编辑:我不是想问一下SPD矩阵的身份,而是属性背后的直觉来显示重要性。例如,正如@Matthew Drury所提到的,如果矩阵是SPD,则特征值都是正实数,但是为什么所有正数都重要。@Matthew Drury对流动有一个很好的答案,这就是我想要的。


7
特征值都是正实数。这个事实是其他许多事实的基础。
马修·德鲁里

4
比@Matthew更进一步:如果您选择合适的基础,则所有这样的矩阵都是相同的,并且等于单位矩阵。换句话说,每个维度中(对于实向量空间)仅存在一个正定二次形,它与欧几里得距离相同。
ub

2
您会发现许多基本的方式都可以直观地看出一个实对称矩阵的本征值都是真实的:mathoverflow.net/questions/118626/… 特别是,二次形式自然出现在瑞利商中,并且对称矩阵提供了自然的方式来展示特征值是真实的大系列矩阵。例如,请参见Courant极小极大定理:en.wikipedia.org/wiki/Courant_minimax_principlexTAx
Alex R.

4
这似乎过于笼统;如果还没有三个答案,我可能会以此为基础予以关闭。请提供有关您特别想知道的知识的更多指导(在这种情况下,直觉的要求太过个人/个人了,人们无法猜测)
Glen_b -Reinstate Monica

1
我很难弄清统计中的情况这会导致产生一个不是psd的矩阵(除非您搞砸了相关矩阵的计算,例如,用对缺失值的数据计算的成对相关填充它) 。我能想到的任何平方对称矩阵都是协方差,信息或投影矩阵。(在应用数学的其他地方,非psd矩阵可能是一种文化规范,例如PDE中的有限元矩阵。)
StasK,2016年

Answers:


15

(实)对称矩阵具有一组完整的正交特征向量,其对应的特征值均为实数。对于非对称矩阵,这可能会失败。例如,二维空间中的旋转在实数中没有特征向量或特征值,因此必须传递到复数上的向量空间才能找到它们。

如果矩阵另外是正定的,那么这些特征值都是正实数。这个事实比第一个要容易得多,因为如果是具有单位长度的特征向量,而是相应的特征值,则λvλ

λ=λvtv=vtAv>0

最后的等式使用正定性的定义。

在这里,直觉的重要性在于线性变换的特征向量和特征值描述了最容易理解变换的坐标系。线性变换可能很难像标准坐标系那样以“自然”的基础来理解,但是每个线性变换都带有特征向量的“首选”基础,其中变换在所有方向上都按比例缩放。这使变换的几何结构更容易理解。

例如,函数的局部极值的二阶导数检验通常作为一系列神秘条件给出,涉及到二阶导数矩阵中的一个项和一些行列式。实际上,这些条件只是对以下几何观察进行编码:R2R

  • 如果二阶导数矩阵是正定的,则​​您处于局部最小值。
  • 如果二阶导数矩阵为负定,则您处于局部最大值。
  • 否则,您既不会陷入困境。

您可以通过以上本征基础中的几何推理来理解这一点。临界点上的一阶导数消失了,因此此处的函数变化率由二阶导数控制。现在我们可以进行几何推理

  • 在第一种情况下,存在两个特征方向,如果沿任一方向移动,该函数都会增加。
  • 第二个是两个本征方向,如果您向其中任一方向移动,函数都会减小。
  • 最后,本征方向有两个,但其中一个是函数增加的,而另一个是函数减少的。

由于本征向量跨越整个空间,因此任何其他方向都是本征方向的线性组合,因此这些方向上的变化率是本征方向上的变化率的线性组合。因此,实际上,这在所有方向上都成立(这或多或少意味着在高维空间上定义的函数可微化)。现在,如果您在脑海中画一幅小图,那么从初学者微积分课本中相当神秘的东西中就可以感觉到很多。

这直接适用于您的要点之一

如果是SPD ,则二次形式是凸的。凸面是一个很好的属性,可以确保本地解决方案是全局解决方案12xAxbx+cA

二阶导数的矩阵到处都是,它是对称正定的。从几何上讲,这意味着如果我们沿任何本征方向(以及任何方向,因为其他方向都是本征方向的线性组合)移开则函数本身将在切线平面上方弯曲。这意味着整个表面都是凸的。A


5
以图形方式查看它:如果为SPD,则相关二次形式的轮廓为椭圆形。A
JM不是统计学家

7
@JM的描述非常有洞察力。如果有人想知道椭球轮廓可能有什么特别之处,请注意它们只是变相的完美球体:测量单位可能沿主轴方向不同,并且椭球可能会相对于描述数据的坐标进行旋转,但出于许多目的(尤其是概念目的),这些差异是无关紧要的。
whuber

这与我从几何角度理解牛顿方法的方式有关。最好用椭球体近似当前设置的水平,然后采用一个以椭球体为圆的坐标系,在该坐标系中正交于该圆移动。
马修·德鲁里

1
如果存在(活动)约束,则需要在进行特征值和特征方向旋转之前投影到活动约束的雅可比行列。如果Hessian为psd,则(任意)投影将为psd,但反之并不一定是正确的,通常也不是。看我的答案。
Mark L. Stone,

10

您会发现许多基本方式的直觉表明真实对称矩阵的特征值都是真实的:https : //mathoverflow.net/questions/118626/real-symmetric-matrix-has-real-eigenvalues-elementary-证明/ 118640#118640

特别是,二次形式在瑞利商中自然发生,对称矩阵提供了最自然的方式来展示特征值是实数的大型矩阵族。请参阅Courant最小极大定理,例如:https : //en.wikipedia.org/wiki/Courant_minimax_principlexTAx

d(x,y)=x,Ay=xTAyx,y d(x,y)=d(y,x)x,yX 0x2=xTAx>0x0。这样,对称正定矩阵可以被视为坐标变换的理想候选者。

在支持向量机领域,特别是内核方法和内核技巧方面,后一个属性绝对是关键的,在内核方法和内核技巧中,内核必须是对称正的,才能得出正确的内积。实际上,Mercer定理将对称矩阵的直观属性推广到了功能空间。


9

对于优化(因为您用优化标签标记了问题),SPD矩阵非常重要,原因很简单-SPD Hessian保证搜索方向为下降方向。考虑牛顿法的无约束优化推导。首先,我们形成的泰勒展开式:f(x+Δx)

f(x+Δx)f(x)+ΔxTf(x)+12ΔxT2f(x)Δx

接下来,我们针对取导数:Δx

f(x+Δx)f(x)+2f(x)Δx

最后,将导数设置为0并求解:Δx

Δx=2f(x)1f(x)

假设是SPD,很容易看到是下降方向,因为:Δ X2f(x)Δx

f(x)TΔx=f(x)T2f(x)1f(x)<0

使用牛顿法时,通常会将“非SPD”粗麻布矩阵“推”为SPD。有一种称为修改后的Cholesky的整洁算法,它将检测非SPD的Hessian,在正确的方向上适当地“微调”它,并将结果分解为因子,所有这些费用(基本上)与Cholesky分解相同。拟牛顿法通过强制近似Hessian为SPD来避免此问题。

顺便说一句,对称的不确定系统近来受到了很多关注。它们是在内部点方法的上下文中进行约束优化的。


非常感谢您的出色回答。我了解体面的方向在线搜索方法中很重要。在信任区域方法中,正确的方向也很重要吗?
Haitao Du

1
对于信任区域方法而言,它仍然很重要。信任区域方法基本上是通过限制步长FIRST,然后求解步长方向来工作的。如果该步未达到目标函数值的期望减小,则减小步长的界限并重新开始。想象一下,您生成步方向的算法不能保证步方向是下降方向。即使信任区域的半径变为0,也可能永远不会生成可接受的阶跃(即使存在一个阶跃),因为您的阶跃方向都不是下降方向。
Bill Woessner

线搜索方法基本上表现出相同的行为。如果搜索方向不是下降方向,则线搜索算法可能永远找不到可接受的步长-因为没有。:-)
Bill Woessner

很好的答案,谢谢您帮助我连接各个部分。
海涛杜

9

在几何上,正定矩阵定义一个度量,例如黎曼度量,因此我们可以立即使用几何概念。

如果和是向量,是一个正定矩阵,则 是一个度量(也称为距离函数)。 xyA

d(x,y)=(xy)TA(xy)

另外,正定矩阵与内部乘积有关:在,我们可以通过定义内部乘积, 其中上述是正定的。而且,上的所有内部乘积都以这种方式出现。Rn

x,y=xTAy
ARn


1
...当然,通常的距离是 ...A=I
JM不是统计学家

6

已经有几个答案可以解释为什么对称正定矩阵如此重要,因此,我将提供一个答案来解释为什么它们不像某些人(包括其中一些答案的作者)所认为的那样重要。为了简单起见,我将重点放在对称矩阵上,并专注于Hessians和优化。

如果上帝使世界变得凸面,就不会有凸面优化,只会有优化。类似地,不会有(对称)正定矩阵,而只会有(对称)矩阵。但这不是事实,请处理。

如果二次规划问题是凸的,则可以“轻松”解决。如果它不是凸的,则仍然可以使用分支定界方法找到全局最优值(但可能需要更长的时间和更多的内存)。

如果使用牛顿法进行优化,并且在某些迭代中使用Hessian是不确定的,则不必将其“固定”为正定性。如果使用线搜索,则可以找到负曲率的方向,并沿着它们执行线搜索;如果使用信任区域,则存在一些足够小的信任区域,从而使信任区域问题的解决方案得以实现。

对于拟牛顿法,BFGS(如果问题受约束,则阻尼)和DFP保持Hessian近似或反Hessian近似的正定性。其他准牛顿法,例如SR1(对称等级1)不一定保持正定性。在解决所有问题之前,这是选择SR1解决许多问题的一个很好的理由-如果Hessian在沿最优路径的过程中确实不是正定的,则​​迫使拟牛顿近似为正定可能会导致目标函数的糟糕的二次逼近。相比之下,SR1更新方法是“像鹅一样松散”,并且可以随着其前进而彻底改变其确定性。

对于非线性约束的优化问题,真正重要的不是目标函数的Hessian,而是拉格朗日的Hessian。拉格朗日的Hessian即使在最佳状态下也可能是不确定的,实际上,仅是拉格朗日的Hessian投影到主动(线性和非线性)约束的Jacobian空空间中,这需要为正半-在最佳位置确定。如果通过BFGS对Lagrangian的Hessian建模,从而将其约束为正定值,那么它在任何地方都可能是糟糕的拟合,并且效果不佳。相比之下,SR1可以使其特征值适应其实际“看到”的东西。

关于这一切,我还有很多话要说,但这足以给您带来风味。

编辑:我写了两段是正确的。但是,我忘了指出它也适用于线性约束问题。在线性约束问题的情况下,拉格朗日的Hessian只是(简化为)目标函数的Hessian。因此,局部极小值的二阶最优性条件是目标函数的Hessian到主动约束的Jacobian的零空间的投影是正半定的。最值得注意的是,即使在线性约束问题上,目标函数的Hessian也不必(必须)处于最佳状态psd,通常也不需要。



@ GeoMatt22您打赌您@@ $,我不是。另一方面,如果您要创建(选择)损失函数,则在除展示划船之外没有其他用途的情况下,无需使其成为非凸的。自由裁量权是勇气的重要部分。
马克·L·斯通

@Mark L. Stone:这很有趣!您能参考一些我可以阅读的文献吗?
kjetil b halvorsen '16

@kjetil b halvorsen。以负曲率方向进行线搜索的方式民用.uib.no / ssu029 / Pdf_file / Curvilinear / More79.pdf。信托地区有很多书籍和论文。对信任区域有良好介绍的著名书籍是amazon.com/… ..怪物书籍,现在有点过时了,是epubs.siam.org/doi/book/10.1137/1.9780898719857。至于我关于最优性条件的最后一段,请阅读二阶KKT条件
Mark L. Stone

@kjetil b halvorsen我没有解决发现非凸二次方程序的全局最优问题。广泛可用的软件(例如CPLEX)可以执行此操作,请参阅ibm.com/support/knowledgecenter/SS9UKU_12.6.1/…。当然,它并不总是很快,并且可能需要一些内存。我已经解决了具有几万个具有数百个显着量级负特征值的变量的QP最小化问题,从而达到了全局最优性。
Mark L. Stone,

5

您已经列举了SPD非常重要的一系列原因,但您仍然提出了这个问题。因此,在我看来,您首先需要回答以下问题:为什么正数量重要?

我的回答是,为了与我们的经验或模型保持一致,一些数量应该是正数。例如,空间中项目之间的距离必须为正。坐标可以为负,但距离始终为非负。因此,如果您有一个数据集和一些处理该数据集的算法,则最终可能会遇到一个问题,当您向其中输入负距离时,该数据集会崩溃。因此,您说“我的算法始终需要正距离输入”,这听起来像是不合理的需求。

i(xiμ)2/n
xi

因此,方差-协方差矩阵是正半定的,即在这个比喻中为“非负”。需要此条件的算法示例为Cholesky分解,非常方便。通常将其称为“矩阵的平方根”。因此,就像需要非负数的实数的平方根一样,Cholesky需要非负矩阵。我们在处理协方差矩阵时没有发现这种约束,因为它们总是如此。

所以,这就是我的功利主义答案。非负性或SPD等约束条件使我们能够构建更高效的计算算法或便捷的建模工具,当您的输入满足这些约束条件时可用。


3

对于正半定矩阵为何如此重要,还有两个未提及的原因:

  1. 图拉普拉斯矩阵是对角线占优势的​​,因此是PSD。

  2. 正半定性定义对称矩阵集上的偏序(这是半定编程的基础)。

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.