gpt4 book ai didi

optimization - 参数空间受限时如何运行梯度下降算法?

转载 作者:行者123 更新时间:2023-12-03 15:39:02 25 4
gpt4 key购买 nike

我想用一个参数最大化一个函数

因此,我运行了梯度下降(或实际上是上升):我从初始参数开始,并不断添加梯度(有时一些学习速率因子变得越来越小),重新计算给定新参数的梯度,依此类推,直到收敛。

但是有一个问题:我的参数必须保持正,因此不应将其设为<= 0,因为我的函数将是未定义的。我的梯度搜索有时会进入这样的区域(当为正时,梯度告诉它降低一些,并且过冲)。

更糟糕的是,在这一点上的梯度可能为负,从而将搜索推向了更大的负参数值。 (原因是目标函数包含对数,但梯度不包含。)

有什么好的(简单的)算法可以解决这个受约束的优化问题?我希望对我的算法做一个简单的修复。还是忽略梯度,并进行某种线形搜索最佳参数?

最佳答案

  • 每次更新参数时,请检查其是否为负数,如果为负,则将其钳位为零。
  • 如果不接受限制为零,请尝试添加“log-barrier”(使用Google)。基本上,它为目标函数添加了平滑的“软”墙(并修改了渐变),以使其远离您不希望其进入的区域。然后,通过加固墙以使其无限无限垂直来反复运行优化,但从先前找到的解决方案开始。在极限(实际上只需要几次迭代)中,您要解决的问题与带有硬约束的原始问题相同。
  • 关于optimization - 参数空间受限时如何运行梯度下降算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137461/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com