Gradient Descent

Proximal Gradient Descent(近端梯度下降)方法 给定一个(一般是可凸的)函数hxh(x)hx,其近端算子proxthproxth​proxthvarg⁡min⁡xhx12t∥x−v∥2proxth​vargxmin​hx2t1​∥x−v∥2这里,t0t > 0t0为步长(或学习率)的一个系数,∥⋅∥\|\cdot\|∥⋅∥通常是 2 范数。这一定义意味着:要找一个xxx,它既能让hxh(x)hx。 阅读详情

Review

下图是将gradient descent在投影到⼆维坐标系中可视化的
在这里插入图片描述
红色箭头是指在(θ1,θ2) 这点的梯度,梯度方向即箭头方向(从低处指向高处),梯度大小即箭头长度(表示在θ点处最陡的那条切线的导数大小,该方向也是梯度上升最快的方向) ;蓝色曲线代表实际情况下参数θ1和θ2的更新过程图,每次更新沿着蓝色箭头方向loss会减小,蓝色箭头方向与红色箭头方向刚好相反,代表着梯度下降的方向。

因此,在整个gradient descent的过程中,梯度不⼀定是递减的(红色箭头的长度可以长短不⼀),但是沿着梯度下降的方向,函数值loss⼀定是递减的,且当gradient=0时,loss下降到了局部最小值,总 结:梯度下降法指的是函数值loss随梯度下降的方向减小

Tip 1:Tuning your learning rates

在这里插入图片描述

  • 如果learning rate刚刚好,就可以像上图中红色线段⼀样顺利地到达到loss的最小值
  • 如果learning rate太小的话,像上图中的蓝色线段,虽然最后能够⾛到local minimal的地方,但是它可能会走得非常慢,以至于你⽆法接受
  • 如果learning rate太⼤,像上图中的绿色线段,它的步伐太⼤了,它永远没有办法走到特别低的地方,可能永远在这个“山谷 ”的口上振荡而无法走下去
  • 如果learning rate非常⼤,就会像下图中的⻩色线段,⼀瞬间就飞出去了,结果会造成update参数以后,loss反而会越来越大

当参数有很多个的时候(>3),我们很难做到将loss随每个参数的变化可视化出来(因为最多只能可视化出三维的图像,也就只能可视化三维参数),但是我们可以把update的次数作为唯⼀的⼀个参数,将loss随着update的增加而变化的趋势给可视化出来(上图右半部分) 所以做gradient descent⼀个很重要的事情是,要把不同的learning rate下,loss随update次数的变化曲线给可视化出来,它可以提醒你该如何调整当前的learning rate的大小,直到出现稳定下降的曲线

Adaptive Learning Rates(适应性学习率)

最基本、最简单的大原则是:learning rate通常是随着参数的update越来越小的

  • 首先,刚开始我们离 destination 还很远,所以采用较大的 learning rate
  • 一段时间后,我们离 destination 比较近了,所以减小 learning rate
  • 重要的是,每个不同的参数给他不同的 learning rate(如 Adagard)

Adagrad

Divide the learning rate of each parameter by the root mean square(均方根) of its previous derivatives
Adagrad就是将不同参数的 learning rate分开考虑的⼀种算法(Adagrad算法update到后⾯速度会越来越慢)

在这里插入图片描述
w是function中的某个参数,t表⽰第t次update, 表⽰Loss对w的偏微分,⽽ 是之前所有Loss对w偏微分的⽅均根(根号下的平⽅均值),这个值对每⼀个参数来说都是不⼀样的
在这里插入图片描述
我们在做gradient descent的时候,希望的是当梯度值即微分值越大的时候(此时斜率越大,还没有接近最低点)更新的步伐要更大⼀些,但是Adagrad的表达式中,分母表示梯度越大步伐越大,分子却表示梯度越大步伐越小,两者似乎相互矛盾
在这里插入图片描述
可以这样理解:Adagrad要考虑的是,这个gradient有多surprise,即反差有多大,假设t=4的时候与前面的gradient反差特别⼤,那么分子与分母之间的大小反差就会比较大,它们的商就会把这一反差效果体现出来
在这里插入图片描述
gradient越大,离最低点越远这件事情在有多个参数的情况下是不一定成立的
如下图所示,w1和w2分别是loss function的两个参数,loss的值投影到该平⾯中以颜⾊深度表示大小,分别在w2和w1处垂直切一刀(这样就只有另一个参数的gradient会变化),对应的情况为右边的两条曲线,可以看出,比起a点,c点距离最低点更近,但是它的gradient却越⼤
在这里插入图片描述
对于⼀个⼆次函数来说,任意⼀点,它迈出最好的步伐长度是⼀步迈到最小值点,联系该函数的⼀阶和⼆阶导数,可以发现the best step不仅跟⼀阶导数(gradient)有关,还跟⼆阶导数有关。
再来回顾Adagrad的表达式:分子就是⼀次微分,而分母反映了⼆次微分的大小,所以Adagrad想要做的事情就是,在不增加任何额外运算的前提下,想办法去估测⼆次微分的值。
在这里插入图片描述

Tip 2: Stochastic Gradient Descent(随机梯度下降)

随机梯度下降的⽅法可以让训练更快速,传统的gradient descent的思路是看完所有的样本点之后再构建loss function,然后去update参数;而stochastic gradient descent的做法是,看到⼀个样本点就update⼀次,因此它的loss function不是所有样本点的error平方和,⽽是这个随机样本点的error平方
在这里插入图片描述
stochastic gradient descent与传统gradient descent的效果对比如下:
在这里插入图片描述

Tip 3: Feature Scaling(特征归一化)

Make different features have the same scaling
左边的error surface表示,w1对y的影响比较小,所以w1对loss是有比较小的偏微分的,因此在w1的方向上图像是比较平滑的;w2对y的影响比较大,所以w2对loss的影响比较大,因此在w2的方向上图像是比较sharp的;如果x1和x2的值,它们的scale是接近的,那么w1和w2对loss就会有差不多的影响⼒,loss的图像接近于圆形
在这里插入图片描述
如何做feature scaling如下图
在这里插入图片描述

Gradient Descent的限制

在gradient即微分值接近于0的地方就会停下来,而这个地方不一定是global minima,它可能是local minima,可能是saddle point鞍点,甚至可能是⼀个loss很高的plateau平缓高原
在这里插入图片描述

ML讲座1 线性回归-2 gradient descent 上一期地址 https://blog.csdn.net/Sanalar/article/details/88674021 本次视频地址:https://www.youtube.com/watch?v=yKKNr-QKz2Q 主要介绍gradient descent的几个tips 我们知道参数更新的幅度与两个因素有关,一个是人为这是的learning rate 一个是微分的值。我们都知道步伐太大或者... 阅读详情

相关推荐

MatLab:数字图像处理实验

图像处理基本处理实验目的实验环境实验内容题目一代码结果题目二平移平移代码平移结果水平镜像水平镜像代码水平镜像结果垂直镜像垂直镜像代码垂直镜像结果放大放大代码放大结果缩小缩小代码缩小结果旋转旋转代码旋转结果双线性旋转旋转代码旋转结果 实验目的 1、熟悉并掌握MATLAB工具的使用;  2、实现图像的读取、显示、存储、平移、镜像、放大、缩小及旋转操作; 3、掌握常用的插值方法,并了解其优缺点。 实验环境 MatLab2016 实验内容 题目一 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分别显

luoyao_的博客 9697

TensorFlow优化器GradientDescentOptimizer()函数

简介: TensorFlow的optimizer类下的子类,属于优化器。实现的是梯度下降算法。 参数 __init__( learning_rate, use_locking=False, name='GradientDescent' ) GradientDescentOptimizer初始化方法中包含三个参数 name:优化器名字 learning_rate: 学习率,控制参数的更新速度。过大过小都会影响算法的运算时间和结果,过大容易发散,过小运算时间太长。..

qq_42546127的博客 4776

在AVP28335(兼容德州仪器TMS320-28335) 上实现ModbusSlaveRTU-485源码及注释。

今天先把题目先给出来, 在近两天会把源码 (含详细注释 )及部署、测试结果给出来, 希望能给大家帮助。(全免费 我有点缺德,断了别人的一个财路)。

FOOLCODE的专栏 643

【机器学习(李宏毅)】四、Gradient Descent

课题:Gradient DescentReview:Gradient Descent 任务是:求解使得损失函数L(θ)L(\theta)最小时的θ\theta参数θ∗\theta ^{*}。LL为损失函数;θ\theta为模型中的参数 。 假设θ\theta有两个变量θ1,θ2{\theta _{1},\theta _{2}} 看PPT,能理解θ2=θ1−η▽L(θ1)\theta ^{2}=\th

Climber的博客 2497

Python爬虫实战:如何优雅地处理BOSS直聘的反爬机制与Cookie失效问题

本文详细介绍了如何通过Python爬虫技术优雅应对BOSS直聘的反爬机制与Cookie失效问题。从多账号轮换、动态请求头生成到代理IP管理,提供了一套完整的解决方案,帮助开发者构建稳定高效的数据采集系统,有效提升爬虫成功率与数据质量。

weixin_30733003的博客 1564

从钕铁硼到电机磁钢:用COMSOL玩转新能源永磁体磁场仿真(含3D模型导入技巧)

本文详细介绍了如何利用COMSOL Multiphysics进行新能源永磁体磁场仿真,从基础的单块钕铁硼磁钢建模到复杂的3D电机磁钢组件分析。重点讲解了3D模型导入技巧、辐射环等特殊结构的充磁定义,以及如何通过仿真结果优化磁路设计、评估气隙磁密和退磁风险,为工程师提供了一套高效、精准的有限元仿真解决方案。

2y3u4i5o6p的博客 1040

4.Gradient Descent

李宏毅2021春机器学习笔记 1.机器学习介绍 2.Regression 3.Bias and Variance 4.Gradient DescentTip 1:Tuning your learning ratesAdagradTip 2:Stochastic Gradient DescentTip 3:Feature ScalingFeature scaling 常见做法:Gradient Descent Theory高能预警!!! Tip 1:Tuning your learning rates 大

与或 336

【从0到1实战】C# WinForm开发工业级PLC监控系统(完整串口+Modbus RTU/TCP+数据库存储+源码+避坑指南)

做C#工控上位机开发的工程师,尤其是刚入行的新人,最核心的刚需就是开发一套完整的PLC监控系统。这也是工控领域最基础、最核心、应用最广的项目类型——小到单台PLC的设备测控,大到整线的产线监控,本质都是「上位机与PLC通讯,实现数据采集、参数下发、状态监控、数据存储」。碎片化的知识点学了很多,串口会用了、Modbus协议看了、数据库也懂点,但是始终无法把这些知识点串联起来,做出一套能落地的工业级PLC监控系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1566

斯坦福CS231n计算机视觉-神经网络参数更新机制

梯度下降法(Gradient descent update,SGD) 最后一行就是梯度下降的公式,只是简单的相乘。 存在问题: 梯度的不连续性会导致参数来回震荡,所以收敛的比较慢。 动量更新(momentum update) 可以看到就是本次更新和上几次的更新还有关系,原来相当于一个没有质量的球滚动,现在考虑了球的质量,有一定的惯性。V一般初始化为0,mu一般为0.5, ...

星之所望的博客 565

如何选择汽车域控制器MCU?一文看透7大关键维度[特殊字符](含芯片推荐、踩坑预警)

MCU选型 Checklist(实用表格)维度你需要考虑的问题Flash/RAM我的任务栈够吗?是否支持OTA双Bank?安全等级这功能出故障会不会危及人命?接口资源够几个CAN?支持CAN FD?ETH是否支持TSN?主频我的软件响应周期是多少?是否带Cache?多核架构是SMP/AMP?是否带锁步核?跑多个任务会不会互相干扰?功耗与封装睡眠电流够低?有外扩DDR空间?BGA能焊?供应链有无国产替代?交期是否稳定?支持AUTOSAR吗?

weixin_43199439的博客 663

智能汽车嘚啵嘚 --- 智能座舱第七稿:智能座舱的升级OTA

智能汽车嘚啵嘚 --- 智能座舱第七稿:智能座舱的升级OTA

Soly_kun的博客 414

机器学习基础--梯度下降(Gradient Descent)

Gradient Descent Review 前面预测宝可梦cp值的例子里,已经初步介绍了Gradient Descent的用法: In step 3,​ we have to solve the following optimization problem: θ∗=arg⁡min⁡θL(θ)\theta^{*}=\arg \underset{\theta}{\min} L(\theta) \quadθ∗=argθmin​L(θ) L : loss function θ:\theta:θ: paramet

Unquestioned的博客 786

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1567

Batch Gradient Descent、Stochastic Gradient Descent、Mini-batch Gradient Descent

梯度下降(Gradient Descent)又称最速下降,是迭代法的一种,可以用于求解最小二乘法(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。 在这里简单说一下三种梯度下降 Batch Gradient ...

JUST CODE IT 343

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

mini-batch Gradient Descent

点击此处返回总目录 前面已经讲过梯度下降法家族中的批量梯度下降法(BGD)和随机梯度下降法(SGD),今天说一下mini-batch Gr...

liupc的学习笔记 6908

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Projected gradient descent

截图来自: Lower bounds & Projected Gradient Descent投影点的性质如果X是一个非空闭凸集且 证明在http://users.ece.utexas.edu/~cmcaram/EE381V_2012F/Lecture_3_Scribe_Notes.final.pdf 一文的proposition 3里distace to a convex set 也就是

yiqingyang2012的专栏 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mini-­batch gradient descent

误差曲面位于一个空间中,其中每个权重都有一个水平轴,误差则有一个垂直轴。对于多层非线性网络,误差曲面更加复杂。

程子鱼 1075

Gradient Descent Viz 项目教程

**Gradient Descent Viz** 是一个用于可视化机器学习中几种流行梯度下降方法的桌面应用程序。该项目旨在通过交互式可视化帮助用户直观地理解不同梯度下降方法(如 vanilla gradient descent、momentum、AdaGrad、RMSProp 和 Adam)的工作原理。用户可以通过调整超参数来观察这些方法在不同情况下的表现,从而获得对这些方法的深入理解。 ## ...

gitblog_00006的博客 559

1.3 Gradient Descent

1.3 Gradient Descent 这一节主要讲解Gradient Descent中的一些使用技巧。 Tip 1: Tuning your learning rates 当我们设置学习率时,如果学习率设置很小,Loss Function的值有可能下降的很慢;若果设置的学习路较大,Loss Function的值开始时下降的很快,但是之后没有变化,有可能是因为因为步伐太大,一直在最优解附近左右横跳;如果学习率非常大,则有可能LossFunction的值会直接增加,因为直接跳过了最优解,到了更差的位置。

qq_15161183的博客 277

stochastic gradient descent, mini-batch gradient descent

随机梯度下降(Stochastic Gradient Descent, SGD)和迷你批次梯度下降(Mini-batch Gradient Descent)是两种常用的梯度下降优化算法,用于机器学习中的参数优化。

2401_83026894的博客 539

batch&stochasic gradient descent

stochastic gradient descent 和 batch gradient descent水平有限,如有错误,请指正! 本文不是对梯度下降进行推倒,只是介绍两者的区别.以Linear Model 为例. 注: x(i)jx_j^{(i)} 表示第i个样本的第j个特征的值batch gradient descentbatch gradient descent 是考虑了batch中所

Keith 928

Stein Variational Gradient Descent (SVGD) 项目教程

Stein Variational Gradient Descent (SVGD) 项目教程 1. 项目介绍 Stein Variational Gradient Descent (SVGD) 是一个通用的变分推断算法,它形成了一个自然对应于优化中梯度下降的算法。SVGD 通过迭代地将一组粒子传输到目标分布来工作,通过应用一种最小化 KL 散度的函数梯度下降形式。该项目包含了 SVGD 在 Mat...

gitblog_00401的博客 520

Basic concept about gradient descent

1.bias 和 variance的比较 对比红色圆圈的两个图形 现象:简单的model具有small variance,复杂的model具有large variance 原因:简单的model收到sampled data的影响较小,分之 现象:简单的model具有large bias,复杂的model具有small bias 原因:复杂的model包含的function set可能...

qq_39086276的博客 305

Proximal Gradient Descent for L1 Regularization

[本文链接:http://www.cnblogs.com/breezedeus/p/3426757.html,转载请注明出处]假设我们要求解以下的最小化问题: minxf(x)\min\limits_x f(x) 如果f(x)f(x)可导,那么一个简单的方法是使用Gradient Descent (GD)方法,也即使用以下的式子进行迭代求解: xk+1:=xk−α∇f(xk)。x_{k+1}

机器学习与遥感图像智能信息处理 5790
上一篇: Basic Concept
下一篇: 梯度下降法——一元线性回归(实战)
APythonC
博客等级 码龄7年 23粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值