信赖域(Trust Region)

来源:互联网 发布:写作软件app 编辑:程序博客网 时间:2024/05/16 10:37

信赖域算法TR可以用来求解非线性规划问题(NLP, NonLinear Programing),比如含二次项问题的优化求解,但其实它跟线搜索方法一样,大量形式的优化问题都可以通过泰勒展开为(1)的形式,进而可以采用TR方法,不足之处是2f Hessian矩阵的计算比较耗时和占内存:

f(xk+p)=fk+fTkp+12pT2f(xk+tp)p, t(0,1)(1)

求解过程中,第k步,我们是通过求p来求x
minpRn mk(p)=fk+fTkp+12pTBkp   s.t. ||p||2Δk(2)

是信赖域问题的子问题,其中Δk>0是所设定的信赖域半径,Bk是对称阵,p可以看作是信赖域搜索的区域半径,可以看出目标函数和约束项都是二次形式的。
如果上式中Bk>0即正定的,最小化的解非常容易得到:pk=B1kfk;但是Bk正定这一条件很难保证,此时为了保证问题(2)求解的收敛性和准确性,有3个求解问题(2)的策略:

  • a) 通过柯西点来让mk减少地尽量多来达到或接近最小化。
  • b) Bk正定时,采用Dogleg(狗腿)方法。
  • c) 在Bk非正定时,采用two-dimensional subspace minimization(二维子空间最小化)方法。

这三种策略可以参考博客,有非常详细的介绍。

线搜索方法用得比信赖域方法广泛,是不是说明信赖域方法没有优点呢?
举个简单的例子,求解:

min f(x)=(x21)2

f(x)=(x^2-1)^2
如果直接用线搜索,初始点在0处无法进行下一步的搜索,因为梯度为0.
而使用TR:p=argmin 2p2  s.t. ||p||Δ,显然p=±Δ可以往最优方向进行搜索。

结论:
1.TR方法要求步长p,求解p的子问题是有约束的。
2.结合Dogleg算法或共轭梯度法能有超线性的收敛速度。

http://www.mcs.anl.gov/~anitescu/CLASSES/2012/LECTURES/S310-2012-lect5.pdf
https://optimization.mccormick.northwestern.edu/index.php/Trust-region_methods

原创粉丝点击