我使用WORHP已经有一段时间了,我一直注意到,用户应用于优化参数的缩放似乎对WORHP的行为几乎没有影响。在某些情况下,人们希望通过将参数除以一个小数字来使其变得更“硬”。这通常适用于其他基于梯度的优化器,但不适用于WORHP。你知道怎样才能用WORHP达到类似的效果吗?
发布于 2019-06-17 22:45:18
如果没有更多的上下文或示例,我很难回答这个问题。当你说“其他基于梯度的优化器”时,你是指使用二阶导数的方法,还是只使用一阶方法?据我所知,一阶方法更容易受到可变尺度的影响。您可以通过将Hessian设置为身份来忽略WORHP中的二阶信息(例如,手动或通过将对角线BFGS与par.BFGSrestart == 1一起使用)。
或者,您可以尝试向目标函数添加正则化项。假设您希望x[i]更“硬”,例如,有点接近某个参考值x_ref。您可以向目标函数中添加一个具有适当权重的术语weight * (x[i] - x_ref)^2,而不是缩放x[i]。
https://stackoverflow.com/questions/56038026
复制相似问题