应用背景
信赖域算法TR可以用来求解非线性规划问题(NLP, NonLinear Programing),比如含二次项问题的优化求解。
方法原理
函数在
处的泰勒展开式为:
其中,向量为迭代向量。在TR算法中,将函数
随着
在置信域
中的行为使用二次型表示:
式中为Jacobian矩阵,
为Hessian矩阵。可以使用有限差分或拟牛顿法来对Hessian矩阵进行近似。这样,我们的优化目标为在置信域
中寻找迭代向量
使得
取得极小值:
式中是第
次迭代的信赖域上界(或称为信赖域半径)。
接下来我们需要确定置信域边界,我们可以分别计算出此步迭代下的实际优化量和使用近似计算出的优化量:
定义实际优化量和预测优化量的比值:
可以用于衡量二次模型与目标函数的近似程度,显然
值越接近1越好;
* 当 ,说明步子迈得太大了,应缩小信赖域半径,
;
* 当且
,说明这一步已经迈到了信赖域半径的边缘,并且步子有点小,可以尝试扩大信赖域半径,
;
* 当,说明这一步迈出去之后,处于“可信赖”和“不可信赖”之间,可以维持当前的信赖域半径,
;
* 当,说明函数值是向着上升而非下降的趋势变化了(与最优化的目标相反),这说明这一步迈得错得“离谱”了,这时不应该走到下一点,而应“原地踏步”,即
,并且和上述
的情况一样,缩小信赖域。反之,在
的情况下,都可以走到下一点,即
;