一个BP神经网络的完整建模流程

本文详细介绍了BP神经网络的建模流程,包括数据预处理、模型训练、效果评估等步骤,并讨论了模型在实际应用中的两种提取方式:模型程序对象和数学表达式。作者分享了自己通过提取数学表达式避免复杂系统集成的经验,强调了模型提取的重要性。

原文来自 老饼玩转-BP神经网络icon-default.png?t=N7T8https://www.bbbdata.com/nn


目录

一、建模步骤

二、模型应用

(一)提取matlab模型程序对象方式

(二) 提取模型的数学表达式

三、老饼小故事:


本文讲解一个BP神经网络的完整建模流程,具体例子见《一个BP的完整代码实现》

一、建模步骤

一般来说建模会有6个必要步骤

(1) 数据预处理:数据归一化
(2) 预留检验数据:一般随机选用20%数据留作模型检验,80%数据用于训练( 求解w,b)。
(3) 网络结构设置:设置网络隐层层数(一般都是一个隐层),和隐层神经元个数。
(4) 网络训练(求解w,b):用训练数据对网络进行训练
(5) 模型训练效果评估: 检验模型对训练数据的预测效果
(6) 模型预测效果评估: 检验模型对检验数据(未参与训练的数据)的预测效果



二、模型应用

如果要投入生产使用,则我们需要将模型提取出来。

模型提取有两种方式:

(一)提取matlab模型程序对象方式

可以提取出训练好的模型程序对象,但由于建模时训练出来的是对应于归一化后的数据的模型,使用时需要将数据先归一化,再投到模型中预测,最后再后预测结果反归一化。

(二) 提取模型的数学表达式

如果是提取表达式,可以将模型的表达式提取后,将模型表达式进行反归一化,模型使用时直接用反归一化后的表达即可。
即得到类似如下形式的公式,直接代入X即可得到y的预测值:


PASS:建议直接提出模型的数学表达式。


三、老饼小故事:

老饼当年刚参加工作时,不知道如何提取出模型的表达式,只能以matlab的模型程序对象形式输出模型。
由于模型是matlab,而生产上的系统是java,需要系统用java与matlab进行混合编程的方式调用matlab的对象,而生产环境是linux,为了支持matlab环境,需要再布署一个matlab installer,非常折腾。
所以,后来老饼踏踏实实研究了一遍,怎么将表达式提取出来,并如何做反归一,这样,一步到位,干爽的感觉油然而生。


 相关文章

 《BP神经网络梯度推导》

​​​​​​《BP神经网络提取的数学表达式》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老饼讲解-BP神经网络

请老饼喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值