BP神经网络结构

神经网络旨在通过模仿动物的神经系统利用神经元作为连接结点的新型智能算法,神经网络本身包含三层结构,输入层,隐含层,输出层,每一层都有自己的特殊功能,输入层进行因子的输入与处理。

由于在实际情况中,所有输入的数据并不是线性的,有的时间还是多维的,让该数据通过隐含层进行训练,使得数据可视化,以期达到自己所需要的数据,是神经网络的核心所在在经过隐含层后的训练后,数据基本上也就达到了自己的要求,这时就要对数据进行输出,三个层次之间互不影响,每一层的神经元的状态只能影响下一层神经元的状态,其结构如下图所示:




bp神经网络回归预测 python bp神经网络预测模型分析_bp神经网络预测模型matlab代码


本文建立的神经网络预测流程如下所示:


bp神经网络回归预测 python bp神经网络预测模型分析_bp神经网络预测模型matlab代码_02


神经网络预测实例

本文以黄河流域中游的华山气象站点1957-2010年共54年的数据为基础,以1957-2000年的数据做为预测数据,2001-2010年的数据作为参考数据,利用前44年的数据来预测后十年的数据,并与后十年的实际数据进行对比,来确定预测精确度。

通过前期的分析可以得到被选入的输入变量集因子为水汽压,风速,气温,相对湿度;把降水量作为预测变量,以水汽压,风速,气温,相对湿度作为输入变量代入Matlab程序中进行预测,预测结果如下所示。


bp神经网络回归预测 python bp神经网络预测模型分析_bp神经网络回归预测 python_03


bp神经网络回归预测 python bp神经网络预测模型分析_bp神经网络matlab实例_04


通过计算以水汽压,风速,气温和相对湿度作为输入变量来预测降水量的结果还是较为精确的,通过计算知预测中的相关系数达到72.16%,预测精准度还是很高的,误差率也是较小;但是预测精度还是有待于提高。

分析可知一方面在对降水量的预测中,预测因子并不是选择的越多越好,而是应该找到与预测变量相关性较大的因子,只有用与预测变量相关性较大的因子作为输入变量才能在预测算法中取得精确的预测结果,才能得到自己期望的结果;另一方面,在预测算法的选取中神经网络这种预测算法既方便,又精准,但是由于神经网络预测算法也有好多类型,应根据实际的需要去选择合适的预测算法。