AdaGrad算法—随机梯度下降算法

AdaGrad算法,它可以根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题。

AdaGrad算法特点:

如果目标函数有关自变量中某个元素的偏导数一直都较大,那么该元素的学习率将下降较快;反之,如果目标函数有关自变量中某个元素的偏导数一直都较小,那么该元素的学习率将下降较慢。

自变量中每个元素的学习率在迭代过程中一直在降低(或不变)。

所以,当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。

Pytorch简洁实现AdaGrad算法–使用optim.Adagrad

通过名称为Adagrad的优化器方法,我们便可使用PyTorch提供的AdaGrad算法来训练模型。

d2l.train_pytorch_ch7(torch.optim.Adagrad, {‘lr’: 0.1}, features, labels)

输出:

loss: 0.243147, 0.040675 sec per epoch

AdaGrad算法—随机梯度下降算法

总结

  • AdaGrad算法在迭代过程中不断调整学习率,并让目标函数自变量中每个元素都分别拥有自己的学习率。
  • 使用AdaGrad算法时,自变量中每个元素的学习率在迭代过程中一直在降低(或不变)。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/12302.html

(0)
江山如画的头像江山如画管理团队
上一篇 2023年10月8日 下午9:48
下一篇 2023年10月21日 上午6:44

99%的人还看了以下文章

  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    1.2K0
  • 精!HTML5调用手机拍照实现图片上传服务器,并将图片地址存进数据库(下)

    这篇文章主要为大家详细介绍如何使用HTML5利用摄像头拍照实现上传功能。 上一篇只讲到前台操作,这篇专门涉及到Java后台处理,前台通过Ajax提交将Base64编码过的图片数据信息传到Java后台,然后Java这边进行接收处理,通过对图片数据信息进行Base64解码,之后使用流将图片数据信息上传至服务器进行保存,并且将图片的路径地址存进数据库。 大家可以点…

    2022年8月11日
    8810
  • 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精)

    很多初学JSP的人,学了JSP页面、javabean技术和Servlet,但并不知道怎么用,什么时候用? 今天我们通过一个求圆面积的实例,分别使用三种方法来实现,深入理解Jsp、javabean、Servlet: jsp页面代码 Javabean Servlet 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精),为12…

    2018年2月22日
    5.0K2
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    3.4K0
  • 第3课:C语言程序的构成和书写规则

    先来看一个C语言程序:输入两个正整数,计算并输出两数的和。 程序代码: /*ex1_2.c:求两个正整数的和*/ #include <stdio.h> void main()                         /*主函数*/ {     int a,b,sum;                    /*定义三个整型变量*/    …

    2020年4月5日
    2.9K0
  • %matplotlib inline使用详解

    #内嵌画图 %matplotlib inline import matplotlib # 注意这个也要import一次 import matplotlib.pyplot as plt myfont = matplotlib.font_manager.FontProperties(fname=r’C:/Windows/Fonts/msyh.ttf’) # 这一…

    2023年1月13日
    8160

发表回复

登录后才能评论