病态 Hessian 矩阵的结果是什么?

机器算法验证 黑森州
2022-04-18 09:53:26

本出版物中,我找到了对 Hessian 矩阵的解释,以及病态矩阵的含义。在论文中,误差面和 Hessian 矩阵的特征值之间存在这种联系:

误差曲面的曲率由 Hessian 矩阵λi

因此,它给了我一些提示,说明为什么要注意它是否条件不佳可能很重要。但我还没有完全到那里,我很难看到一个病态的黑森州的后果。

所以我的问题是:你能给我一些直观的理解,我们为什么要关心?特别是,在哪些模型中以及它如何导致问题?

2个回答

在考虑解决线性问题时最容易理解, 其中是问题数据,是我们试图估计的参数。在实践中,您在中存在通过传播的错误。如何?假设我们在测量中只有误差,并分别表示测量和估计中的误差。由于线性关系, 为了了解矩阵如何放大测量误差,您可以计算,

Ax=b
bAxbAbδbδx
δb=Aδx
A
||δx||||x||/||δb||||b||
我们有这个数以的条件数为界, 其中的最大和最小特征值因此,条件数越大,误差的放大率就越高。A
cond(A)=σ1σn
σ1σnA

这里,低条件数对应于梯度小的方向,这会导致振荡和收敛缓慢。

这个问题激发了对神经网络优化的大量研究(正如您已经指出的那样),这导致了动量(请参阅深度学习中初始化和动量的重要性)和提前停止等技术的发展。这篇博客文章很好地描述了这个主题。

许多优化方法,例如Newton's,需要计算 Hessian 的逆。

矩阵的条件通常定义为最大和最小奇异值之间的比率, 如果这个数很大,即相对于,则称该矩阵是病态的。H

κ(H)=σ1σn.
σnH

现在,考虑的奇异值分解。是非奇异的,则逆,其中 由于,只要这个值足够小,计算可能会引入显着的数值不稳定性。H=UΣVTHH1=VΣ+UT

Σij+={1/Σijif i=j0otherwise.
Σnn=σn1/Σij