matlab 神经网络设计多层隐含层_数据预测之BP神经网络具体应用以及matlab代码

1.具体应用实例。根据表2,预测序号15的跳高成绩。

表2 国内男子跳高运动员各项素质指标

序号

跳高成绩()

30行进跑(s)

立定三级跳远()

助跑摸高()

助跑4—6步跳高()

负重深蹲杠铃()

杠铃半蹲系数

100

(s)

抓举

()

1

2.24

3.2

9.6

3.45

2.15

140

2.8

11.0

50

2

2.33

3.2

10.3

3.75

2.2

120

3.4

10.9

70

3

2.24

3.0

9.0

3.5

2.2

140

3.5

11.4

50

4

2.32

3.2

10.3

3.65

2.2

150

2.8

10.8

80

5

2.2

3.2

10.1

3.5

2

80

1.5

11.3

50

6

2.27

3.4

10.0

3.4

2.15

130

3.2

11.5

60

7

2.2

3.2

9.6

3.55

2.1

130

3.5

11.8

65

8

2.26

3.0

9.0

3.5

2.1

100

1.8

11.3

40

9

2.2

3.2

9.6

3.55

2.1

130

3.5

11.8

65

10

2.24

3.2

9.2

3.5

2.1

140

2.5

11.0

50

11

2.24

3.2

9.5

3.4

2.15

115

2.8

11.9

50

12

2.2

3.9

9.0

3.1

2.0

80

2.2

13.0

50

13

2.2

3.1

9.5

3.6

2.1

90

2.7

11.1

70

14

2.35

3.2

9.7

3.45

2.15

130

4.6

10.85

70

15

3.0

9.3

3.3

2.05

100

2.8

11.2

50

4.4(序号15)跳高成绩预测

4.4.1 数据整理

1)我们将前14组国内男子跳高运动员各项素质指标作为输入,即(30m行进跑,立定三级跳远,助跑摸高,助跑4-6步跳高,负重深蹲杠铃,杠铃半蹲系数,100m,抓举),将对应的跳高成绩作为输出。并用matlab自带的premnmx()函数将这些数据归一化处理。

数据集:(注意:每一列是一组输入训练集,行数代表输入层神经元个数,列数输入训练集组数)

P=[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];

T=[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];

4.4.2 模型建立

4.4.2.1BP网络模型

BP网络(Back-ProPagation Network)又称反向传播神经网络, 通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。

BP网络由输入层、隐层和输出层组成,隐层可以有一层或多层,图2是m×k×n的三层BP网络模型,网络选用S型传递函数,

通过反传误差函数

( (Ti为期望输出、Oi为网络的计算输出),不断调节网络权值和阈值使误差函数E达到极小。

BP网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步数多、易于陷入局部极小和全局搜索能力差等缺点。可以先用遗传算法对“BP网络”进行优化在解析空间找出较好的搜索空间,再用BP网络在较小的搜索空间内搜索最优解。

4.4.2.2模型求解

4.4.2.2.1 网络结构设计

1) 输入输出层的设计

该模型由每组数据的各项素质指标作为输入,以跳高成绩作为输出,所以输入层的节点数为8,输出层的节点数为1。

2) 隐层设计

有关研究表明,有一个隐层的神经网络,只要隐节点足够多,就可以以任意精度逼近一个非线性函数。因此,本文采用含有一个隐层的三层多输入单输出的BP网络建立预测模型。在网络设计过程中,隐层神经元数的确定十分重要。隐层神经元个数过多,会加大网络计算量并容易产生过度拟合问题;神经元个数过少,则会影响网络性能,达不到预期效果。网络中隐层神经元的数目与实际问题的复杂程度、输入和输出层的神经元数以及对期望误差的设定有着直接的联系。目前,对于隐层中神经元数目的确定并没有明确的公式,只有一些经验公式,神经元个数的最终确定还是需要根据经验和多次实验来确定。本文在选取隐层神经元个数的问题上参照了以下的经验公式:

其中, n为输入层神经元个数, m为输出层神经元个数, a为[ 1, 10]之间的常数。

根据上式可以计算出神经元个数为4-13个之间,在本次实验中选择隐层神经元个数为6.

网络结构示意图如下:

4.4.2.2.2 激励函数的选取

BP神经网络通常采用Sigmoid可微函数和线性函数作为网络的激励函数。本文选择S型正切函数tansig作为隐层神经元的激励函数。而由于网络的输出归一到[ -1, 1]范围内,因此预测模型选取S型对数函数tansig作为输出层神经元的激励函数。

4.4.2.2.3 模型的实现

此次预测选用MATLAB中的神经网络工具箱进行网络的训练,预测模型的具体实现步骤如下:

将训练样本数据归一化后输入网络,设定网络隐层和输出层激励函数分别为tansig和logsig函数,网络训练函数为traingdx,网络性能函数为mse,隐层神经元数初设为6。设定网络参数。网络迭代次数epochs为5000次,期望误差goal为0.00000001, 学习速率lr为0. 01。设定完参数后,开始训练网络。

该网络通过24次重复学习达到期望误差后则完成学习。详细代码见附录。

网络训练完成后,只需要将各项素质指标输入网络即可得到预测数据。

预测结果为:2.20

matlab代码:

?P=[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];

?T=[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];

?[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);

?%创建网络

?net=newff(minmax(P),[8,6,1],{'tansig','tansig','purelin'},'trainlm');

?%设置训练次数

?net.trainParam.epochs = 5000;

?%设置收敛误差

?net.trainParam.goal=0.0000001;

?%训练网络

?[net,tr]=train(net,p1,t1);

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.

?%输入数据

?a=[3.0;9.3;3.3;2.05;100;2.8;11.2;50];

?%将输入数据归一化

?a=premnmx(a);

?%放入到网络输出数据

?b=sim(net,a);

?%将得到的数据反归一化得到预测数据

?c=postmnmx(b,mint,maxt);

?c

c =

2.2003

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

硬件:开机如何进BIOS,U盘启动快捷键一键查询

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

考研计算机专业课统考吗,09考研计算机专业课统考增至4部分内容

北京考试报讯(记者 陈霄飞) 全国硕士研究生统一入学考试计算机科学与技术学科的初试专业课考试明年将实行联考。有关考研辅导专家认为,针对初试专业课调整为4部分内容的情况,计划报考该专业的考生要提早调整复习计划,适当扩大复习范围。初试专…

强制关机对电脑的伤害你有必要了解一下

不管你的电脑新旧与否,我想大家肯定都遇到过死机、卡顿无反应的情况吧,这个时候无论是电脑高手还是萌新小白同场都会采用一个相同的解决方案,对,那就是直接关机。 当然遇到这种情况,长按电源键10秒强制关机&#xff0c…

嵌入式计算机的发展阶段,嵌入式发展经历了哪四个阶段?

从上个世纪70年代单片机的出现到今天,应用,嵌入式系统少说也有近30年的历史了。可以说嵌入式系统经历了发展的4个阶段。今天小编就为大家分享一下嵌入式系统发展的4个主要阶段:1、无操作系统阶段随着各种嵌入式微处理器、微控制器的广泛纵观嵌…

testbench实例 vhdl_学写 Testbench --- 结构篇VHDL实例

testbench.v:----------------------------------------------------------------------//// File header 具体参考 编码风格专题//define MAX 20 宏定义include "driver.v"include "monitor.v包含有其他模块,如果在同一目录下可以不指定includetime…

操作系统的中断和异常

中断和异常 早期的计算机,各程序只能串行执行,系统资源利用率低 中断机制的诞生 中断的概念和作用 中断的分类

【CUDA开发】Thrust库

Thrust库从C的STL中得到灵感,将最简单的类似于STL的结构放在Thrust库中,比如STL中的vector。此外,Thrust库还包含STL中的算法和迭代器。Thrust函数库提供了两个向量容器,分别为主机和设备提供了向量类并且分别驻留在主机和设备的全…

硬件:台式机老式键盘知识科普

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

高考填报志愿计算机操作技巧,高考志愿填报技巧经验

高考志愿填报技巧经验2020-12-30 14:43:23文/叶丹填报技巧:在所有科目考试结束后合理估分,提前参考往年录取分数线,明确各项重要的时间节点,搜集目标院校资料,查询目标院校专业近几年的位次情况,有意向的学…

npz文件转为npy_numpy的文件存储 .npy .npz 文件

1)Numpy能够读写磁盘上的文本数据或二进制数据。将数组以二进制格式保存到磁盘np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。import numpy as npanp.arange(5)np.save(test…

DML语句

DML语句 DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。…

第四十五篇、UITableViewCell高度计算

由于tableView:heightForRowAtIndexPath:方法的调用频率非常高,如果将cell高度的计算过程放在此方法中,那么效率将会非常的低,快速tableview就会出现卡顿 1、通过代码 (在模型当中只计算一次cell高度,然后在方法中直接从模型属性当…

硬件知识:台式电脑主机各种接口介绍

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

两条曲线所围成的面积_三个视频搞定:求曲边梯形面积的思想、微积分基本定理及其几何意义、微积分理论的可视化解读、...

● 本文适合高二下学期、高三一轮复习的同学阅读。先看视频再看文字,看视频时注意利用暂停,想清楚每一步变形的依据。01曲边梯形的面积、微积分基本定理的内容视频讲解1、曲边梯形的概念及面积求法(1)曲边梯形:由直线x=a&#xff…

我国对计算机信息系统安全主要是采取,附录信息网络安全监察法规概述二.doc...

附录信息网络安全监察法规概述二信息网络安全法律法规《计算机信息系统安全保护条例》福建省公安厅网安总队林世科10.2 《计算机信息系统安全保护条例》? 1994年2月18日,《中华人民共和国计算机信息系统安全保护条例》(以下简称《条例》)的颁布实施(国务院令第147号…

SQLServer基础:Apply关键字用法介绍

1、概念介绍APPLy关键字是SQLServer版本中开始提供的一个系统关键字。APPLY的功能同联接很类似,APPLY运算分左右两个部分,APPLY的右表达式:左表达式的每一行都和右表达式进行一次计算,即右表达式需要根据左表达式提供的值进行相关计算来获取相…

asp命令执行语句】_2分钟教你使用ASP.NET CORE创建并发布网页应用

>> 点击上方 懒人MES 关注我们准备环境: 只需要下载并安装 .NET CORE SDK 3.1(推荐3.1)微软官方下载地址: https://dotnet.microsoft.com/download/dotnet-core不需要Visual Studio, 也不需要VS Code, 一切操作都只在CMD命令行中完成, 而且只需要执行5条命令,…

苹果计算机磁盘格式,苹果电脑如何完全写入NTFS格式磁盘

很多在使用Mac的用户可能都发现了,Mac有时候不能正常使用NTFS格式磁盘。无论是U盘、硬盘、软盘还是其他的NTFS格式分区,mac在使用它们的时候只能有访问读取的权限,但想要修改、删除、存在文件则无法实现。为解决这一问题,小编今天…