我想使用一个参数最大化功能。所以我运行梯度下降(或实际上升):我从一个初始参数开始,并继续添加梯度(乘以一些学习速率因子越来越小),重新评估给定新参数的梯度,直到收敛。如何在参数空间受限时运行梯度下降算法?
但有一个问题:我的参数必须保持积极,所以它不应该变成< = 0,因为我的函数将是未定义的。我的渐变搜索有时会进入这样的区域(当它是正面的时候,渐变告诉它会降低一些,并且会超调)。
而使事情变得更糟的是,这样一个点的梯度可能是负值,从而推动搜索走向更负面的参数值。 (原因是目标函数包含日志,但梯度没有。)
什么是一些很好的(简单)算法来处理这个约束优化问题?我希望对我的算法进行简单的修复。或者,也许可以忽略渐变并对最佳参数进行某种线搜索?
+1对数惩罚法 – 2010-06-29 08:35:18