BP神经网络预测

article/2025/10/8 12:03:25

BP神经网络预测

1.输入向量与输出向量
我们将前14组国内男子跳高运动员各项素质指标作为输入,即(30m行进跑,立定三级跳远,助跑摸高,助跑4-6步跳高,负重深蹲杠铃,杠铃半蹲系数,100m,抓举),将对应的跳高成绩作为输出。
注意:每一列是一组输入训练集,行数代表输入层神经元个数,列数输入训练集组数

x_train=[3.2 3.2 3 3.2 3.2 3.4 3.2 3 3.2 3.2 3.2 3.9 3.1 3.2;
9.6 10.3 9 10.3 10.1 10 9.6 9 9.6 9.2 9.5 9 9.5 9.7;
3.45 3.75 3.5 3.65 3.5 3.4 3.55 3.5 3.55 3.5 3.4 3.1 3.6 3.45;
2.15 2.2 2.2 2.2 2 2.15 2.14 2.1 2.1 2.1 2.15 2 2.1 2.15;
140 120 140 150 80 130 130 100 130 140 115 80 90 130;
2.8 3.4 3.5 2.8 1.5 3.2 3.5 1.8 3.5 2.5 2.8 2.2 2.7 4.6;
11 10.9 11.4 10.8 11.3 11.5 11.8 11.3 11.8 11 11.9 13 11.1 10.85;
50 70 50 80 50 60 65 40 65 50 50 50 70 70];
y_train=[2.24 2.33 2.24 2.32 2.2 2.27 2.2 2.26 2.2 2.24 2.24 2.2 2.2 2.35];

2.训练集归一化

mapminmax为数据归一化函数,默认归一化到[-1,1]之间。

默认归一化到[-1,1]之间,x_train_regular就是归一化之后的数据,x_train_maxmin用来作下一次同样的归一化。

默认归一化到[-1,1]之间,y_train_regular就是归一化之后的数据,y_train_maxmin用来作下一次同样的归一化。

%%训练集归一化
[x_train_regular,x_train_maxmin] = mapminmax(x_train);  %默认归一化到[-1,1]之间,x_train_regular就是归一化之后的数据,x_train_maxmin用来作下一次同样的归一化。
[y_train_regular,y_train_maxmin] = mapminmax(y_train);  %默认归一化到[-1,1]之间,y_train_regular就是归一化之后的数据,y_train_maxmin用来作下一次同样的归一化。

3.创建网络

本文选择S型正切函数tansig作为隐层神经元的激励函数。而由于网络的输出归一到[ -1, 1]范围内, 因此预测模型选取S 型对数函数logsig作为输出层神经元的激励函数。

将训练样本数据归一化后输入网络, 设定网络隐层和输出层激励函数分别为tansig和logsig函数, 网络训练函数为traingdx, 网络性能函数为mse,隐层神经元数初设为6。设定网络参数。

8个输入,一个输出,第一层隐藏网络6个节点,第二层隐藏网络1个节点。

%%创建网络
net=newff(x_train_regular,y_train_regular,6,{'tansig','tansig','purelin'},'trainlm');

4.设置训练次数与误差

络迭代次数epochs为5000次, 期望误差goal为0.00000001, 学习速率lr为0. 01。

%设置训练次数
net.trainParam.epochs = 5000;
%设置收敛误差
net.trainParam.goal=0.0000001;

5.训练网络

%训练网络
[net,tr]=train(net,x_train_regular,y_train_regular);
%TRAINLM, Epoch 0/5000, MSE 0.533351/1e-007, Gradient 18.9079/1e-010
%TRAINLM, Epoch 24/5000, MSE 8.81926e-008/1e-007, Gradient 0.0022922/1e-010
%TRAINLM, Performance goal met.

6.将已经训练好的网络进行预测

%%以上网络已经训练完成,下面之间输入得到输出。
%输入数据
%将第十五列的已知数据,作为输入,预测第十五列的缺失数据
x_test=[3.0;9.3;3.3;2.05;100;2.8;11.2;50];
%将输入数据归一化
x_test_regular = mapminmax('apply',x_test,x_train_maxmin);
%直接将数据放入到网络输出我们要预测的数据
y_test_regular=sim(net,x_test_regular);
%将得到的预测数据反归一化得到预测数据
y_test_regular=mapminmax('reverse',y_test_regular,y_train_maxmin);
y_test_regular

运行结果是预测的是

y_test_regular =

    2.2219

该网络迭代了2次就已经达到我们给出的误差范围内了。

 从下图可以看出该预测的效果其实并不是特别好。

小结:该神经网络进行预测,其实类似于曲线的拟合,优点在于可以很快的得到我们所要的预测值,不过缺点也非常的明显,就是需要不断的进行训练才能得到理想的网络,而且大多数时候拟合预测的结果并不是十分的理想。一般建议先用matlab或SPSS先进行预测,如果都不理想再尝试此方法。


http://chatgpt.dhexx.cn/article/KWwhdidR.shtml

相关文章

BP神经网络预测模型

一、BP神经网络简单介绍 BP神经网络是一种人工神经网络,其主旨是一种进行分布式并行信息处理的数学模型。 其内部包含一个或多个隐含层。 1、基本概念 感知器 代表BP神经网络中的单个节点。 其包含:输入项、权重、偏置、激活函数、输出。 下图可以看…

BP神经网络如何用历史数据预测未来数据

本文主要为了解决如何用BP神经网络由历史的目标数据与因素数据去预测未来的目标数据。Bp神经网络的具体算法步骤与代码在网络上已经有很多大佬写过了,本文提供了将其应用于预测的方法。(附简单直接可使用代码) 开始我也在思考,简答…

EXCEL生成脚本

Execel 业务导入 1、填写数据 2、根据包的存储过程,生成脚本 3、输出脚本

用Python如何开发Excel宏脚本?新手必学

今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。 基本环境 操作系统:Windows 10 x64 Office:2016 安装Python 1.下载Python安装包 登录[https://www.python…

大新闻!微软正考虑添加 Python 为官方的 Excel 脚本语言

(点击上方蓝字,快速关注我们) 来源: 开源中国 www.oschina.net/news/91595/python-as-an-official-scripting-language-to-excel 据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言,如果获得批准,Excel 用…

Excel里写VB脚本自定义函数

1点击开发者工具,选择Visual Basic 2选择插入模块 3如图写入如下脚本 str为需要匹配的字符串,exist表示存在的符号,uexist表示不存在的符号,SearchString合法字符集集合 函数功能:遍历str中每个字符,如果有任一字符存在于SearchString中,则显…

Excel 数据转化为Sql脚本

在实际项目开发中,有时会遇到客户让我们把大量Excel数据导入数据库的情况。这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库。 步骤一:在数据前插入一列单元格,用来拼写sql语句。 "insert into t_order (id,name,kg,v) v…

根据excel生成mysql数据库,根据excel生成数据库脚本

怎么在Excel里面学脚本连接SQL数据库生成报表 怎么在Excel里面学脚本连接SQL数据库生成报表现在需要对几个模拟量做报楼主,用office2013吧,现成的连接sql,简单易用。 怎么在oracle下写一个脚本,导出表数据为EXCEL格式无法直接保存到excel中,但是可以保存到csv文件,同样是…

如何使用Python脚本合并多个Excel文件

merge 由于工作需要,客户需要将多个excel文件合并成一个excel中,之前也没有接触过python。于是上网查找,大概学了一下,折腾了一下午,终于并实现了该功能,在这里总结一下,分享出来供大家参考。 …

Python3 编写处理Excel表格数据筛选脚本用到的一些方法

记录下之前用python3 写的一个处理Excel表格数据筛选脚本用到的一些方法。 本文内容比较杂,可按需跳转翻看。 pandas是一个内容十分丰富的库,我也只不过用到其中处理excel的方法,对这个库感兴趣的可以直接翻阅pandas官方文档,对…

Xmind转换Excel

简介:支持批量读取Xmind文件生成Excel表格,实现每列相同数值进行宽度自适应并合并居中; 1、Xmind格式如下图所示: 2、表格效果如图所示: #!/usr/bin/env python # -*- coding: utf-8 -*- import os import pandas as pd import openpyxl from openpyxl.styles import…

Sql 脚本导入EXCEL数据

Sql 脚本导入EXCEL数据 1 delete excel 2 3 -- 讀取EXCLE表數 4 SELECT e_mail excel FROM OPENDATASOURCE ( Microsoft.Jet.OLEDB.4.0 , 5 Data SourceC:\Documents and Settings\geovindu\桌面\vip平常按排工作\2010-06-18\2010-06-18.xls;Extended PropertiesExce…

Excel与DBC互转脚本(基于MATLAB)

Excel与DBC互转脚本(基于MATLAB) Excel与DBC互转脚本,有了这个脚本,可以自动把excel的通信协议转换为标准dbc文件,减少工作量,不会造成因手工制作DBC文件会出现问题而难以检查的风险。 转换脚本基于MATLAB编…

jmeter开发导入excel脚本

测试过程中,经常需要对导入excel进行性能、自动化测试,很多导入脚本并不支持录制功能,只能通过抓包方式获取请求参数,然后在手工开发脚本,由于很多同学可能对导入这块没有实际操作经验,开发起来会很困难&am…

脚本 - EXCEL

一个EXCEL表格,有108行的数据(也就是有108个地区)和12个属性,画ECharts图时获取数据很麻烦,相比之下写脚本处理数据就很方便了。 基本使用 import xlrd #读取EXCEL#打开EXCEL文件 data xlrd.open_workbook(rD:\tryex…

excel内容合并脚本

README 脚本中环境变量改成自己实际得环境变量 pathos.chdir(r’D:\工作\pythonProject\合并excel\合并’) #需要合并得excel savefile “D:/工作/pythonProject/合并excel/test.csv” #合并后保存得位置 文件名自定义 sheet_name ‘20220527’ #要合并得sheet 合并前后对比…

Excel 脚本编写

本页内容 使用 Excel:快速回顾将数据添加到电子表格中Excel 中的格式设置使用范围数据排序哦,真的是这样:从 Active Directory 中提取数据就这些吗? 我猜测当您自称为 Microsoft Scripting Guy 并撰写名为脚本编写门诊 (Scripti…

运行 Excel 脚本

目的 Excel 模板生成一个 Excel 电子表格。它还将生成一个脚本,该脚本可以将数据从该电子表格传输到 SAP。包括错误处理,使您能够在将数据传输到 SAP 之前更正任何错误。要运行Excel脚本,请执行以下操作。 用户界面 查找生成的工作台脚本。…

分享2个Python处理Excel的脚本

一、写在前面 来源于两个读者的学习/工作需求,很巧,这两个读者提的需求都是关于批量合并sheet(检索需要的信息)。 本文所用数据样式,经读者同意,可以公开,文件中的数据为Excel中的Rand函数生成…

热烈祝贺我公司获得“渣土车智慧监控平台软件著作权登记证书”

根据《中华人民共和国计算机软件保护条例》和《计算机软件著作权登记办法》的规定,经中华人民共和国国家版权局审定,我公司自主研发的——“索迪迈渣土运输管理平台V1.0”的软件,被正式授予《中华人民共和国国家版权局计算机软件著作权登记证…