本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
本文讲解一个BP神经网络的完整建模流程,包括数据预处理、训练、及评估等
本节介绍一个BP神经网络的建模主要步骤
BP神经网络建模主流程步骤
BP神经网络的建模流程主要步骤如下
总的来说,主流程共有3个大步骤,6个小步骤,如下
👉 数据预处理 :数据归一化、数据划分
👉 网络构建 :网络结构设置、网络训练
👉 效果评估 :模型训练效果评估、模型预测效果评估
✍️特别说明
以上是一个BP神经网络的完整建模流程,
但如果使用matlab工具箱实现,就不是按这个流程操作
因为工具箱已经帮我们高度封装一些流程了
本节详细介绍BP神经网络建模步骤处理的内容和目的
数据预处理
数据归一化
在模型训练之前,需要把所有数据(X和y)都进行归一化
数据归一化主要是为了网络求解的便利性
数据划分
一般将数据划分成三部分,训练数据、验证数据、测试数据
训练数据:用于求解(调整w,b)
验证数据:验证数据主要用于防止训练走向过拟合。
测试数据:不参与任何训练过程,纯粹用于检验模型最后的测试效果
可以按训练数据70%、验证数据15%、测试数据15%的比例随机分割
网络构建
网络结构设置
设置网络隐层层数(一般都是一个隐层),和隐层神经元个数
网络训练(求解w,b)
用训练数据对网络进行训练,可采用梯度下降法、LM法等等。
在训练过程中,需要不断用验证数据检验模型的泛化能力。
如果训练数据效果越来越好,而验证数据效果越来越差,
则说明走在了过拟合的路上,这时就应该停止训练。
效果评估
模型训练效果评估
检验模型对训练数据的预测效果,
一个BP神经网络训练成功的表现就是训练数据误差达到要求
模型预测效果评估
检验模型对测试数据(未参与训练的数据)的预测效果,
一个BP神经网络可用的表现就是模型测试数据误差达到要求
BP神经网络建模总结
数据处理
在BP神经网络建模时,
一般会先数据归一化,
并将数据分割成训练数据、验证数据和测试数据
模型构建
然后设置好网络结构,并训练网络
由于常用的都是一隐层,tansig+purelin的结构,
因此一般只需设置隐层的隐节点个数,
效果检查
训练完后,
检查训练数据、测试数据的预测效果,
如果两者都满足需求,就可以将BP神经网络网络投入使用了
End