暴力拆解《Numerical Optimization》之信任域方法(上)

信任域方法的基本思想是,在一个以点为中心的范围内(信任域范围),我们自己建立一个模型函数来近似目标函数,然后利用模型函数来计算极小值。

假设目标函数为:


在用信任域方法的时候,我们可以把当做常数,构造模型函数:


那么,假设信任域为,在信任域范围内求解目标函数的极小值,就相当于求解:




利用信任域方法来求解目标函数的极小值,也主要分为两步:

1.调整信任域的大小

2.计算的大小



(一)调整信任域的大小

我们定义:


可以很容易的看出,分子是目标函数的实际减小值,分母是模型函数的减小值。如果说的值越接近于1,那么就说明模型函数对目标函数拟合的越好。我们可以以此来做为我们调整信任域大小的依据。

我们可以规定一个阈值,如果说大于这个阈值,并且已经抵达信任域的边界了,那我们可以考虑增大信任域的范围。

如果说小于这个阈值,那我们可以考虑减小信任域的范围。

注意:

对信任域大小的调整是一个迭代的过程,并不是一次确认之后就不再修改的。


(二)计算的大小

相对于前面信任域的调整,讨论起来就相对要复杂的多了。

首先介绍这样一个概念,整步(full step):若为正定矩阵,并且,那么,模型函数的极小点为:


上面这个式子是不是看起来很熟悉呢,它和牛顿方向看起来很相似。确实,这里的求法和牛顿方向的求法类似。是由模型函数对求导值为0得到的。

对于上面的这种情况,我们就把他叫做整步。


下面分为的精确解和非精确解来讨论对的计算。

1.的精确解

由于本屌丝技术有限,只能先不给证明的给出精确解的值。待他日找到计算方法再回来补充:

满足以下三个条件:

(a)

(b)

(c)      半正定

那么,就是函数的全局最优解。

这三个条件的突破点在第二个条件。它意味着,为最优解无非两种情况,要么,此时 等于0,要么等于0。

a.当 时,必有 等于0。将代入条件(a),可得

此时为整步。

b.当时,我们可以推出:


这事我们可以看出,与模型函数的梯度负方向一致。

这三个条件提供给我们这样一个信息:当在信任域范围内最小时,只有可能有两种情况:

在理解了这三个条件之后,我们可以知道:整步的意思并不是指,也就是说整步并不意味着抵达了信任域的边界,它所代表的含义是在信任域内达到了模型函数的极值点。




下一篇博客将讨论信任域方法中近似解中的求解柯西点的方法。



如有觉得上面有错误,或者有疑问,请评论,我们一起探讨。Thanks for your patience! :)



  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值