BP算法在腔煙葉水分測量中的應(yīng)用
BP算法在腔煙葉水分測量中的應(yīng)用
1 引 言在**廠加工和處理煙葉的過程中, 控制好煙葉的水分有著非常重要的意義。目前, 適合于煙葉水分在線檢測的比較可行的方法是微波諧振腔法, 該方法通過諧振腔耦合到空間的彌散場和物料相互作用, 利用物料中水分子的弛豫效應(yīng)實(shí)現(xiàn)測量。微波諧振腔法
測量精度高、實(shí)時性好、通過算法可以實(shí)現(xiàn)與密度無關(guān)且測量結(jié)果為物料內(nèi)部水分, 適合應(yīng)用于工業(yè)在線測量。微波諧振腔法中, 檢測量諧振頻率fres 及3dB帶寬b和水分的函數(shù)關(guān)系由多元線性回歸確定, 因此減小多元線性回歸法產(chǎn)生的測量誤差是微波諧振腔法
測水分的一個難點(diǎn)。近年來, 針對應(yīng)用多元線性回歸法產(chǎn)生測量誤差的問題發(fā)展出許多改進(jìn)方法。但這些方法主要是尋找更加準(zhǔn)確的多元線性回歸因子, 從而能夠使多元線性回歸的確定系數(shù)和方差減小到小。應(yīng)用BP算355法對測量結(jié)果進(jìn)行校正是一種可行的方法, 但傳統(tǒng)BP網(wǎng)絡(luò)具有結(jié)構(gòu)不**性和極慢收斂性的固有缺點(diǎn), 無法避免局部極小。
在實(shí)際微波諧振腔水分測量中, 減小多元線性回歸帶來的測量誤差是一個關(guān)鍵問題, 因?yàn)樵撜`差是決定測量系統(tǒng)精度的主要因素。應(yīng)用BP算法對測量結(jié)果進(jìn)行校正時, 神經(jīng)網(wǎng)絡(luò)的初始權(quán)值隨機(jī)給定, 因而每次訓(xùn)練的次數(shù)及終權(quán)值會略有不同, 即網(wǎng)絡(luò)的尋優(yōu)不具有**性, 會出現(xiàn)局部極小。此外, 初始權(quán)值給定的/ 盲目性0導(dǎo)致了訓(xùn)練次數(shù)的增多, 使得網(wǎng)絡(luò)收斂速度極慢。實(shí)驗(yàn)表明, 在沒有對測量結(jié)果進(jìn)行校正前, 實(shí)際水分與預(yù)測水分之間的確定系數(shù)為0. 9607、均方差為0. 3805, 測量精度不高。為此, 本文提出應(yīng)用基于遺傳學(xué)習(xí)算法和BP算法的神經(jīng)網(wǎng)絡(luò)校正測量結(jié)果。
2 微波諧振腔水分測量
2.1 開路諧振腔水分傳感器及其等效模型本文實(shí)驗(yàn)中采用一種開路同軸微波諧振腔作為水分測量傳感器, 如圖1所示。在其中心處( 電磁場強(qiáng)處) 開一個窗口, 用低損耗絕緣板蓋住窗口, 將一定水分的煙葉放在該窗口處。這種結(jié)構(gòu)使得部分場能通過窗口穿透到腔體外,然后再穿過被測煙葉, 就可以實(shí)現(xiàn)對煙葉水分的測量。通常情況下, 可以將諧振腔等效為一個單調(diào)諧回路模型,如圖2所示
。
圖1 開路同軸微波諧振腔
(1-樣品容器2-同軸諧振腔3-圓柱諧振腔4-耦合探針)
圖2 開路微波諧振腔單調(diào)諧回路模型
其中L、G、C0、C1、C2 分別等效為諧振腔的電感、內(nèi)部損耗、內(nèi)部電容、保護(hù)蓋及被測煙葉的影響。
2. 2 微波諧振腔水分測量原理大量實(shí)驗(yàn)表明, 煙葉水分是關(guān)于諧振腔3dB帶寬b和諧振頻率f
res 的非線性函數(shù)[6] [7]
, 如公式( 1) 所示:
5= a1b+ a2
f
res + a3
(1)
對觀測數(shù)據(jù)進(jìn)行多元線性回歸分析, 確定( 1) 式中的回歸系數(shù)A1
, A2 和A3
, 就可以得到水分7與b及f
res 之間
的關(guān)系曲線, 如圖3所示。
圖3 b及f
res 與水分7 之間的非線性關(guān)系
圖4 多元線性回歸法得到的7predicted 與7real 之間的對應(yīng)關(guān)系圖4為由公式( 1) 得到的預(yù)測水分7predicted 和煙葉
實(shí)際水分7real 的對比曲線圖。從圖4中可以看出, 二者之間存在很大的誤差, 為了使測量誤差盡可能的小,
本文提出利用改進(jìn)的BP算法對測量結(jié)果進(jìn)行校正來提高測量精度。
3 改進(jìn)的BP神經(jīng)元網(wǎng)絡(luò)校正算法
BP網(wǎng)絡(luò)是一種非線性映射人工神經(jīng)網(wǎng)絡(luò), 可以用含有一個隱層的BP網(wǎng)絡(luò)來逼近任意閉合區(qū)間連續(xù)函數(shù)
[ 4]
, 因而可以用一個三層的BP網(wǎng)絡(luò)來模擬煙葉水分測量結(jié)果的校正過程。當(dāng)網(wǎng)絡(luò)訓(xùn)練好之后, 就可以用來校正測量結(jié)果。應(yīng)用BP網(wǎng)絡(luò)具有較高的預(yù)測精度,
356
但鑒于傳統(tǒng)BP算法所具有的結(jié)構(gòu)不**性和極慢的收斂性限制了其在實(shí)時預(yù)報和大量樣本情況下的應(yīng)用。
遺傳算法是基于自然選擇和遺傳規(guī)律的并行全局搜索算法, 具有很強(qiáng)的宏觀搜索能力, 及尋優(yōu)的全局性, 將其應(yīng)用于測量結(jié)果的校正可以克服傳統(tǒng)BP算法的缺點(diǎn)。因此, 先利用遺傳算法來訓(xùn)練網(wǎng)絡(luò), 再用BP算法進(jìn)行**求解。這樣, 先得到了權(quán)值的一個范
圍, 在此基礎(chǔ)上訓(xùn)練網(wǎng)絡(luò)就可以避免局部極小, 同時訓(xùn)練次數(shù)和終權(quán)值相對穩(wěn)定,訓(xùn)練速度加快。
3.1 改善BP算法收斂速度
BP算法把網(wǎng)絡(luò)的學(xué)習(xí)過程分為正向傳播和反向傳播兩種交替過程。如果其中正向傳播輸出的誤差平方和達(dá)不到預(yù)期的精度, 則沿誤差的負(fù)梯度方向修正各層神經(jīng)元的權(quán)值和閾值,如此反復(fù), 直至網(wǎng)絡(luò)全局誤差平方和達(dá)到預(yù)期精度。BP算法基于速下降法, 但
由于速下降法的易陷入局部極小、收斂速度慢和引起振蕩效應(yīng)的缺點(diǎn),因此需要在權(quán)調(diào)節(jié)向量中增加/ 慣
性量0,即:
$wij
(t+ 1) = GDj oi + A$wij
(t) (2)
式中: $wij
(t+1), $wij
(t)分別表示第t+1次、第t 次
迭代的權(quán)值修正量; A、G為比例因子, 表示BP算法中的誤差平方和對權(quán)值的負(fù)梯度。應(yīng)用該方法加速了網(wǎng)絡(luò)的收斂速度, 并在一定程度上減少了陷入局部極小的概率。為了進(jìn)一步加快收
斂速度, 使用變步長尋優(yōu)法:
$E> 0 G(t+ 1) = G(t) #< <> 1
$E> 0 G(t+ 1) = G(t) #B B> 1
(3)
式中: $E是誤差平方和的變化量; U、B是比例因子。3.2 基于遺傳學(xué)習(xí)算法和BP算法的前饋網(wǎng)絡(luò)BP算法局部極小問題在實(shí)際計(jì)算過程中可以通過調(diào)整初始權(quán)值來解決, 而收斂速度慢和引起振蕩效應(yīng)往往是網(wǎng)絡(luò)訓(xùn)練后期陷入局部極小所致。因此提出在BP算法之前, 使用遺傳算法大致搜索出一定的權(quán)值, 作為BP算法的初始權(quán)值, 則可以解決上述問題。由于遺傳算法具有很強(qiáng)的宏觀搜索能力, 并且具有簡單通用、魯棒性強(qiáng)、并行運(yùn)算的特點(diǎn), 所以用它來完成形成一種混合訓(xùn)練算法, 達(dá)到優(yōu)化網(wǎng)絡(luò)的目的。訓(xùn)練
首先由遺傳學(xué)習(xí)算法進(jìn)行尋優(yōu),將搜索范圍縮小之后,再利用BP網(wǎng)絡(luò)來尋優(yōu)。
具體步驟如下:
①初始化網(wǎng)絡(luò)及群體,給出訓(xùn)練參數(shù); 對于每一個
輸入向量進(jìn)行歸一化處理, 公式為:
[ Vj - min(Vi
)] / [ max(Vi
)- min(Vi
)] #0. 9+ 0.
05 (4)
網(wǎng)絡(luò)的初始權(quán)值為[-1, 1] 之內(nèi)的一組隨機(jī)數(shù);②計(jì)算誤差平方和, 若達(dá)到預(yù)定值EGA則轉(zhuǎn)④;③遺傳操作產(chǎn)生新一代個體, 淘汰父代個體轉(zhuǎn)②;④BP迭代計(jì)算( 次數(shù)限定) , 若未達(dá)到指定精度
EBP即EBP<EGA
, 則轉(zhuǎn)③;
⑤輸出此時的權(quán)值、閾值, 結(jié)束訓(xùn)練;
⑥以此時的權(quán)值、閾值計(jì)算實(shí)例, 并將計(jì)算結(jié)果參照歸一化公式還原, 進(jìn)行預(yù)測。
網(wǎng)絡(luò)的初始權(quán)值區(qū)間取[-1, 1] 較為恰當(dāng), 在網(wǎng)絡(luò)的初始權(quán)值區(qū)間取得較大時, 如果EG取較小值, 會導(dǎo)致訓(xùn)練次數(shù)增加, 但對終結(jié)果影響不大; 如果EGA取較大值,將導(dǎo)致終權(quán)值的范圍較大, 影響網(wǎng)絡(luò)的范化能力。
本文提出的訓(xùn)練BP網(wǎng)絡(luò)的遺傳學(xué)習(xí)算法和BP
算法結(jié)合的混合訓(xùn)練算法, 可以使微波諧振腔煙葉測量結(jié)果校正過程具有尋優(yōu)的全局性和**性, 加快其
收斂速度。
在訓(xùn)練過程中, 為獲得極小的誤差平方和而進(jìn)行過度訓(xùn)練并不可取, 因?yàn)檫@將使網(wǎng)絡(luò)的權(quán)值范圍很大,從而導(dǎo)致預(yù)測的誤差增大。同時需要確定適當(dāng)?shù)碾[含層數(shù)目,數(shù)目太少則網(wǎng)絡(luò)訓(xùn)練十分困難; 數(shù)目太多則湮沒了樣本的規(guī)律, 導(dǎo)致預(yù)測不準(zhǔn)確。預(yù)測精度的大小與序列平穩(wěn)程度有關(guān), 如果序列平穩(wěn), 則預(yù)測較準(zhǔn)確;反之, 由于網(wǎng)絡(luò)的精度是以誤差平方和為標(biāo)準(zhǔn), 預(yù)測值需要一定的變化時間才能達(dá)到實(shí)際值的極值。由于BP網(wǎng)絡(luò)的初始權(quán)值隨機(jī)給定, 因而每次訓(xùn)練的次數(shù)及終權(quán)值不同。用遺傳學(xué)習(xí)算法進(jìn)行全局訓(xùn)練后,網(wǎng)絡(luò)的權(quán)值矩陣處于一定范圍內(nèi), 本文提出的混合算法解決了這一問題。
將該方法用于微波諧振腔煙葉水分測量校正時,根據(jù)諧振腔的特性參數(shù)和被測煙葉的水分關(guān)系建立一個網(wǎng)絡(luò), 如圖5所示。以大量實(shí)驗(yàn)得到的諧振頻率f
res 、3dB帶寬值b和水分7作為樣本, 對網(wǎng)絡(luò)進(jìn)行訓(xùn)練并用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行測量。圖5 微波諧振腔水分測量網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
357
4 結(jié) 論
實(shí)驗(yàn)過程中將一定水分的煙葉加載到開路微波諧振腔窗口中, 在0%~10. 3%水分范圍內(nèi)任取10個值,分別進(jìn)行10次測量。為了加快收斂速度, 對原始數(shù)據(jù)進(jìn)行歸一化處理, 使其落在[-1, 1] 區(qū)間內(nèi)。利用HP8510B網(wǎng)絡(luò)分析儀得到與每個水分相對應(yīng)的諧振頻率fres 和3dB帶寬值b。
用實(shí)驗(yàn)得到的100組數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為( 2, 8, 1) ; 交叉概率pC= 0. 95, 變異概率pm= 0. 05, 遺傳學(xué)習(xí)算法誤差平方和目標(biāo)值EGA為0. 75。BP算法中, 初始學(xué)習(xí)率G( 0) =0. 01, 學(xué)習(xí)率上升率U=1. 05, 學(xué)習(xí)率下降率B=0. 75。外層遺傳算法迭代133次, BP算法迭代6155次, 得到誤差平方和0. 01999998。用得到的權(quán)值及閾值來計(jì)算物料水分, 結(jié)果表明校正后的物料水分測量值與真實(shí)值之間的均方差和確定系數(shù)相比于未經(jīng)校正時有很大的改善, 如表1及圖6所示。
表1 不同回歸算法的效果比較未使用ANNs前 使用ANNs后
均方差 0. 3805 均方差 0. 010 9
平均**誤差 0. 4390 平均**誤差 0. 070 2
平均相對誤差 0. 1941 平均相對誤差 0. 116 1
確定系數(shù) 0. 9607 確定系數(shù) 0. 998 9
圖6 神經(jīng)網(wǎng)絡(luò)校正后的7predicted 與7real 之間的對應(yīng)關(guān)系
基于遺傳學(xué)習(xí)算法和BP算法的前饋網(wǎng)絡(luò)避免了傳統(tǒng)BP算法的局部極小且保持其很高的預(yù)測精度,與未使用神經(jīng)網(wǎng)絡(luò)校正前的測量結(jié)果相比, 解釋精度及科學(xué)預(yù)測性都極大地提高, 從而使煙葉水分測量的精度和速度都有了大幅度的改進(jìn), 測量結(jié)果和真實(shí)值 之間的均方差達(dá)到0. 0109, 確定系數(shù)為0. 9989。