繁体   English   中英

使用 armijo linesearch 进行梯度下降

gradient descent with armijo linesearch

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我目前正在实现一种梯度下降算法,其中包括使用 goldstein-armijo 的动态线搜索方法 - 回溯方法。 它在一定程度上起作用,但随后无法收敛,无法拆分步长并收敛到最小值。 由于我对该主题相对较新,我真的不知道如何调整或更改它以使其更加收敛。

# starting position
startx = np.array([x,y])

x_arr = [startx]
x = x_arr[-1]
beta = 0.1
alpha = 0.00001

# search direction,
# f_gradient returns the gradient
p = -f_gradient(x_arr[-1])

# cutoff
cutoff_thressh = 1*(10**(-8))

#initial stepsize
stp = 1

derphi = np.dot(f_gradient(x),p)

while curr_it < lim_it:

    if np.linalg.norm(f_gradient(x)) < cutoff_thressh:
        break

    # armijo conditions to reduce stepsize
    while f(x + stp * p) > (f(x) + alpha * stp * derphi)):
        stp*=beta

    gradient_mult = stp*f_gradient(x)
    x_new = np.subtract(x, gradient_mult)
    x_arr.append(x_new.tolist())

任何建议都是有帮助的! 谢谢

问题暂未有回复.您可以查看右边的相关问题.
1 Tensorflow中的梯度下降线是否安全?

我正在使用Tensorflow来实现强化学习算法,我希望在另一个线程中进行学习步骤,以便代理可以更顺利地与环境交互。 (这类似于我们在一个线程中执行梯度下降并在另一个线程中进行推理的情况)这让我想到Tensorflow是否是线程安全的? 每当我打电话给sess.run时,我应该获得锁吗? ...

3 梯度下降

因此,我正在编写一个处理梯度下降的程序。 我用这种方法求解形式的方程 这是我的代码: 当我在随机矩阵和列上运行方法deepestDistance时,我不断遇到无限循环。 当简单的2x2矩阵用于A时,它可以正常工作,但对于10x10矩阵,它可以无限循环。 问题出在np.lin ...

4 梯度下降

我正在尝试计算 function 来计算 python 中的梯度下降。 我知道如何在没有向量的情况下计算它,例如: 但是,当参数是向量时,我遇到了麻烦。 任何帮助,将不胜感激。 我是 python 的新手 ...

5 在 MATLAB 上绘制等高线以及梯度下降的迭代

这个问题是从数学堆栈交换迁移而来的,因为它可以在堆栈溢出中得到回答。 上个月迁移。 上图摘自 Amir Beck 的《非线性优化简介:理论、算法和应用 MATLAB》。 他还为二次形式添加了以下梯度下降代码。 我尝试绘制等高线,但一直无法这样做。 我能做的最好的事情是 plot 每次迭代,所以我 ...

6 带输出图和回归线的梯度下降函数

我一直在运行以下代码,它返回正确的系数。 但是,无论我在哪里放置plot调用,都无法获得任何绘图输出。 我不确定这里是否需要一个可重现的例子,因为我认为这可以通过查看下面的gradientDescent下降函数来解决? 这是我第一次尝试在 R 中运行这个算法: ...

7 梯度下降实现python - 轮廓线

作为一项自学练习,我试图从头开始对线性回归问题实施梯度下降,并在等高线图上绘制结果迭代。 我的梯度下降实现给出了正确的结果(用 Sklearn 测试)但是梯度下降图似乎并不垂直于等高线。 这是预期的还是我的代码/理解有问题? 算法 成本函数和梯度下降 阴谋 曲面图和等高线图 注释 ...

8 用梯度下降拟合一条线

我试图使用渐变下降来拟合几个点。 我不是这方面的专家,并试图在python中写下它的数学算法。 它运行了几次迭代,但我的预测似乎在某些时候爆炸。 这是代码: 那是我的输出: 更新:这些值不再爆炸,但它仍然没有以一种很好的方式收敛: 现在,在大约10000次迭代后, ...

10 合并霍夫线

我在代码中停留了一点。 首先,简短说明一下我在做什么:作为输入,有一张地板的图像。 使用Canny和HoughLinesP算法,我想将整个墙分割成许多“小”部分,就像您在这里看到的那样,这是理想的输出(这里没有canny),我想得到 -一段是在两条红线之间。 好吧,因为我实际上是 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM