有时候用matlab进行数据分析计算时,想用BP神经网络算法。怎么用?下面分享一下方法。
首先我们要知道BP神经网络是一个多层前馈网络,不需要建立数学方程就可以学习和存储输入输出的映射关系。它是一种常用的神经网络模型。BP神经网络的构建主要分为三步,如下图所示:
第二步,可以看看matlab中BP神经网络的训练函数,包括梯度下降法traingd,弹性梯度下降法trainrp,自适应lr梯度下降法traingda等。如下图所示:
第三步:我们通过实例介绍一下BP神经网络的使用方法。在matlab的命令行窗口,定义输入p和输出t,传递“newff (minmax (p),[5,1],{'tan sig '' pure Lin'},' trainrp ');”建立一个BP神经网络,“[net,tr]=train(net,P,T);”经过网络训练,“sim(net,P)”可以得到仿真预测值,完整代码如下图所示:
步骤4在命令行窗口中按下Enter键后,可以看到结果弹出窗口出现。顶层NeuralNetwork下面依次是“输入层、隐含层、输出层、输出”。隐藏层中有五个神经元。进度下面的Epoch表示迭代次数,Gradient表示梯度,VaildationChecks表示有效性检查,最后的绿色复选标记表示绩效目标的实现,如下图所示:
我们还可以在命令行窗口中查看输出结果。x是BP神经网络模拟值,输出值非常接近,如下图所示:
第六步我们绘制实际曲线和预测曲线,可以看到使用BP神经网络的预测结果曲线与实际产量曲线基本一致,如下图所示: