BP神经网络的预测模型

BP神经⽹络的预测模型1.具体应⽤实例。根据表2,预测序号15的跳⾼成绩。
表2 国内男⼦跳⾼运动员各项素质指标
序号跳⾼成绩
()
30⾏进
跑(s)
⽴定三级
跳远()
助跑摸⾼
()
助跑4—
6步跳⾼
()
负重深蹲
杠铃()
杠铃半蹲
系数
100
(s)
抓举
()
12.24  3.29.6  3.45  2.15140  2.811.050
2  2.3
3  3.210.3  3.75  2.2120  3.410.970
3  2.2
4  3.09.0  3.
5  2.2140  3.511.450
4  2.32  3.210.3  3.6
5  2.2150  2.810.880
5  2.2  3.210.1  3.5280  1.511.350
6  2.2
7  3.410.0  3.4  2.15130  3.211.560
7  2.2  3.29.6  3.55  2.1130  3.511.865
8  2.26  3.09.0  3.5  2.1100  1.811.340
9  2.2  3.29.6  3.55  2.1130  3.511.865
10  2.24  3.29.2  3.5  2.1140  2.511.050
11  2.24  3.29.5  3.4  2.15115  2.811.950
12  2.2  3.99.0  3.1  2.080  2.213.050
13  2.2  3.19.5  3.6  2.190  2.711.170
14  2.35  3.29.7  3.45  2.15130  4.610.8570
15  3.09.3  3.3  2.05100  2.811.250
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' );
?%设置训练次数
?ainParam.epochs = 5000;
?%设置收敛误差
?
?%训练⽹络
?[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

本文发布于:2024-09-21 21:45:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/361737.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   隐层   预测   数据   输出   误差   模型   训练
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议