是否可以在不计算Hessian的情况下计算Hessian的零空间?

时间:2018-07-20 06:29:15

标签: linear-algebra linear tensor

我有一类函数,例如(y-x ^ 2)^ 2,沿着输入空间中的流形具有相等的局部最小值0(在这种情况下,流形y = x ^ 2)。我想遵循最小值的谷底,但是这样做需要行进的方向(在这种情况下,对于输入,任何<1、2x>的非零常数倍)。

通常,雅可比行列的零空间可以很好地实现此目的(表示方向导数为0的方向),但是由于我们是从局部最小值开始,雅可比行列就等于0。

当Jacobian等于0而Hessian不等于0时,允许的行进方向只是Hessian的零空间。不过,我将其应用于100,000多个维度的问题,并且直接计算Hessian可能被视为操作成本过高。在我公认的低质量计算机中,Hessian甚至无法容纳在RAM中,而Jacobian计算具有合理的内存约束,并且可以在一秒钟内执行。

各种各样的技巧可以使Hessians的操作改为使用低阶对象。例如,Hessian向量乘积H(x)v大约等于Jacobian(J(x + rv)-J(x))/ r的差,并且存在具有复数或自动微分的技巧相同的计算,没有引起的数值误差。

由于Hessian的零空间只是向量v的集合,因此H(x​​)v等于0,因此与不需要显式计算H(x)的问题相似。 是否可以使用类似的技巧来计算Hessian的零空间而无需直接计算Hessian?

更新:对于加分,Jacobian和Hessian的三阶和更高阶类似物如何?如果Hessian等于0,则必须找到高阶空间的空空间。

0 个答案:

没有答案