BP反向传播算法

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

#该代码加入MathJax引擎,用以显示latex数学公式

神经网络
神经网络,其实就是按照一定规则连接起来的多个神经元,根据连接规则可分为,全连接(FC)网络,卷积神经(CNN)网络,循环神经(RNN)网络。这里介绍的是全连接神经网络。全连接网络结构
全连接网络结构如上图所示,该结构具有如下特点:
1、同一层的神经元之间没有连接
2、第L层的每一个神经元都和第L-1层的所有神经元连接(fully connected 的由来),第L层的输入就是第L-1层的输出
3、每层含有若干神经元,最左边的层叫做输入层,输入数据从该层传入,最右边的层叫做输出层,网络的结果由此层输出。输入输出层之间的网络层被称为隐藏层,隐藏层对外部来说是不可见的。

激活函数
激活函数的作用是将网络中的输入非线性的映射到输出。如果不用激活函数,每一层的输出都是上一层输入的线性函数,那么无论网络有多少层,网络的输出都是输入的线性组合。
采用激活函数,给神经元引入了非线性因素,使得神经网络可以任意逼近非线性函数,这样就使得神经网络可以应用到众多的非线性模型中。
常用的激活函数有sigmoid函数,tanh函数,rule 函数,不同的函数有其不同的非线性功能,这里介绍的是sigmoid函数。

Sigmoid函数
sigmoid函数的定义如下:

s i g m o i d ( x ) = 1 1 + e x sigmoid(x)=\frac{1}{1+e^{-x}}

isigmoid函数
sigmoid函数图像如上图所示,令 y = s i g m o i d ( x ) y=sigmoid(x) ,则sigmoid函数的导数为 y = y ( 1 y ) y^{&#x27;}=y(1-y) .
可以看到,sigmoid函数的导数可以由其自身来表示,这样就可以根据sigmoid的函数值计算它的导数。

前向传播

猜你喜欢

转载自blog.csdn.net/zhangmaomao_/article/details/83652359