赞
踩
深度学习优化函数详解系列目录
本系列课程代码,欢迎star:
https://github.com/tsycnh/mlbasic
深度学习优化函数详解(0)-- 线性回归问题
深度学习优化函数详解(1)-- Gradient Descent 梯度下降法
深度学习优化函数详解(2)-- SGD 随机梯度下降
深度学习优化函数详解(3)-- mini-batch SGD 小批量随机梯度下降
深度学习优化函数详解(4)-- momentum 动量法
深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG)
深度学习优化函数详解(6)-- adagrad
本文延续该系列的上一篇 深度学习优化函数详解(0)-- 线性回归问题。
上一篇讲到了最基本的线性回归问题,最终就是如何优化参数 a , b a,b a,b 寻找最小的loss l o s s = 1 2 m ∑ i = 1 m ( y p , i − y i ) 2 loss=\frac{1}{2m}\sum_{i=1}^m(y_{p,i}-y_i)^2 loss=2m1i=1∑m(yp,i−yi)2 显然loss函数是一个二次函数,问题就转化成了如何求二次函数的最小值。我们再举一个更简单的例子,假设我们要优化的函数是 y = x 2 y=x^2 y=x2,初始条件我们选择了 x 0 = 2 , y 0 = 4 x_0=2,y_0=4 x0=2,y0=4,画在图上如下:
图中红色的点就是我们的初始点,很显然,我们想要找的最终最优点是绿色的点 ( 0 , 0 ) (0,0) (0,0)。
接下来我们需要对目标函数求微分 d y d x = 2 x \frac{dy}{dx}=2x dxdy=2x这就是所谓的梯度,当 x = 2 x=2 x=2 的时候,可以求得该点的梯度为4,翻译成人话就是当前这一点的’倾斜程度’是4。下面举几个例子
x|-2|-1|0|1|2|
:–|:–|:–|:–|:–|
y|4|1|0|1|4|
梯度|-4|-2|0|2|4|
和上面的图一对应就很明显了,梯度的绝对值越大,数据点所在的地方就越陡。数字为正数时,越大,表示越向右上方陡峭,反之亦然。好了,懂了什么是梯度,下面我们就来聊聊梯度下降是个什么玩意。现在我们先假设我们自己就是一个球,呆在图中的红点处,我们的目标是到绿点处,该怎么走呢?很简单,顺着坡 向下走就行了。现在球在 ( 2 , 4 ) (2,4) (2,4) 点处,这一点的倾斜程度是4,向右上方陡峭。接下来要做的就是向山下走,那么每一次走多远 呢?先小心一点,按当前倾斜程度的1%向下走。也就是 x n e w = x 0 − 0.01 ∗ 4 x_{new}=x_0-0.01*4 xnew=x0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。