Board logo

标题: BP神经网络算法学习(2) [打印本页]

作者: yuyang911220    时间: 2015-10-22 19:46     标题: BP神经网络算法学习(2)

算法中还有几点是需要说明的:
1、关于是神经元的误差。
对于输出层神经元,其中,是单元j的实际输 出,而是j基于给定训练样本的已知类标号的真正输出。
对于隐藏层神经元,其中,是由下一较高层中单元k到单元j的连接权,而是单元k的误差。
权值增量是,阈值增量是,其中是学习率。
对于的推导采用了梯度下降的算法。推导的前提是保证输出单元的均方差最小。,其中P是样本总数,m是输出层神经元个数是样本实际输出,是神经网络输出。
梯度下降思路就是对的导数。
对于输出层:


其中的就是
对于隐藏层:


其中=就是隐藏层的误差计算公式。
2、关于终止条件,可以有多种形式:
§ 前一周期所有的都太小,小于某个指定的阈值。
§ 前一周期未正确分类的样本百分比小于某个阈值。
§ 超过预先指定的周期数。
§ 神经网络的输出值和实际输出值的均方误差小于某一阈值。
一般地,最后一种终止条件的准确率更高一些。
在实际使用BP神经网络的过程中,还会有一些实际的问题:
1、 样本处理。对于输出,如果只有两类那么输出为0和1,只有当趋于正负无穷大的时候才会输出0,1。因此条件可适当放宽,输出>0.9时就认为是1,输出<0.1时认为是0。对于输入,样本也需要做归一化处理。
2、 网络结构的选择。主要是指隐藏层层数和神经元数决定了网络规模,网络规模和性能学习效果密切相关。规模大,计算量大,而且可能导致过度拟合;但是规模小,也可能导致欠拟合。
3、 初始权值、阈值的选择,初始值对学习结果是有影响的,选择一个合适初始值也非常重要。
4、 增量学习和批量学习。上面的算法和数学推导都是基于批量学习的,批量学习适用于离线学习,学习效果稳定性好;增量学习使用于在线学习,它对输入样本的噪声是比较敏感的,不适合剧烈变化的输入模式。
5、 对于激励函数和误差函数也有其他的选择。
总的来说BP算法的可选项比较多,针对特定的训练数据往往有比较大的优化空间。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0