BP应用
BP的完整应用
matlab的BP神经网络建模流程
作者 : 老饼 日期 : 2022-06-10 10:33:31 更新 : 2022-10-06 03:55:50
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



本文讲解使用matlab神经网络工具箱进行BP神经网络建模流程与具体步骤。

  01. 基本步骤  

matlab神经网络工具箱对BP神经网络做了高度封装,   

因此,我们实际使用matlab神经网络工具箱时,

默认步骤只需要三个建模步骤:


  ● 设置网络        ● 训练网络      ● 查看结果  





  1. 设置神经网络及参数  


主要是设置隐层节点个数、训练步数等。


  2. 将所有数据投入训练  


将所有数据投入工具箱的训练函数后,工具箱会自动将数据归一化,
并分割为三份:训练,验证和测试 (默认占比为70%,15%,15%)
其中,训练数据用于训练,验证数据在训练过程中检验是否过拟合,
测试数据留给用户自行测试,测试数据不参与任何过程。

PASS:注意,在一些老版本中(2012b之前),需要用户自己对数据进行归一化。


           3. 查 看 结 果         


工具箱训练完网络,会将网络的训练结果返回,其中包括所有数据的预测值,和训练、检验、测试数据的索引。
我们只需要从工具箱的训练结果中抽出训练数据和测试数据的索引,查看两者的预测效果即可。



02. 常用个性化操作


  ● 自留测试数据   


有时我们并不希望由工具箱来随机分割测试数据,而是用自己预留指定数据检验模型结果。
我们可以先预留测试数据,然后将其余数据建模投入网络训练,并修改数据分割占比,将测试数据占比置0即可。
net.divideParam.trainRatio=0.85;   % 用于训练的数据比例
net.divideParam.valRatio=0.15 ;   % 用于验证过拟合的数据比例
net.divideParam.testRatio=0;      % 用于比例



  ● 不作泛化检验   


如果不希望工具箱作泛化检验,则可修改数据分割占比,将验证数据占比置0即可,设置如下:
net.divideParam.trainRatio=0.85;   % 用于训练的数据比例
net.divideParam.valRatio=0 ;   % 用于验证过拟合的数据比例
net.divideParam.testRatio=0.15;      % 用于比例







  End  






联系小饼