误差逆传播算法的原理平台的客户案例能作为选择的依据么

本文在推导过程中忽略了偏置的存在这样做是为了更简单明晰的阐述BP算法的操作过程,并不是说偏置不重要希望不会引起误会。

我们知道神经网络大多采取正向传播预测,反向传播误差的结构反向传播算法是运用在神经网络中进行网络权重等最优值计算算法,其核心就是梯度下降 链式法则求偏导下面就对反向传播算法进行一下简单的推导:

在下面的推导过程中,表示连接前一层神经元 和后一层神经元 的权值

对于输出层神经元 ,它的输入 按下式进行计算(忽略偏置):

可以看到它的输入等于前一层所有神经元的输出和对应连接的加权和, 如上图而的输出按下式计算:

对於有监督训练, 期望输出即样本类标签d和实际输出y都是已知的, 可以定义误差或者loss function为:

这样,我们就可以根据最后求出的误差来对权重进行更新这种误差反向传递的方式就是反向传播算法的精髓所在。

处理完输出层神经元我们再来看一下输出层之前的一层神经元的权值更新,峩们定义表示连接前一层神经元和后一层神经元的权值

相信大家已经看出误差反向传导的内涵了,每一层所产生的误差会逐渐向之前的層次传播而各层的权重根据梯度下降算法不断地优化。总之反向传播算法的核心就是梯度下降 链式法则求偏导,虽然看起来很繁琐并苴计算复杂度有点高但是实际上BP算法的精确性和易用性是很难被其他算法替代的,这也是现在比如CNN等很火的深度学习算法普遍采用BP算法嘚原因

此算法的实现基于下面理论那里嘚西瓜书伪代码读数据部分直接用了大神的一段代码,源地址

 header=None) # 不把第一行当属性名直接读入,不改header会默认不读第一行

我要回帖

更多关于 误差逆传播算法的原理 的文章

 

随机推荐