梯度下降和反向传播

来源:互联网 发布:网络延时一般多少 编辑:程序博客网 时间:2024/05/22 14:14

本文主要摘自《神经网络和深度学习》一书

梯度下降

对于一个很简单的代价函数:

C(w,b)=12x||y(x)a||2

我们把C称作二次代价函数或者均方误差或者MSE
我们想要找到一系列能让代价尽可能小的权重和偏置。采用梯度下降算法达到这个目的。
这里写图片描述
若求导是负的则可以使得球体向下滚落

CCv1v1+Cv2v2

定义C来表示梯度向量,
C=(Cv1,Cv2)T

所以C可以写作:

CCv

只要满足v=nC,则
这里写图片描述
C就是 负的,所以
这里写图片描述
我们就用它来更新规则,持续减小C。
v就是系数 w和b。

总结,梯度下降就是不断的计算梯度C,然后更新系数v,保证求导一直是负的,小球沿着山谷滚落。

这里对每个训练输入x单独计算梯度值Cx,然后求平均值,这样很慢。随其梯度下降通过随机选取小批量数据训练,比较好。

反向传播

反向传播是用来计算上述中梯度的快速算法。
这里写图片描述

反向传播的整个过程:
这里写图片描述

原创粉丝点击