用BP神經(jīng)網(wǎng)絡(luò)做數(shù)據(jù)預(yù)測(cè)有兩種形式: 1.根據(jù)自身已有的數(shù)據(jù)預(yù)測(cè)未來(lái)的數(shù)據(jù),。 比如:根據(jù)2000-2012年已知GDP的值預(yù)測(cè)2013年GDP的值,。 求解:用2000,2001,,2002的值作為輸入,,2003作為輸出;然后以此類推,,2001,,2002,2003作為輸入,,2004作為輸出,; ......2009,2010,,2011作為輸入,,2012作為輸出。 預(yù)測(cè):根據(jù)2010,,2011,,2012作為輸入,預(yù)測(cè)2013的值,。
2.根據(jù)已知的屬性,,預(yù)測(cè)未知的屬性。 比如:昆蟲(chóng)1 觸角1.23,,身長(zhǎng)2.45 ,,攻擊性3.88 昆蟲(chóng)2 觸角1.43,身長(zhǎng)2.87 ,,攻擊性3.96 昆蟲(chóng)3 觸角1.11,,身長(zhǎng)1.45 ,攻擊性2.88 昆蟲(chóng)4 觸角3.23,,身長(zhǎng)4.45 ,,攻擊性 ? 預(yù)測(cè)昆蟲(chóng)4的攻擊性,? 求解:根據(jù)昆蟲(chóng)1,,2,3的觸角和身長(zhǎng)作為輸入,,昆蟲(chóng)1,,2,3的攻擊性作為輸出,,建立神經(jīng)網(wǎng)絡(luò)的輸入輸出 P=[1.23,2.45;1.43,2.87;1.11,1.45;] T=[3.88;3.96;2.88] 預(yù)測(cè):根據(jù)昆蟲(chóng)4的觸角和身長(zhǎng),,預(yù)測(cè)昆蟲(chóng)4的攻擊性。 1.具體應(yīng)用實(shí)例,。根據(jù)表2,,預(yù)測(cè)序號(hào)15的跳高成績(jī)。 表2 國(guó)內(nèi)男子跳高運(yùn)動(dòng)員各項(xiàng)素質(zhì)指標(biāo)
4.4 (序號(hào)15)跳高成績(jī)預(yù)測(cè) 4.4.1 數(shù)據(jù)整理 1)我們將前14組國(guó)內(nèi)男子跳高運(yùn)動(dòng)員各項(xiàng)素質(zhì)指標(biāo)作為輸入,,即(30m行進(jìn)跑,,立定三級(jí)跳遠(yuǎn),助跑摸高,,助跑4-6步跳高,,負(fù)重深蹲杠鈴,杠鈴半蹲系數(shù),,100m,,抓舉),將對(duì)應(yīng)的跳高成績(jī)作為輸出,。并用matlab自帶的premnmx()函數(shù)將這些數(shù)據(jù)歸一化處理,。 數(shù)據(jù)集:(注意:每一列是一組輸入訓(xùn)練集,行數(shù)代表輸入層神經(jīng)元個(gè)數(shù),,列數(shù)輸入訓(xùn)練集組數(shù)) 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網(wǎng)絡(luò)模型 BP網(wǎng)絡(luò)(Back-ProPagation Network)又稱反向傳播神經(jīng)網(wǎng)絡(luò),, 通過(guò)樣本數(shù)據(jù)的訓(xùn)練,,不斷修正網(wǎng)絡(luò)權(quán)值和閾值使誤差函數(shù)沿負(fù)梯度方向下降,逼近期望輸出,。它是一種應(yīng)用較為廣泛的神經(jīng)網(wǎng)絡(luò)模型,,多用于函數(shù)逼近、模型識(shí)別分類,、數(shù)據(jù)壓縮和時(shí)間序列預(yù)測(cè)等,。
BP網(wǎng)絡(luò)由輸入層、隱層和輸出層組成,,隱層可以有一層或多層,,圖2是m×k×n的三層BP網(wǎng)絡(luò)模型,網(wǎng)絡(luò)選用S型傳遞函數(shù),, 通過(guò)反傳誤差函數(shù) ( (Ti為期望輸出,、Oi為網(wǎng)絡(luò)的計(jì)算輸出),不斷調(diào)節(jié)網(wǎng)絡(luò)權(quán)值和閾值使誤差函數(shù)E達(dá)到極小,。 BP網(wǎng)絡(luò)具有高度非線性和較強(qiáng)的泛化能力,,但也存在收斂速度慢、迭代步數(shù)多,、易于陷入局部極小和全局搜索能力差等缺點(diǎn),。可以先用遺傳算法對(duì)“BP網(wǎng)絡(luò)”進(jìn)行優(yōu)化在解析空間找出較好的搜索空間,,再用BP網(wǎng)絡(luò)在較小的搜索空間內(nèi)搜索最優(yōu)解,。 4.4.2.2 模型求解 4.4.2.2.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì) 1) 輸入輸出層的設(shè)計(jì) 該模型由每組數(shù)據(jù)的各項(xiàng)素質(zhì)指標(biāo)作為輸入,以跳高成績(jī)作為輸出,,所以輸入層的節(jié)點(diǎn)數(shù)為8,,輸出層的節(jié)點(diǎn)數(shù)為1。 2) 隱層設(shè)計(jì) 有關(guān)研究表明, 有一個(gè)隱層的神經(jīng)網(wǎng)絡(luò), 只要隱節(jié)點(diǎn)足夠多, 就可以以任意精度逼近一個(gè)非線性函數(shù),。因此, 本文采用含有一個(gè)隱層的三層多輸入單輸出的BP網(wǎng)絡(luò)建立預(yù)測(cè)模型,。在網(wǎng)絡(luò)設(shè)計(jì)過(guò)程中, 隱層神經(jīng)元數(shù)的確定十分重要。隱層神經(jīng)元個(gè)數(shù)過(guò)多, 會(huì)加大網(wǎng)絡(luò)計(jì)算量并容易產(chǎn)生過(guò)度擬合問(wèn)題; 神經(jīng)元個(gè)數(shù)過(guò)少, 則會(huì)影響網(wǎng)絡(luò)性能, 達(dá)不到預(yù)期效果,。網(wǎng)絡(luò)中隱層神經(jīng)元的數(shù)目與實(shí)際問(wèn)題的復(fù)雜程度,、輸入和輸出層的神經(jīng)元數(shù)以及對(duì)期望誤差的設(shè)定有著直接的聯(lián)系。目前, 對(duì)于隱層中神經(jīng)元數(shù)目的確定并沒(méi)有明確的公式, 只有一些經(jīng)驗(yàn)公式, 神經(jīng)元個(gè)數(shù)的最終確定還是需要根據(jù)經(jīng)驗(yàn)和多次實(shí)驗(yàn)來(lái)確定,。本文在選取隱層神經(jīng)元個(gè)數(shù)的問(wèn)題上參照了以下的經(jīng)驗(yàn)公式: 其中, n為輸入層神經(jīng)元個(gè)數(shù), m 為輸出層神經(jīng)元個(gè)數(shù), a 為[ 1, 10]之間的常數(shù),。 根據(jù)上式可以計(jì)算出神經(jīng)元個(gè)數(shù)為4-13個(gè)之間,在本次實(shí)驗(yàn)中選擇隱層神經(jīng)元個(gè)數(shù)為6. 網(wǎng)絡(luò)結(jié)構(gòu)示意圖如下:
4.4.2.2.2 激勵(lì)函數(shù)的選取 BP神經(jīng)網(wǎng)絡(luò)通常采用Sigmoid可微函數(shù)和線性函數(shù)作為網(wǎng)絡(luò)的激勵(lì)函數(shù),。本文選擇S型正切函數(shù)tansig作為隱層神經(jīng)元的激勵(lì)函數(shù),。而由于網(wǎng)絡(luò)的輸出歸一到[ -1, 1]范圍內(nèi), 因此預(yù)測(cè)模型選取S 型對(duì)數(shù)函數(shù)tansig作為輸出層神經(jīng)元的激勵(lì)函數(shù)。 4.4.2.2.3 模型的實(shí)現(xiàn) 此次預(yù)測(cè)選用MATLAB中的神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行網(wǎng)絡(luò)的訓(xùn)練, 預(yù)測(cè)模型的具體實(shí)現(xiàn)步驟如下: 將訓(xùn)練樣本數(shù)據(jù)歸一化后輸入網(wǎng)絡(luò), 設(shè)定網(wǎng)絡(luò)隱層和輸出層激勵(lì)函數(shù)分別為tansig和logsig函數(shù), 網(wǎng)絡(luò)訓(xùn)練函數(shù)為traingdx, 網(wǎng)絡(luò)性能函數(shù)為mse,隱層神經(jīng)元數(shù)初設(shè)為6。設(shè)定網(wǎng)絡(luò)參數(shù),。網(wǎng)絡(luò)迭代次數(shù)epochs為5000次, 期望誤差goal為0.00000001, 學(xué)習(xí)速率lr為0. 01,。設(shè)定完參數(shù)后, 開(kāi)始訓(xùn)練網(wǎng)絡(luò)。 該網(wǎng)絡(luò)通過(guò)24次重復(fù)學(xué)習(xí)達(dá)到期望誤差后則完成學(xué)習(xí),。詳細(xì)代碼見(jiàn)附錄,。 網(wǎng)絡(luò)訓(xùn)練完成后,只需要將各項(xiàng)素質(zhì)指標(biāo)輸入網(wǎng)絡(luò)即可得到預(yù)測(cè)數(shù)據(jù),。 預(yù)測(cè)結(jié)果為:2.20
matlab代碼:
|
|
來(lái)自: 陸瀟瀟 > 《神經(jīng)網(wǎng)絡(luò)》