对角线“抖动”对数值稳定性的优势?

计算科学 稳定 机器学习 逆问题
2021-11-27 09:06:20

在机器学习代码中,通过最大似然估计计算线性回归模型的最佳参数θMLE

θML=(ΦTΦ)1ΦTy

其中y是目标向量,Φ是多项式特征矩阵。在链接的笔记本中,我们可以找到:

出于数值稳定性的原因,我们经常在\boldsymbol\Phi^T\boldsymbol\Phi中添加一个小的对角“抖动” κ这样我们就可以在没有明显问题的情况下反转矩阵,从而使最大似然估计变为\boldsymbol \theta^ \text{ML} = (\boldsymbol\Phi^T\boldsymbol\Phi + \kappa\boldsymbol I)^{-1}\boldsymbol\Phi^T\boldsymbol yΦTΦ

θML=(ΦTΦ+κI)1ΦTy

在代码中,κ是非常小的值 1e-08。

那么,对角线“抖动” κ是如何影响稳定性的呢?

3个回答

所以,你想反转你的矩阵A=ΦTΦA是可逆的,它的特征值不能为零。我们可以证明A是半正定的,如下所示。半正定意味着A的特征值为0这相当于显示yTAy0,y0

yTAy=yTΦTΦy=(Φy)T(Φy)0

所以我们证明了是半正定的。因此,它的特征值可能为零,因此将使其不可逆。因此,我们将替换为,其中可以选择正定,因此是可逆的。AAA+κIκ>0A+κI

yT(A+κI)y=yTAy+κyTy

由于,选择一个小的正呈现因此是可逆的。yTAy0yTy>0κyT(A+κI)y>0y0

查找有关Tikhonov 正则化的内容,也称为机器学习中的岭回归这是一种标准技术(但我同意该笔记本中的解释有些差)。

从技术上讲,它不会影响该算法的数值稳定性,但它会将问题修改为条件更好的问题,从minΦθy2

minΦθy2+κθ2.

是一个标量值时,想想最简单的情况。Φ

定义不明确

θML=(0T0)10T y=100 y=00

定义明确

θML=(0T0+κ)10T y=1κ0 y=0