详解梯度下降算法

详解梯度下降算法一 什么是梯度下降算法梯度下降法 Gradientdesc 是一个一阶最优化算法 通常也称为最陡下降法 要使用梯度下降法找到一个函数的局部极小值 必须向函数上当前点对应梯度 或者是近似梯度 的反方向的规定步长距离点进行迭代搜索 如果相反地向梯度正方向迭代进行搜索 则会接近函数的局部极大值点 这个过程则被称为梯度上升法 相反则称之为梯度下降法 1 1 形象理解梯度下降可以理解为你站在山的某处 想要下山 此时最快的下山方式就是你环顾四周 哪里最陡峭 朝哪里下山 一直执行这个策略 在第 N

一、 什么是梯度下降算法

梯度下降法(Gradient descent )是一个一阶最优化算法,通常也称为最陡下降法 ,要使用梯度下降法找到一个函数的局部极小值 ,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。 如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法 ,相反则称之为梯度下降法。

1.1 形象理解

1.2 数学理解——微分

1.3 步长(学习率) —— a a a

前面一直讨论如何下山最快和如何用数学方法来解决下山最快和下山的方向,那么还忽视了一个问题,就是下山的步子。当然,步子太大容易扯着蛋,步子太小下山太慢,可能下山都太阳落山了,因此需要确定一个步长 a a a,使得经过合适的步子后能够顺利最快的下山。可能你也能想到,最好的方式便是先大步子下山,在山的最低处小步,不断逼近最低处。但如果在最低处无限逼近那最后的0.000001,此时在实际意义来说是无意义的,因此同时也需确定某个值,使得迭代到某次后判断与设定值的大小,若小于则停止循环。
不同步长的比较
小步长
在这里插入图片描述小步长表现为计算量大,耗时长,但比较精准。






1.4 梯度下降算法实现

1、给定待优化连续可微分的函数J(θ),学习率或步长a,以及一组初始值(真实值) 2、计算待优化函数梯度 3、更新迭代 4、再次计算新的梯度 5、计算向量的模来判断是否需要终止循环 

1.5 梯度下降算法类型

1.5.1 批量梯度下降算法

1.5.2 随机梯度下降算法

1.5.3 小批量梯度下降算法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214766.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:30
下一篇 2026年3月18日 下午3:30


相关推荐

  • Windows Hook原理与实现

    Windows Hook原理与实现WindowsHook 原理与实现教程参考自 逆向工程核心原理 1 概述 Hook 技术被广泛应用于安全的多个领域 比如杀毒软件的主动防御功能 涉及到对一些敏感 API 的监控 就需要对这些 API 进行 Hook 窃取密码的木马病毒 为了接收键盘的输入 需要 Hook 键盘消息 甚至是 Windows 系统及一些应用程序 在打补丁时也需要用到 Hook 技术 接下来 我们就来学习 Hook 技术的原理

    2026年3月18日
    3
  • HDOJ 5000 Clone

    HDOJ 5000 Clone

    2022年1月4日
    41
  • pycharm中运行lua脚本requier sys报错_pycharm怎么安装jupyter

    pycharm中运行lua脚本requier sys报错_pycharm怎么安装jupyterpycharm中运行jupyternotebook,首先需要安装:pipinstlljupyternotebook安装完成后在pycharm中新建一个ipynb文件如下图: 然后输入代码,但运行出现了一个问题:解决方法如下:在cmd中运行jupyternotebook,可以看到url和token弄完之后确实可以运行了,但是如果把cmd关掉之后又不能运…

    2022年8月26日
    8
  • mac开发php集成环境「建议收藏」

    mac开发php集成环境「建议收藏」    我是一个使用mac开发的phper,虽然使用mac开发也就不到一年,但是mac上的一些技巧还是掌握的不错的,但实际开发中光有操作技巧是不行的,环境的效率也是很重要的,因为之前一直使用homestead 虚拟机,刚开始还没感觉它有多慢,但是后来感觉homestead真是太慢了,当然这可能也跟电脑的性能有关,我经常启动好几个虚拟机,在上面跑windows系统。…

    2022年6月28日
    39
  • Midjourney关键词格式案例 Midjourney关键词权重

    Midjourney关键词格式案例 Midjourney关键词权重

    2026年3月15日
    1
  • Ubuntu16.04安装ros_nodejs安装教程

    Ubuntu16.04安装ros_nodejs安装教程Ubuntu16.04安装ROS详解1、设置sources.list2、设置key3、更新package4、安装ROSkinetic完整版5、初始化rosdep6、配置ROS环境7、安装依赖项8、测试ROS是否安装成功1、设置sources.listsudosh-c’echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-…

    2025年8月31日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号