(四)BP神经网络预测(上)
BP神经网络适用于机器人控制、组合优化、模式识别、图像信息处理,能够对非线性数据建立精确的模型,对其未来进行预测。其核心思想是:将已预处理好的数据放到神经网络的微分方程进行反复训练,通过大量的训练建立BP神经预测模型,在此基础上再对其他数据进行预测。
每次算法训练的过程由信息的正向传播和误差的反向传播两个过程组成,输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层结构或者多隐层结构;最后隐层把信息传递到输出层各神经元,完成一次训练的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出的误差没有达到设定的指标时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络训练的过程,此过程一直进行到网络输出的误差减少到设定的最小误差范围内,或者到达预先设定的训练次数为止。(源于CSDN:(17条消息)【神经网络】采用BP神经网络模型进行预测的主要思想是_Borter-CSDN博客_bp神经网络预测模型)
对一定的样本数据(输入与期望输出)进行学习,即样本的输入送至网络输入层的各个神经元,经过隐层的和输出层的计算后输出,输出层的各个神经元输出对应的预测值。若预测值与期望值之间的误差不满足精度的要求,则从输出层反向传播该误差,从而进行权值和阈值的调整,是的神经网络的预期输出与期望输出之间的误差逐渐减小,直到满足精度要求(MATLAB智能算法30个案例分析(第2版),郁磊,史峰,王辉,胡斐,第25章,基于神经网络的回归拟合)
数据预处理
将数据集导入matlab进行归一化处理,调用premnmx()函数进行归一化。
模型的建立
我们对BP神经网络的权值和阈值的公式进行详细的推导:
模型的求解
1、这是神经网络的一个界面,这是一个2输入1输出,5个隐含层的BP网络,称为2-5-1网络结构(另外输入、隐层、输出的数量可以根据实际情况自行调整)
2、参数的解读
(1)泛化性:表示BP神经网络在训练过程中,如果均方误差(MSE)连续6次不降反升,则网络停止训练
(2)误差精度:关于mu参数含义的一种理解是,mu是误差精度参数,用于给神经网络的权重再加一个调制,这样可以避免在BP网络训练的过程中陷入局部最小值,mu的范围为0到1。
横坐标:训练结束时的epochs数【神经网络一次前向传播+一次反向传播=一个epoch】
纵坐标:均方误差
从图中可以得到:在epochs=5时,验证集valiadation和测试集test达到最小均方误差。
训练集
横坐标:epoch
纵坐标:梯度gradient;
梯度:若梯度为0,则为图像最低点,即最优位置
mu:
valfail:
【validationcheck=6:若连续六次训练,训练误差没有变小,则假定继续训练下去效果不会变好,停止训练。】
误差直方图
横坐标:误差区间的中位数;
纵坐标:位于该误差区间的样本个数
可以得到:神经网络的输出值与样本原目标值的误差;
预测值和目标值的线性化程度
横坐标:样本原目标值;
纵坐标:神经网络输出预测值;
可以得到:原目标值和预测值的相关度;用系数R表示,若R越接近1,则表示线性化程度越高,结果越好。
结果分析到结论分析
总结图像分析: (1)预测值和真实值、误差的分析图像 (2)训练集、验证集、测试集和总体的均方误差随训练次数的变化图像 (3)BP神经网络各阶段的训练图像 (4)各个样本集和总体的相关性分析图像 (5)训练集、验证集和测试集的误差分布直方图像 |
模型的改进
过拟合:模型参数拟合过程中,由于训练数据包含抽样误差、训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是模型在训练集上效果好,在测试集上效果差,模型泛化能力弱。
(四)BP神经网络预测(上)相关推荐
- 【13】 数学建模 | 预测模型 | 灰色预测、BP神经网络预测 | 预测题型的思路 | 内附代码(清风课程,有版权问题,私聊删除)
一.灰色预测使用的场景 数据是以年份度量的非负数据(如果是月份或者季度数据一定要用我们上一讲学过的时间序列模型): 数据能经过准指数规律的检验(除了前两期外,后面至少90%的期数的光滑比要低于0.5) ...
- 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)
文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...
- bp神经网络预测模型python,r语言bp神经网络预测
如何建立bp神经网络预测 模型 . 建立BP神经网络预测模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测2 ...
- BP神经网络预测实现
基本概念 误差反向传播神经网络简称为BP(Back Propagation)网络,它是一种具有三层或三层以上的多层神经网络,每一层都由若干个神经元组成.如图所示为一个BP神经网络的结构图,它的左.右各 ...
- bp神经网络预测未来数据,bp神经网络数据预处理
如何建立bp神经网络预测 模型 建立BP神经网络预测 模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测20 ...
- 提高bp神经网络预测精度,bp神经网络数据预处理
bp神经网络对输入数据和输出数据有什么要求 p神经网络的输入数据越多越好,输出数据需要反映网络的联想记忆和预测能力.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数 ...
- 提高bp神经网络预测精度,bp神经网络收敛速度慢
1.如何提高bp神经网络的预测精度啊 跟你的预测对象有很大关系. 1. 根据你的预测对象的特性选取合适的输入层.输出层和隐层神经元数目. 2. 选择合适的神经网络训练函数. 3. 保证足够的训练样本数 ...
- BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习)
BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习) 一.前言 二.代码部分 2.1 初始化 2.2 读取数据 2.3 设置训练集和测试集 2.4 数据归一化 2.5 求解最佳 ...
- MATLAB中用BP神经网络预测人体脂肪百分比数据
原文链接:http://tecdat.cn/?p=22739 这个例子说明了一个函数拟合的神经网络如何根据测量结果来估计脂肪百分比(BFP) (点击文末"阅读原文"获取完整代码数据 ...
- python实现bp神经网络预测,神经网络算法预测彩票
神经网络预测双色球有多靠谱 你好,这东西没人会预测.如果真会预测,早就成为百万富翁了.预测这东西我早就不信了,上一回在网站上,看别人预测,结果买了,连一个号码都没对上.楼主真要买,就权当是献爱心吧. ...
最新文章
- 【FPGA】单端口RAM的设计(异步读、同步写)
- springmvc代码详细(五种映射,绑定参数,处理json数据,文件上传,转发,拦截器的实现)
- 1、LeetCode784 字母大小写全排列
- redis php操作日志,php-redis笔记
- 深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同
- ubuntu tomcat安装环境变量配置
- 解决kindeditor在线编辑器 过滤dl、dd、dt的两种方法
- 【PPT分享】阿里巴巴定向广告之新一代Rank技术.pdf(附下载链接)
- 【转】格雷斯特(Glest)Glest(开源RTS游戏)编译备忘
- Linux下gcc与g++用法以及编写makefile
- IDEA + Spring boot devtools 热部署 与 多实例启动
- 计算机在剪辑方面的应用,多媒体技术对影视后期制作的应用
- 逻辑回归、LR算法、LR优缺点、LR推导、LR损失函数
- 51单片机流水灯从原理图到PCB转化
- 合天网安《Weekly CTF》第四周
- vscode插件快餐教程(3) - Diagnostic
- chrome更新后,再次使用selenium打开chrome却发现闪退了?全网最详细教程,肯定能帮到你!
- 第一章 绪论 思维导图
- 在一个字符串中找出元音字母a,e,i,o,u出现的次数
- 【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实现)
热门文章
- 计算机病毒制作教程,如何制作电脑病毒方法
- 利用oc门或od门实现线与_OC与OD门.doc
- 软件项目管理考前复习资料
- docker安装nacos并配置mysql数据库教程
- 100%解决VMware虚拟机NAT上网方式,保姆教学
- 轻量级自适应个人自动发卡源码全开源 附详细图文安装教程
- IEEE2019_A Survey of Event Extraction from Text
- 21天学通Java学习笔记-Day03
- 2022全新趣盒iapp源码带后台非常好看UI
- text 热敏打印机_C# 热敏打印机 Socket 网络链接 打印 图片 (一)