BP網(wǎng)絡(luò)在蓄電池電壓監(jiān)測(cè)單元中的應(yīng)用
4.2 激活函數(shù):
BP網(wǎng)絡(luò)中神經(jīng)元的激活函數(shù)是非線性的,且必須是連續(xù)可微和單調(diào)上升的有界函數(shù)。輸入/輸出關(guān)系也是為非線性,其值可連續(xù)變化。隱含層采用雙曲正切S型激活函數(shù),輸出層采用線性激活函數(shù)。
隱含層神經(jīng)元數(shù)設(shè)為i (i=8) , 其中第i個(gè)神經(jīng)元的輸出為
4.3 BP網(wǎng)絡(luò)訓(xùn)練:
BP網(wǎng)絡(luò),輸入為某一溫度值,輸出是測(cè)量電壓值的基準(zhǔn)值,將其和實(shí)際測(cè)量的蓄電池浮充電壓比較,若超出允許范圍則報(bào)警。
T代表溫度,V代表測(cè)量電壓值的基準(zhǔn)值。
實(shí)際工作溫度是0oC至41oC,訓(xùn)練時(shí)0至41的數(shù)據(jù)造成網(wǎng)絡(luò)訓(xùn)練困難,所以改為-20至20,只要加上20就是實(shí)際溫度值。
將蓄電池制造廠提供的數(shù)據(jù)分為兩個(gè)集合,
訓(xùn)練集(如圖3)是:
輸入矩陣T = -20: 2 : 20;
輸出矩陣V
V==[14.4,14.38,14.32,14.24,14.18,14.12,14.04,13.98,13.92,13.86,13.78,13.72,13.66,13.58,13.52,13.46,13.38,13.32,13.26,13.2,13.2];14.4,14.38,14.32,14.24,14.18,14.12,14.04,13.98,13.92,13.86,13.78,13.72,13.66,13.58,13.52,13.46,13.38,13.32,13.26,13.2,13.2];
用Matlab語(yǔ)言編寫訓(xùn)練程序,網(wǎng)絡(luò)訓(xùn)練過(guò)程:
首先設(shè)定參數(shù)如下:
max_epoch = 30000;
err_goal = 0.002;
程序運(yùn)行結(jié)果:
TRAINBP: 30000/30000 epochs, SSE = 0.00260954.
W1 =[-0.1094 -0.1207 -1.0054 -0.9631 1.5095 0.4468 1.7631 0.9540] T
B1 =[-1.2748 1.2489 0.4120 0.1571 -0.6891 0.9935 -1.5833 0.0657] T
W2 =[0.3228 0.2993 -0.0883 0.2113 1.0839 -0.0217 -0.7304 -0.2670]
B2 =13.8159
Unsuccessfully.網(wǎng)絡(luò)訓(xùn)練不成功。
用得到的W1,B1,W2,B2再次訓(xùn)練……直到
err_goal =0.0015 successfully
得到:
W1 =[-0.1094 -0.1207 -1.0054 -0.9631 1.5095 0.4468 1.7631 0.9540] T
B1 =[1.2748 1.2489 0.4120 0.1571 -0.6891 0.9935 -1.5833 0.0657] T
W2 =[0.3228 0.2993 -0.0883 0.2113 1.0839 -0.0217 -0.7304 -0.2670]
B2 =13.8159
評(píng)論