你理解了梯度下降在二维直角坐标系的神奇现象吗?

简介: 最近在学习梯度下降的知识,可是怎么也跳不出对公式的理解。这是怎么回事呢?我们先来看看这个公式:

最近在学习梯度下降的知识,可是怎么也跳不出对公式的理解。

这是怎么回事呢?

我们先来看看这个公式:

ω:=ωαωj(ω,b)

从公式上直观理解,就是对ω \omegaω一直更新,∂ j ( ω , b ) ∂ ω \frac{\partial j(\omega,b)}{\partial \omega}

∂ω

∂j(ω,b)

是对ω \omegaω的偏导,是每次ω \omegaω走的长度,α是学习率,用来控制步长。


这就是梯度下降的公式,为什么这么减,很多很多的教程都告诉我们,因为梯度是变化率最大的方向,朝这个方向走,那么就能更快的到达最小值,这里我们就不过多讨论为什么了。


然后他们举三维的山脉例子,这种例子是可以理解的。


但是当你尝试用公式结合二维例子去理解,就会十分难受,不知道是否有人也是这样的疑惑看到我这篇博客,希望我的理解能够帮到你。

c26af859bda3e0fe3a86b80936bf6f1b.jpg

看到这个例子,你是否有以下疑惑:


首先公式会变成ω : = ω − α d j ( ω ) d ω \omega:=\omega-α\frac{d j(\omega)}{d \omega}ω:=ω−α

dj(ω)


在二维坐标系里,对ω \omegaω求导,梯度方向是切线方向,梯度大小是斜率大小。(实际上这种情况已经不能称为梯度了!)

那么梯度下降的话应该沿着切线方向

可是你细看这图,这橙色的线根本就不是切线方向,你也不要说这是放大效果,细想什么是切线,怎么样都和函数是只有一个交点的。

问题就出在这:从梯度的概念来看,梯度方向就是切线的方向,这样这不就和图冲突了吗?


如果是这样想,那么恭喜你入坑了!


首先,你需要理解一个概念,那么就是斜率是没有方向的,是一个标量,而梯度它的确是一个向量,有方向,我们所画的切线,会有人告诉你从上往下画和从下往上画是不一样的吗???


是吧,斜率是标量,但它有正负,这个符号只是代表正负,这个正负怎么来的,如上图所示,它与x轴正方向呈钝角,因此是负的。


当你理解好斜率是标量之后,我们再接着看。


因此,在二维下,怎么理解梯度下降?


Google的例子就很好,

d8b0531ad018303cd8372114fc0d6c2e.png

发现没有,Google的例子和其他人不一样的是,他的箭头是与x水平的。


因此,我们怎么理解呢?


梯度是变化率最大的方向,这从三维的图像来说,你从一点做切线,它的确有不止一个交点,从这方向走到最近的一个交点,就完成了一次的梯度下降。


对于二维坐标来说,切线的交点只有一个,梯度的大小是斜率,但方向不是切线的方向了,我们移动的方向只有x轴正,x轴负,因此移动的方向就是水平的。我们做了切线,只是告诉我们,切线与移动的方向总是呈钝角,这样的角能够让我们找到最小值。带着这个想法再去理解二维下的梯度下降公式,你是不是觉得舒服许多了呢?


目录
相关文章
|
4月前
|
算法
基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的应用分析
IAPLA方法为复杂动力系统的数值模拟提供了一个灵活、高效且易于实现的框架,在众多实际应用中可以作为现有数值求解器的有效替代方案。
52 2
基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的应用分析
|
10月前
|
Python
优化哈里斯角例子
优化哈里斯角例子。
38 2
|
10月前
|
数据安全/隐私保护
matlab批量计算地震加速度反应谱、速度谱、位移谱,伪速度谱、伪加速度谱;反应谱对比图
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
10月前
|
算法 数据可视化 数据挖掘
R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率
R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率
|
10月前
R语言广义加性模型GAMs分析温度、臭氧环境数据绘制偏回归图与偏残差图
R语言广义加性模型GAMs分析温度、臭氧环境数据绘制偏回归图与偏残差图
|
10月前
|
算法 Windows
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
|
10月前
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
404 1
|
10月前
考研高数之无穷级数题型一:判断收敛性、求收敛半径以及收敛域和收敛区间(题目讲解)
考研高数之无穷级数题型一:判断收敛性、求收敛半径以及收敛域和收敛区间(题目讲解)
541 0
|
算法
【状态估计】一维粒子滤波研究(Matlab代码实现)
【状态估计】一维粒子滤波研究(Matlab代码实现)
155 0
|
算法
改进极坐标表示(MPR)中AOA定位的特征空间解和偏置减少解(Matlab代码实现)
改进极坐标表示(MPR)中AOA定位的特征空间解和偏置减少解(Matlab代码实现)
112 0