【发布时间】:2019-06-21 23:36:37
【问题描述】:
我正在尝试为 SEM(结构方程模型)问题开发一种算法(在梯度下降的框架内)。有一个参数矩阵 B(n*n),其所有对角线元素都固定为零。并且我的目标函数中的一项 inv(IB)(I - B 的反转)。B 上没有其他约束,例如对称性。
我的问题是,我们如何确保 (I-B) 在迭代中不是奇异的?
在这个问题中,由于目标函数的域不是整个R^n空间,似乎不满足梯度下降收敛的严格条件。标准教科书会假设目标有域在整个 R^n 空间中。似乎梯度下降不会有保证的收敛性。
在迭代算法的更新中,目前我的实现是检查(IB)是否接近奇异,如果不是,那么梯度下降的步长会被缩小。有没有更好的数值方法处理这个问题?
【问题讨论】:
-
您已经检查了简单的变体,例如 ||B||
-
B由数据决定,没有先验信息。
-
我会做一个简单的 LU 分解并检查对角线是否为零。通过 LU 分解,您可以直接从那里计算逆。另外,你确定你需要逆吗?大多数情况下,您实际上不需要计算它。
标签: matrix numerical-methods inversion