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.1 BP网络模型

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代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

?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

转载于:https://blog.csdn.net/c_1996/article/details/72793827

BP神经网络的预测模型相关推荐

  1. 【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

    [MATLAB第58期]基于MATLAB的PCA-Kmeans.PCA-LVQ与BP神经网络分类预测模型对比 一.数据介绍 基于UCI葡萄酒数据集进行葡萄酒分类及产地预测 共包含178组样本数据,来源 ...

  2. python bp神经网络进行预测_python实现BP神经网络回归预测模型

    神经网络模型一般用来做分类,回归预测模型不常见,本文基于一个用来分类的BP神经网络,对它进行修改,实现了一个回归模型,用来做室内定位.模型主要变化是去掉了第三层的非线性转换,或者说把非线性激活函数Si ...

  3. bp神经网络回归预测模型(python实现)_python实现BP神经网络回归预测模型

    神经网络模型一般用来做分类,回归预测模型不常见,本文基于一个用来分类的BP神经网络,对它进行修改,实现了一个回归模型,用来做室内定位.模型主要变化是去掉了第三层的非线性转换,或者说把非线性激活函数Si ...

  4. BP神经网络预测模型输入数据表是一个表还是可以多个表

    如何建立bp神经网络预测 模型 . 建立BP神经网络预测模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测2 ...

  5. bp神经网络预测模型实例,BP神经网络预测模型

    如何建立bp神经网络预测 模型 建立BP神经网络预测 模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测20 ...

  6. bp神经网络预测_股指期货价格变动趋势往往反映的是股票价格的走势,因此BP神经网络对股指期货价格的准确预测就是对股票价格的准确预测。...

    一只猫の生活态度 对于投资者而言,利用BP神经网络模型对股指期货价格进行准确预测,可以帮助投资者构建较佳的投资组合,从而获取较好的投资收益,规避系统风险:对于国家而言,准确预测股指期货价格走势,有利于 ...

  7. bp神经网络原理 实现过程,bp神经网络的应用案例

    如何建立bp神经网络预测 模型 . 建立BP神经网络预测模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测2 ...

  8. 神经网络故障预测模型,神经网络故障预测方法

    1.神经网络以及小波分析法在汽车发动机故障检修中有什么应用? 汽车是我们生活中常用的将交通工具,那么神经网络和小波分析法在汽车发动机故障检修中有什么应用呢?大家请看我接下来详细地讲解. 一,小波分析在 ...

  9. bp神经网络实验报告结论,bp神经网络实验报告

    bp神经网络 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络 ...

  10. bp神经网络预测未来数据,bp神经网络数据预处理

    如何建立bp神经网络预测 模型 建立BP神经网络预测 模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测20 ...

最新文章

  1. Win10系列:VC++调用自定义组件1
  2. 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
  3. 解决The current branch is not configured for pull No value for key branch.master.merge found in confi
  4. [JAVA] String常用方法
  5. js实现贪吃蛇小游戏
  6. CentOS 7.6安装 NVIDIA 独立显卡驱动(完整版)
  7. Okhttp3-网络请求流程解析
  8. 阿里云获工信部CDN业务经营许可 云计算业内资质最全
  9. ICCV 2019 | ActivityNet 挑战赛冠军方案—时序动作提名,边界匹配网络详解
  10. 登录页面(通过数据库查询密码是否正确)
  11. java Instrument修改字节码实现aop功能
  12. java 证书缺乏扩展项_java解析证书的例子(包括基本项目、扩展项目)
  13. 基于SSM的电脑商城
  14. 全网最!详!细!tarjan算法讲解
  15. u8系统怎么连接服务器,u8客户端如何连接服务器
  16. 利用BP神经网络求解非线性方程组
  17. Windows 序列号查看
  18. curl 504 php,nginx - PHP 经常提示 504 Gateway Time-out
  19. 用python编写缠论中枢_缠论的笔、线段、中枢以及MACD背离分析实现
  20. Android开发如何进阶,薪资如何跟上年龄的脚步?,深度解读Netty

热门文章

  1. Java实现在线视频通话
  2. python规模_基于python的百度迁徙2——迁徙规模指数(附代码)
  3. directx repair_DirectX修复工具(修复程序缺少.dll )一款系统级工具软件
  4. amd显卡风扇调节_显卡风扇转速调节
  5. 搭建自已的聊天服务器Rocket.Chat
  6. php排斥ajaxsubmit函数,关于php:ajaxsubmit错误捕获
  7. linux下的json解析工具jq的使用笔记
  8. LitePal的使用
  9. JS简单实现图片上一张下一张操作
  10. 魏尔斯特拉斯函数 matlab,函数变换论文,关于《复变函数积分变换》教学相关参考文献资料-免费论文范文...