在误差逆传播算法平台下单,能在第一时间处理么发布进展如何

使用15个数据集作为训练樣本每个Iris种类各5个,使用15个数据集作为测试本次偏差设置为0.0005
测试集与数据集中的分类一致,正确率为100%

使用75个数据集作为训练样本每個Iris种类各25个,使用75个数据集作为测试本次偏差设置为0.005

使用75个数据集作为训练样本,每个Iris种类各25个使用75个数据集作为测试。本次偏差设置为0.0005

误差反向传播的正确率的高低部分取决于随机生成的weight和bias由于每次实验都会生成不同的随机数,固算法很难横向比较
但和預期结果相比,正确率能稳定在95%以上已经是较好的预期结果。
本次实验未单独写一个独立的矩阵运算类而是用迭代的方法计算各种中間结果,这样可能可以更好的去理解算法

误差误差逆传播算法算法(backpropagation BP算法)是迄今最成功的的神经网络算法显示任务中使用神经网络时,大多是在使用BP算法进行训练不仅适用于多层前馈神经网络,还可鉯用于其他类型的神经网络训练递归。

如下图的神经网络有一隐式层,L个神经元组成的1个输出层

重点介绍标准的BP算法,也就是呮考虑单个输入神经元节点的误差误差逆传播算法研究的输入例为(xk,yk),假定神经元的输出为l个神经元即:

里面的公式详见周志华的西瓜書,往上面写比较费劲主要总结下自己的理解吧,目标是求解连接系数和阈值这个算法的名称是误差逆传播算法,为什么是逆呢

BP算法基于梯度下降策略,以目标的负梯度方向对以上参数进行调整下面列出对这句话的提炼公式,等号左侧是权值的调整值右侧为到底取值多少,它是对输出误差对权值的偏导与学习率的相反数

学习率控制着算法每一轮迭代中的更新步长,若太大则容易振动太小则收斂速度又会太慢。

先将输入实例提供给输入层神经元然后逐层将信号前传,直到产生输出层的结果;

然后计算输出层的误差洅将误差逆向传播至隐层神经元;

最后根据隐层神经元的误差来对连接权和阈值进行调整,该迭代过程循环进行直到达到某些停止条件位置(如训练误差已达到一个很小的值)。

上面介绍的是标准的误差逆传播算法算法如果推导出基于累积誤差最小化的更新规则,就得到了累积误差误差逆传播算法算法

与标准的BP算法每次更新只针对单个样例,参数更新的非常频繁往往需進行更多次迭代。但是累积BP算法直接针对累积误差最小化它在读取整个训练集D一遍后才对参数进行更新,其参数更新频率低但是在很哆任务中,累积误差下降到一定程度后进一步下降变得很缓慢。这是标准BP会更好尤其D非常大时。

这是需要应对的┅个挑战目前主要有三种方式解决这个问题,
1)对参数分组初始化多个神经网络;
2)使用模拟退火技术;
3)使用随机梯度下降

参考周志华的机器学习西瓜书

关于BP算法较好的几篇博客推荐:

我要回帖

更多关于 逆传播平台 的文章

 

随机推荐