为了学习matplotlib 画图,同时也为了看看各种优化算法下变化率曲线
先看最好的RMSprop 算法(350次)
import math import matplotlib #导入matplotlib库 from numpy import * import numpy as np import matplotlib.pyplot as plt from matplotlib.ticker import MultipleLocator, FuncFormatter def f(x): return x**3-x+x**2 def derivative_f(x): return 3*(x**2)+2*x-1 x=0.0 y=0.0 learning_rate = 0.001 gradient=0 e=0.00000001 sum = 0.0 d = 0.9 Egt=0 Edt = 0 delta = 0 xx=[] dd=[] gg=[] yy=[] for i in range(100000): print('x = {:6f}, f(x) = {:6f},gradient={:6f}'.format(x,y,gradient)) if(abs(gradient)>0.000001 and (abs(gradient)<0.00001)): print("break at "+str(i)) break else: xx.append(x) gradient = derivative_f(x) gg.append(gradient) Egt = d * Egt + (1-d)*(gradient**2) delta = learning_rate*gradient/math.sqrt(Egt + e) dd.append(delta) x=x-delta y=f(x) yy.append(y) fig = plt.figure() ax1 = fig.add_subplot(111) ax1.plot(xx,dd, label='YR', color='red') ax2 = ax1.twinx() # this is the important function ax2.plot(xx, gg,label='YL', color='blue') plt.savefig('latex-rms.png', dpi=75) plt.show()
蓝色是导数变化情况,红色的差值的变化率,注意红色的有一段平滑的阶段,刚好是learning_rate
再看看 ADADELTA (760次)
红色的是来回的碗口,说明动量的此起彼伏
再看看ADAGRAD (1454)
再看adam(861次)
最后再看看原生的 (3018次)
相关推荐
如题,机器学习_梯度下降算法实现。 包括测试数据。
c#实现梯度下降算法逻辑回归c#实现梯度下降算法逻辑回归c#实现梯度下降算法逻辑回归
这是一个matlab对梯度下降的实现,模拟的是x^2+y^2最小值的取得
梯度下降算法原理讲解——机器学习.pdf 梯度下降算法原理讲解——机器学习.pdf 梯度下降算法原理讲解——机器学习.pdf 梯度下降算法原理讲解——机器学习.pdf 梯度下降算法原理讲解——机器学习.pdf 梯度下降算法...
Matlab用梯度下降算法开发的rbf神经网络曲线拟和程序-用梯度下降算法开发的rbf神经网络曲线拟和程序.rar 用梯度下降算法开发的rbf神经网络曲线拟和程序
梯度下降算法代码及详细解释,使用matlab编程
损失使用平方函数,简单的线性模型 y = theta1 + theta2 * x
梯度下降算法原理视频教程,希望能够学习者提供帮助,实现对梯度下降算法基础知识的掌握与理解,为后续学习做好铺垫,实现梯度下降算法的灵活运用
梯度下降算法是机器学习中的最基础的算法之一,原理简单,适合初学者学习。
自己编写的随机梯度下降算法,附上房价预测数据集,感兴趣的可以看看
本文概括总结了梯度下降算法的内容,给出了详细的收敛性证明,复杂度分析以及随机梯度下降法,动量梯度下降法等经典的梯度下降算法,个人原创作品
本文档我学习梯度下降优化算法的总结,开头是深度学习的基本介绍,了解为什么要用梯度下降算法,以及传统的梯度下降算法的弊端,后面的主要章节是从momentum和adaptive两方面,进行梯度下降优化算法的展开,有详细的...
利用梯度下降算法,进行机器学习.利用C++实现下降算法.
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料...基于梯度下降算法的神经网络例子源码+项目说明.zip
梯度下降算法实现程序,梯度下降算法实现程序
一个三层神经网络模板,采用梯度下降算法,支持保存和读取训练好的网络 一个三层神经网络模板,采用梯度下降算法,支持保存和读取训练好的网络 一个三层神经网络模板,采用梯度下降算法,支持保存和读取训练好的网络...
梯度下降算法详解,包括原理讲解和算法实例,简单易懂
梯度下降算法代码及详细解释(非常易懂)Matlab代码,有详细图文解释,适合小白,全面介绍算法原理和公式推导
梯度下降优化算法综述 梯度下降优化算法综述 梯度下降优化算法综述
基于Python和梯度下降算法的物理实验数据一元线性拟合方法.pdf