1.BP神经原理
BP神经网络主要由三部分组成,分别是前向传播,反向传播,测试模型。其中前向传播主要是计算模型当前的预测结果,反向传播是对模型进行修正得到能达到预测效果的模型,测试模型是看我们最后通过反向传播得到的模型能否识别出我们想要的分类。
BP算法的核心思想是:学习过程由信号的正向传播和误差的反向传播两个过程组成。
正向传播:输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息,实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。
反向传播:当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。
三层结构
输入层:i1 i2,隐藏层:两个神经元 h1 h2,输出层:o1 o2
加权求和
2.BP神经网络的推导
隐藏层神经元的设置方法:
如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式可推出隐藏层节点数为s个。其中b一 般为1-9 的整数。
反向计算总误差: