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.pswp.cn/news/270790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270790.shtml
英文地址,請注明出處:http://en.pswp.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在使用它們的時候只能有訪問讀取的權限,但想要修改、刪除、存在文件則無法實現。為解決這一問題,小編今天…