
从导数的物理意义理解梯度下降
机器学习中常会用随机梯度下降法求解一个目标函数 L(Θ) 的优化问题,并且常是最小化的一个优化问题:
min L(Θ)
我们所追求的是目标函数能够快速收敛或到达一个极小值点。而随机梯度法操作起来也很简单,不过是求偏导数而已,但是为什么是这样呢?为什么算个偏导数就能说下降得最快?初期并不很明了,后来看过一些数学相关的知识才稍微明白了一点,一下内容算是一个理解梯度的渐进过程。如果不当之处,欢迎指正。
以下关于梯度下降法,导数,偏导数的内容可在维基百科中找到,关于方向导数与梯度的内容可在高等数学书中找到。
梯度下降法
梯度下降法(Gradient descent)是一个最优化算法,通常也称为最速下降法。
梯度下降法,基于这样的观察:如果实值函数F(x)在点a处可微且有定义,那么函数F(x)在a点沿着梯度相反的方向 ??F(a) 下降最快。
因而,如果b=a?γ?F(a)
对于γ>0为一个够小数值时成立,那么F(a)≥F(b)。
考虑到这一点,我们可以从函数F的局部极小值的初始估计 x0 出发,并考虑如下序列
x0, x1, x2, …
使得xn+1=xn?γn?F(xn), n≥0。
因此可得到
F(x0)≥F(x1)≥F(x2)≥?,
如果顺利的话序列(xn)收敛到期望的极值。注意每次迭代步长γ可以改变。
下面的图片示例了这一过程,这里假设F定义在平面上,并且函数图像是一个碗形。蓝色的曲线是等高线(水平集),即函数F为常数的集合构成的曲线。红色的箭头指向该点梯度的反方向。(一点处的梯度方向与通过该点的等高线垂直)。沿着梯度下降方向,将最终到达碗底,即函数F值最小的点。
求解机器学习中的min问题,可以采用梯度下降法。
为何可能会有下面的缺点,可在梯度下降法的维基百科中看到更多内容。这里仅当一个搬运工而已,梯度下降法的缺点:
靠近极小值时速度减慢。
直线搜索可能会产生一些问题。
可能会’之字型’地下降。
导数
导数(Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。
当函数 f 的自变量在一点 x0 上产生一个增量 h 时,
函数输出值的增量与自变量增量h的比值在h趋于0时的极限如果存在,即为f在x0处的导数,记作f′(x0)、dfdx(x0)或dfdx∣∣x=x0.
几何意义上导数表示函数在这一点切线的斜率。
偏导数
在数学中,一个多变量的函数的偏导数是它关于其中一个变量的导数,而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化)。
假设?是一个多元函数。例如:
z=f(x,y)=x2+xy+y2
f=x2+xy+y2的图像。我们希望求出函数在点(1, 1, 3)的对x的偏导数;对应的切线与xOz平面平行。
因为曲面上的每一点都有无穷多条切线,描述这种函数的导数相当困难。偏导数就是选择其中一条切线,并求出它的斜率。通常,最感兴趣的是垂直于y轴(平行于xOz平面)的切线,以及垂直于x轴(平行于yOz平面)的切线。
一种求出这些切线的好办法是把其他变量视为常数。例如,欲求出以上的函数在点(1, 1, 3)的与xOz平面平行的切线。上图中显示了函数f=x2+xy+y2的图像以及这个平面。下图中显示了函数在平面y = 1上是什么样的。我们把变量y视为常数,通过对方程求导,我们发现?在点(x, y, z)的。我们把它记为:
?z?x=2x+y,于是在点(1, 1, 3)的与xOz平面平行的切线的斜率是3。?f?x=3 在点(1, 1, 3),或称“f在(1, 1, 3)的关于x的偏导数是3”。
在几何意义上偏导数即为函数在坐标轴方向上的变化率。
方向导数
方向导数是分析学特别是多元微积分中的概念。一个标量场在某点沿着某个向量方向上的方向导数,描绘了该点附近标量场沿着该向量方向变动时的瞬时变化率。方向导数是偏导数的概念的推广。
方向导数定义式:
方向导数计算公式(在推导方向导数与梯度关系时用到):
几何意义上方向导数为函数在某点沿着其他特定方向上的变化率。
梯度
在一个数量场中,函数在给定点处沿不同的方向,其方向导数一般是不相同的。那么沿着哪一个方向其方向导数最大,其最大值为多少,为此引进一个很重要的概念–梯度。函数在点p0处沿哪一方向增加的速度最快?
方向导数与梯度的关系
函数在某一点处的方向导数在其梯度方向上达到最大值,此最大值即梯度的范数。
这就是说,沿梯度方向,函数值增加最快。同样可知,方向导数的最小值在梯度的相反方向取得,此最小值为最大值的相反数,从而沿梯度相反方向函数值的减少最快。详细内容:方向导数与梯度。
在机器学习中往往是最小化一个目标函数L,理解了上面的内容,便很容易理解在SGD中常用的更新公式:
θ=θ?γ?L?θ
γ在机器学习中常被称为学习率(learning rate),也就是上面梯度下降法中的步长。
通过算出目标函数的梯度并在其反方向更新完参数θ,在此过程完成后也便是达到了函数值减少最快的效果,经过迭代以后目标函数即可很快地到达一个极小值。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
PyTorch 核心机制:损失函数与反向传播如何驱动模型进化 在深度学习的世界里,模型从 “一无所知” 到 “精准预测” 的蜕变,离 ...
2025-07-252025 年 CDA 数据分析师考纲焕新,引领行业人才新标准 在数字化浪潮奔涌向前的当下,数据已成为驱动各行业发展的核心要素。作为 ...
2025-07-25从数据到决策:CDA 数据分析师如何重塑职场竞争力与行业价值 在数字经济席卷全球的今天,数据已从 “辅助工具” 升级为 “核心资 ...
2025-07-25用 Power BI 制作地图热力图:基于经纬度数据的实践指南 在数据可视化领域,地图热力图凭借直观呈现地理数据分布密度的优势,成 ...
2025-07-24解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-24CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-24从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-23用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-23鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-23解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-22解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-22CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-22左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-22你是不是也经常刷到别人涨粉百万、带货千万,心里痒痒的,想着“我也试试”,结果三个月过去,粉丝不到1000,播放量惨不忍睹? ...
2025-07-21我是陈辉,一个创业十多年的企业主,前半段人生和“文字”紧紧绑在一起。从广告公司文案到品牌策划,再到自己开策划机构,我靠 ...
2025-07-21CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-21MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-21在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18