大数跨境
0
0

《线性代数》 - 8 正定矩阵 (致敬Gilbert Strang)

《线性代数》 - 8  正定矩阵 (致敬Gilbert Strang) 数据分析学习与实践
2024-12-06
2

今天,我们将继续深入学习正定矩阵。更具体地说,我们将学习如何确定矩阵是否为正定矩阵。此外,我们还将学习这种正定性的几何解释,这在机器学习中理解优化时非常有用。

如果你错过了上一篇关于正定矩阵定义的文章,可以在 《线性代数》 - 7对称矩阵 (致敬Gilbert Strang)

本节涉及的内容:

  • 正定性的判断
  • 什么是二次型以及如何用它来检验正定性
  • 正定性的几何解释
  • 如何将非对称矩阵转化为正定矩阵

在材料和结构方面,我沿用了麻省理工学院 Gilbert Strang 博士著名而精彩的讲座,您可以从第 27 讲座中看到他关于今天主题的讲座。

判断正定性

比方说,你面前有一个矩阵,想要确定该矩阵是否为正定矩阵。这将帮助你解决优化问题、将矩阵分解为更简单的矩阵等。

根据前面的故事,你必须根据定义检查 3 个条件:

矩阵必须是:


    1. 对称

    1. 所有特征值均为正数

    1. 所有子行列式是正数

你肯定可以地检查,但显然,还有一种更简单实用的检查方法。这就是第四种方法。

检查正定性的检验方法:

  1. 检查所有特征值是否为正值
  2. 检查所有子行列式 是否为正值
  3. 检查所有主元是否为正值
  4. 检查二次型是否为正值。

这与一种叫做 “二次型”的东西有关。

什么是二次型以及如何用它来检验正定性

首先,让我们定义并理解一下什么是二次型。

二次型:

:
  1. 为标量

你应该已经知道将二次型展开成方程,而上面只是用线性代数的另一种方法来表示它。

因此,为了说明本质上是一样的,让我们试着用矩阵形式来写二次方程式,就像你之前看到的那样。

没那么难吧?

要检查矩阵是否为正定矩阵,只需计算上述二次方程式,然后检查其值是否为正。

如果 = 0 或负值会怎样?

这其实是个好问题,根据二次方程的符号,你可以把确定性分为三类:

  • 正定式,如果(二次函数形式)> 0
  • 半正定,如果(二次函数形式)≥ 0
  • 如果(二次函数形式)< 0,则为负定式

正定性的几何解释

让我们试着从几何的角度来理解正确定性的概念。

还记得我曾说过,当涉及到理解机器学习优化时,这种确定性很有用吗?

这是因为正定性可以告诉我们矩阵的 “平面”。

如果你熟悉机器学习优化,就应该知道机器学习的整个目的就是调整权重,使损失最小。

损失可以是任何东西,但举个例子,想想目标值( )和预测值( )之间的均方误差(MSE)。希望最大限度地减小这两个值之间的误差,从而使预测值接近目标值,这意味着您有一个好的模型,可以为您提供相当好的预测。

为此,有各种优化算法来调整权重。随机梯度下降算法(SGD)是最基本但仍在使用的技术之一。

使用随机梯度下降算法,您将计算损失(如 MSE)的梯度,并以此为向导(方向)沿着优化平面的斜坡下降,最终到达平面底部。平面底部基本上表示损失中可能的最低点,这意味着您的预测处于最佳点,目标值和预测值之间的误差可能最小。

然而,平面可以有不同的形状,下面是几个简单的例子。

如果矩阵是正定矩阵,那就太好了,因为你可以保证得到最小点。但如果矩阵是正半定的,问题就来了,比如左边的例子。它有一个比较稳定的点,称为鞍点,但大多数情况下,它会从鞍点滑落,一直滑到无穷深渊中,这时优化就变得很有挑战性。

作为练习,你也可以试着想想当矩阵是负定矩阵时会发生什么,以及如果你尝试对这种情况进行优化会发生什么。

为了具体说明矩阵的正定性,让我们举一个简单的 2 x 2 矩阵的例子。

现在的问题是,函数 是否对所有 都是正值,除了它的零点。

举个例子,其中一种情况可能如下。

  1. 导数为0
  1. 导数大于0

综上,函数存在最小值。

你可以自己试试。找出满足以下条件的 。试试其他方程,看看将数值输入二次函数后结果如何。

如何利用非对称矩阵创建正定矩阵

现在,我希望你已经了解了正定矩阵的一些优点。

问题是,在大多数情况下,矩阵并不总是对称的。当矩阵不对称时,我们能否利用正定性呢?

答案是肯定的!

是正定矩阵,同时对称且是方阵。

二次方形式:

只需将非对称矩阵乘以其转置,乘积就会变成对称、正方形和正定矩阵!

小结

总结

  • 检查正定性的测试

只需计算二次型并检查其正定性。

  • 什么是二次型以及如何用它来检验正定性

如果二次型大于 0,那么它是正定的。

如果二次函数形式 ≥ 0,那么它是正半定式。

如果二次函数形式 < 0,那么它就是负定式。

  • 正定性的几何解释

正定式是一个碗形曲面。正半定是一个鞍面。

  • 如何用非对称矩阵做正定矩阵

只需乘以其自身的转置即可。

希望对你有所帮助!下次再见


【声明】内容源于网络
0
0
数据分析学习与实践
数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
内容 343
粉丝 0
数据分析学习与实践 数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
总阅读14
粉丝0
内容343