Function 梯度下降和对数技巧的问题

Function 梯度下降和对数技巧的问题,function,math,optimization,gradient,Function,Math,Optimization,Gradient,我用梯度下降法最小化一个函数f(x),约束x为正 为此,我使用了日志技巧。我设置x=exp(y)。 然后我在每次迭代中更新y y=对数x-学习率*梯度(f wrt y) f wrt y的梯度=f wrt x*x的梯度 然而,我看到了奇怪的行为。当我不断迭代时,我发现当它达到某个点时,更新不会改善目标函数,而是保持接近。但是,如果我强制更新参数,即使它没有改善或最小化目标函数,而是增加了它,过了一段时间,它又开始很好地进一步降低目标函数 我的函数是凸的,所以没有可能导致这个问题的局部极小值。这与导

我用梯度下降法最小化一个函数f(x),约束x为正

为此,我使用了日志技巧。我设置x=exp(y)。 然后我在每次迭代中更新y

y=对数x-学习率*梯度(f wrt y)

f wrt y的梯度=f wrt x*x的梯度

然而,我看到了奇怪的行为。当我不断迭代时,我发现当它达到某个点时,更新不会改善目标函数,而是保持接近。但是,如果我强制更新参数,即使它没有改善或最小化目标函数,而是增加了它,过了一段时间,它又开始很好地进一步降低目标函数


我的函数是凸的,所以没有可能导致这个问题的局部极小值。这与导致问题的日志技巧有关吗?

你有一个错误,
gradient\u of f\u wrt\u y=gradient\u of f\u wrt\u x*x
,而不是
gradient\u of y\u wrt\u x*x
。如果你不使用“日志技巧”,会发生什么?@AmitKumarGupta。我需要使参数为正,否则它将违反其他约束,例如正定性,并导致计算目标函数时出现问题。您可以发布您使用的代码吗?可能存在一些不知道的实现错误。