首页 > 解决方案 > 保证更安全的矩阵求逆的数值方法是什么?

问题描述

我正在尝试为 SEM(结构方程模型)问题开发一种算法(在梯度下降的框架内)。有一个参数矩阵 B(n*n),其所有对角线元素都固定为零。还有一个术语inv(IB)(I - B 的反转)在我的目标函数中。没有其他约束,例如 B 上的对称性。

我的问题是,我们如何确保 (IB) 在迭代中不是奇异的?

在这个问题中,由于目标函数的域不是整个R^n空间,似乎不能满足梯度下降收敛的严格条件。标准教科书会假设目标在整个空间中都有一个域R^n 空间。似乎梯度下降不会有保证的收敛性。

在迭代算法的更新中,目前我的实现是检查(IB)是否接近奇异,如果不是,则梯度下降的步长会被缩小。有没有更好的数值方法来处理这个问题?

标签: matrixnumerical-methodsinversion

解决方案


您可以尝试设置一个对数障碍,det(I-B)>0 或者det(I-B)<0取决于哪个可以为您提供更好的结果,或者您是否有更多关于您的问题的信息。的梯度logdet非常好https://math.stackexchange.com/questions/38701/how-to-calculate-the-gradient-of-log-det-matrix-inverse

您还可以计算 Fenchel 对偶,因此您可以使用原始对偶方法。


推荐阅读