反向传播算法(另梯度下降算法)笔记

反向传播算法(另梯度下降算法)

  • 定义
  • 算法推导
    • 一个具体的前向传播和反向传播算法的例子
      • mse (均方误差)
  • 另两个问题
    • 梯度下降算法
      • 梯度
      • 数学解释
        • 梯度要乘以一个负号
      • 单变量函数的梯度下降
      • 多变量函数的梯度下降
  • 反向传播具体例子
        • singmoid

定义

反向传播算法的定义(转自维基百科):
反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。
该方法对网络中所有权重计算损失函数的梯度。 这个梯度会反馈给最优化方法,用来更新权值以最小化损失函(误差的反向传播)

算法推导

“正向传播”求损失,“反向传播”回传误差
神经网络每层的每个神经元都可以根据误差信号修正每层的权重

一个具体的前向传播和反向传播算法的例子

BP算法,也叫δ \deltaδ算法,下面以3层的感知机为例
反向传播算法(另梯度下降算法)笔记_第1张图片
上图的前向传播(网络输出计算)过程如下:
反向传播算法(另梯度下降算法)笔记_第2张图片

(此处为网络的整个误差的计算,误差E计算方法为mse)
反向传播算法(另梯度下降算法)笔记_第3张图片

mse (均方误差)

反映估计量与被估计量之间差异程度的一种度量。
设t是根据子样确定的总体参数θ的一个估计量,(θ-t)^2的数学期望,称为估计量t的均方误差。它等于 σ ^ 2+b ^ 2,其中 σ ^2与b分别是t的方差与偏倚
反向传播算法(另梯度下降算法)笔记_第4张图片

另两个问题

1.误差E有了,怎么调整权重让误差不断减小?
2.E是权重w的函数,何如找到使得函数值最小的w?

上面问题的方法是梯度下降算法
反向传播算法(另梯度下降算法)笔记_第5张图片

梯度下降算法

梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。

对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快

梯度

梯度实际上就是多变量微分的一般化
分别对每个变量进行微分,然后用逗号分割开,梯度是用<>包括起来,说明梯度其实一个向量

  • 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
  • 在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向

数学解释

给出数学公式:
反向传播算法(另梯度下降算法)笔记_第6张图片

α在梯度下降算法中被称作为学习率或者步长
α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点

梯度要乘以一个负号

梯度前加一个负号,就意味着朝着梯度相反的方向前进。梯度的方向实际就是函数在此点上升最快的方向,而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号;那么如果时上坡,也就是梯度上升算法,就不需要添加负号了

单变量函数的梯度下降

反向传播算法(另梯度下降算法)笔记_第7张图片
反向传播算法(另梯度下降算法)笔记_第8张图片
经过四次的运算,基本就抵达了函数的最低点

多变量函数的梯度下降

反向传播算法(另梯度下降算法)笔记_第9张图片
反向传播算法(另梯度下降算法)笔记_第10张图片

反向传播具体例子

前向(前馈)运算(激活函数为sigmoid):

singmoid

Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的激活函数,将变量映射到0,1之间
反向传播算法(另梯度下降算法)笔记_第11张图片
反向传播算法(另梯度下降算法)笔记_第12张图片

反向传播算法(另梯度下降算法)笔记_第13张图片
反向传播(求网络误差对各个权重参数的梯度):

求最简单的,求误差E对w5的导数。首先明确这是一个“链式求导”过程,要求误差E对w5的导数,需要先求误差E对out o1的导数,再求out o1对net o1的导数,最后再求net o1对w5的导数,经过这个链式法则,我们就可以求出误差E对w5的导数(偏导)
反向传播算法(另梯度下降算法)笔记_第14张图片
导数(梯度)已经计算出来后就是反向传播与参数更新过程:
反向传播算法(另梯度下降算法)笔记_第15张图片
参考博客
https://blog.csdn.net/ft_sunshine/article/details/90221691?utm_source=app&app_version=4.5.2

你可能感兴趣的:(反向传播,算法)