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