神经网络NN与前向传播算法简介

2018-06-04  本文已影响0人  akihoni

前馈神经网络模型&前向传播算法

一个简单的前馈神经网络模型如下:

神经网络模型

其中,
称Layer L1输入层,不计入NN的层数;
称Layer L2 是一个隐藏层
称Layer L3输出层
称+1的节点为偏置(bias)

每个神经元输出计算方法如下:

神经元输出计算方式

前向传播算法如下:

综合上述两式可以得到:

反向传播算法

反向传播算法基本步骤如下:

  1. 初始化权重W、偏置b、神经网络的层数、每层节点数;
  2. 使用前向传播算法计算一组输出;
  3. 计算输出和实际结果之间的误差;
  4. 更新参数;
  5. 判断准确率是否达标。达标则结束,否则转第2步。

初始化

初始化W和b可以随机赋一个较小值,让神经网络自行训练。
神经网络的层数和每层节点数需要自己决定。

使用损失函数(Loss Function)计算误差

误差使用损失函数来计算,众所周知,在这一步我们需要求出损失函数的极小值,也即求损失函数的导数

更新参数

这一步中我们需要更新各个参数,并且也在这一步中会使用各种各样的正则化方法,防止更新出来的参数出现过拟合现象。

判断准确率

编写一段代码判断准确率,然后自己决定准确率达不达标即可。比如手写数字识别时准确率达到94%时,我自己认为达标了,那就直接停止训练就可以了。

参考文献

上一篇下一篇

猜你喜欢

热点阅读