神经网络NN与前向传播算法简介
2018-06-04 本文已影响0人
akihoni
前馈神经网络模型&前向传播算法
一个简单的前馈神经网络模型如下:
神经网络模型其中,
称Layer L1 是输入层,不计入NN的层数;
称Layer L2 是一个隐藏层;
称Layer L3 是输出层;
称+1的节点为偏置(bias)。
每个神经元输出计算方法如下:
神经元输出计算方式前向传播算法如下:
综合上述两式可以得到:
反向传播算法
反向传播算法基本步骤如下:
- 初始化权重W、偏置b、神经网络的层数、每层节点数;
- 使用前向传播算法计算一组输出;
- 计算输出和实际结果之间的误差;
- 更新参数;
- 判断准确率是否达标。达标则结束,否则转第2步。
初始化
初始化W和b可以随机赋一个较小值,让神经网络自行训练。
神经网络的层数和每层节点数需要自己决定。
使用损失函数(Loss Function)计算误差
误差使用损失函数来计算,众所周知,在这一步我们需要求出损失函数的极小值,也即求损失函数的导数。
更新参数
这一步中我们需要更新各个参数,并且也在这一步中会使用各种各样的正则化方法,防止更新出来的参数出现过拟合现象。
判断准确率
编写一段代码判断准确率,然后自己决定准确率达不达标即可。比如手写数字识别时准确率达到94%时,我自己认为达标了,那就直接停止训练就可以了。
参考文献