![3219491de5901b3a278e5543629828a8.gif](https://img-blog.csdnimg.cn/img_convert/3219491de5901b3a278e5543629828a8.gif)
什么是BP神经网络
BP神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。它的基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。
BP神经网络由输入层、隐含层、输出层三大层组成,其中隐含层可以为一层或多层。隐含层内的神经元与外界没有直接的联系,但其状态的改变能影响输入和输出之间的关系。
如何应用BP神经网络进行预测
MATLAB中可以实现BP神经网络预测,只要通过输入输入层神经元,及设定隐含层层数、节点数及预测精度的控制要求就可以实现预测。它的原理实际上是分析输入神经元与输出神经元的非线性关系,这就要求输出项参数实际上是与输入项参数需要具有一定的关联性。
BP网络构建
(1)生成BP网络
![20cf13cd25c8c3f1fd71ea99cec4959e.png](https://img-blog.csdnimg.cn/img_convert/20cf13cd25c8c3f1fd71ea99cec4959e.png)
PR:由R维的输入样本最小最大值构成的R*2维矩阵。
[S1S2...SN]:各层的神经元个数。
{TF1 TF2 ...TFN}:各层的神经元传递函数。
BTF:训练用函数的名称。
(2)网络训练
![d3fe1f5e1b58d2455fb13e3e0ffe57b6.png](https://img-blog.csdnimg.cn/img_convert/d3fe1f5e1b58d2455fb13e3e0ffe57b6.png)
(3)网络仿真
![c2fb01fcb0195b0eea2c27c66cffecdb.png](https://img-blog.csdnimg.cn/img_convert/c2fb01fcb0195b0eea2c27c66cffecdb.png)
BP网络的训练函数
![edef86dba1184c2b3ba1ec0d2ca7105f.png](https://img-blog.csdnimg.cn/img_convert/edef86dba1184c2b3ba1ec0d2ca7105f.png)
BP网络训练参数