MATLAB中求解信赖域子问题的调用函数是什么??

MATLAB中求解信赖域子问题的调用函数是什么??,第1张

matlab中没有提供直接的信赖域子问题的函数但是想fsolve等函数中,一般有四种算法可以选择,你可以选择信赖域算法换句话说就Matlab将那些优化算法都融合到了Matlab优化工具箱中那几个经典函数中了

根据策略梯度方法,参数更新方程式为:

在策略梯度方法中,合适的步长 对于参数更新至关重要,当步长不合适时,更新的参数所对应的策略是一个更不好的策略,当利用这个更不好的策略进行采样学习时,再次更新的参数会更差,因此很容易导致越学越差,最后崩溃。

TRPO要解决的问题就是解决这个问题,找到新的策略使得新的回报函数的值单调增,或单调不减。

是一个随机策略, 是初始状态 的分布。 代表折扣奖赏的期望,定义如下:

TRPO的目的是找到新的策略,使得回报函数单调不减。那么如果将新的策略所对应的回报函数可以用旧的策略所对应的回报函数与其他项之和(公式3)代替并保证新的策略所对应的其他项大于等于零,那么新的策略就能保证回报函数单调不减。

其中,

证明如下( 为新策略, 为旧策略):

我们定义:

为了出现策略项,我们可以利用公式(5)将公式(3)改写为

由于 严重的依赖于新的策略 ,使得公式(6)很难去优化。因此,我们忽略因策略改变而产生的状态分布的改变,即令 ,近似后的公式为

对比公式(6)与公式(7),我们发现 在策略 处一阶近似,即:

TRPO在“自然策略梯度”的基础上提出了如下的算法,

该不等式带给我们重要的启示,那就是给出了 的下界,我们定义这个下界为

利用这个下界我们可以证明策略的单调性:

如果新的策略 能使得 最大,那么有不等式 ,则 ,那么我们的目标将转化为寻找使得 最大的新的策略。可形式化为

然而在实际中,使用惩罚系数 C 会使得更新步伐非常小,因此,提出如下的形式

但是,这个问题强加了一个约束,即KL散度在状态空间的每个点都有界限, 尽管理论上可行,但由于存在大量约束,这个问题难以解决。因此我们可以使用考虑平均KL散度来近似

另外,我们同样也可以引入“重要性采样”,并作形式上的演化,最终的不等式化为

论文中提出,可以将 用 代替。

论文的部分技巧总结

信赖域和遗传算法的关系是信赖域是优化升级版。针对信赖域方法求解多峰值优化不能收敛到全局最优的问题,提出了一种信赖域遗传算法,该算法将遗传算法和信赖域方法进行了结合。利用了遗传算法繁殖算子的随机性和信赖域方法求解二次优化问题的高效性,该算法能够克服信赖域方法的缺点同时能够有效求解一类欺骗性问题。最后证明了算法的收敛性,通过数值试验说明了算法的有效性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11983752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存