摘? 要: 采用遺傳學(xué)習(xí)算法和誤差反向傳播(BP)算法相結(jié)合的混合算法來訓(xùn)練前饋人工神經(jīng)網(wǎng)絡(luò),從而提高神經(jīng)網(wǎng)絡(luò)的收斂質(zhì)量和收斂速度,并將此算法運用到電子舌對黃酒的檢測上。與經(jīng)典BP網(wǎng)絡(luò)及附加動量項BP網(wǎng)絡(luò)的訓(xùn)練與預(yù)測進行了比較。結(jié)果顯示:遺傳優(yōu)化BP算法具有預(yù)測精度高、收斂速度快及運行時間短的優(yōu)點,是一種快速、可靠的方法。
關(guān)鍵詞: 黃酒; 電子舌; BP神經(jīng)網(wǎng)絡(luò); 遺傳算法
?
黃酒是中華民族傳統(tǒng)酒,也是華夏瑰寶和酒中奇葩[1]。從數(shù)據(jù)顯示,2000、2001和2002年全國黃酒產(chǎn)量均為140萬噸,2003年為160萬噸,2004年為180萬噸,到2005年則上升為200萬噸。隨著黃酒產(chǎn)量與消費量的增加,問題也隨之出現(xiàn):如目前許多黃酒企業(yè)均在生產(chǎn)3年以上的陳酒,但其中就存在以次充好的情況,以低酒齡酒冒充所謂“五年陳酒”、“十年陳酒”等高齡酒陳酒。新國標GB/T13662-2000(黃酒)中對“標注酒齡”下了明確定義[2]:“標注酒齡”為銷售包裝標簽上標注的酒齡,以勾兌酒的酒齡加權(quán)平均計算。酒齡在3年(或3年以上)的黃酒,應(yīng)以優(yōu)級酒為基酒,其中所標注酒齡的基酒不低于50 %。通過以上規(guī)定,對陳酒作出了明確的定義,從而一定程度上規(guī)范了陳年酒的生產(chǎn)。但要解決這些問題,實現(xiàn)對黃酒品質(zhì)進行準確分析,維護消費者利益,改造傳統(tǒng)黃酒和提高新工藝黃酒,迫切需要具有科學(xué)依據(jù)的簡便、快速的現(xiàn)代檢測方法。
電子舌技術(shù)是上世紀末發(fā)展起來的一種分析、識別液體“味道”的新型檢測手段[3]。利用電子舌對黃酒品質(zhì)進行檢測,優(yōu)點很突出:首先,不需要對樣品進行任何預(yù)處理,直接對樣品進行檢測;其次,檢測速度快,電子舌檢測一個樣品只需幾十秒到幾分鐘,相比其他儀器要快很多;最后,電子舌獲取的是對液體樣本的味覺特征的總體評價,易于與其他方法或儀器(如電子鼻等)所得結(jié)果進行相關(guān)分析。
綜合考慮了電子舌的以上優(yōu)點,本文采用了法國阿爾法公司的Astree型電子舌對黃酒進行檢測。在電子舌的模式識別數(shù)據(jù)處理方面,人工神經(jīng)網(wǎng)絡(luò)法特別是BP網(wǎng)絡(luò),用得比較多[4-5]。BP網(wǎng)絡(luò)的突出優(yōu)點就是具有很強的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu),但同時存在已陷入局部極小、收斂速度慢和引起振蕩效應(yīng)等。由于遺傳算法具有很強的宏觀搜索能力,且能以較大的概率找到全局最優(yōu)解,所以本文將二者結(jié)合起來,形成遺傳優(yōu)化BP算法,達到優(yōu)化網(wǎng)絡(luò)的目的。
1 實驗材料、儀器和方法
1.1 實驗樣品
分別從3個公司中獲取3種品牌黃酒:女兒紅、古越龍山、會稽山。女兒紅分一年陳、三年陳、五年陳等3種不同灑齡的黃酒,古越龍山也分一年陳、三年陳、五年陳等3種不同酒齡的黃酒,會稽山僅一年陳1種酒齡的黃酒。這樣共有7種不同組合的黃酒。
1.2 儀器
采用法國阿爾法公司的Astree型電子舌。該電子舌系統(tǒng)由以下幾部分組成:傳感器陣列、自動進樣器、數(shù)據(jù)采集系統(tǒng)及與電子舌配套的數(shù)據(jù)分析軟件。其中傳感器陣列獲取信號,電子舌主機里包含數(shù)據(jù)采集系統(tǒng)及控制自動進樣器的系統(tǒng),軟件包可設(shè)置傳感器的一些工作參數(shù)、對數(shù)據(jù)進行處理及模式識別。傳感器陣列由7個味覺傳感器加1個參比電極組成。這7個傳感器對5種味覺:酸、甜、苦、咸、鮮都有響應(yīng)。表1給出了這7個傳感器對5種味覺基本物質(zhì)的靈敏度。
?
1.3 實驗方法
試驗中,每種瓶裝黃酒開封后,馬上進行實驗。倒入容量為120 mL的燒杯內(nèi),每杯為80 mL,每種黃酒做12個重復(fù)樣品。用體積比為10 %的酒精做為電子舌傳感器的訓(xùn)練和清洗過程的溶劑。
2 實驗結(jié)果與分析
圖1所示為電子舌7個傳感器對7個樣品(女兒紅一年陳、女兒紅三年陳、女兒紅五年陳、古越龍山一年陳、古越龍山三年陳、古越龍山五年陳、會稽山一年陳)的響應(yīng)曲線圖。從圖中可以看出這7種響應(yīng)曲線是不同的。對比傳感器對一年陳的3個不同品牌的黃酒樣品的響應(yīng)曲線可以看出:ZZ、BA、GA和HA這4個傳感器對古越龍山和女兒紅的響應(yīng)曲線比較接近,而與會稽山的響應(yīng)曲線區(qū)別較明顯;CA、BB和JB這3個傳感器對3種樣品的響應(yīng)曲線區(qū)別較大,造成它們差異的主要因素可能是3個不同品牌由3家不同公司生產(chǎn),在生產(chǎn)工藝、所用原料等方面存在差異。對比傳感器對同一品牌不同酒齡的黃酒樣品的響應(yīng)曲線可以看出:女兒紅和古越龍山的3個酒齡傳感器的響應(yīng)曲線在剛開始時差異明顯,在60~120 s的過程內(nèi),所有傳感器的響應(yīng)值逐漸趨于穩(wěn)定,電勢差變化很小,也即被測樣品中的離子逐漸進入傳感器的膜,改變傳感器的膜電勢,最后趨于平衡。本論文取120 s平穩(wěn)值用于模式識別與分析。
?
3 經(jīng)典BP算法及其改進算法
典型的BP網(wǎng)絡(luò)是三層網(wǎng)絡(luò),包括輸入層、輸出層及隱含層,對于網(wǎng)絡(luò)的訓(xùn)練采用反向傳播BP(Back Propagation)算法[7]。這是一種有導(dǎo)師學(xué)習(xí)方法,其基本思想是最小二乘算法。它利用根均方誤差和梯度下降法來實現(xiàn)對網(wǎng)絡(luò)連接權(quán)的修正,從而使網(wǎng)絡(luò)趨向收斂,也即使網(wǎng)絡(luò)的全局誤差趨向極小值。
BP改進算法中應(yīng)用比較廣泛的是附加動量項的BP算法。經(jīng)典BP算法實質(zhì)上是一種簡單的最速下降靜態(tài)尋優(yōu)算法,在修正網(wǎng)絡(luò)權(quán)值時,只是按該時刻的負梯度方式進行修正,而沒有考慮以前積累的經(jīng)驗,從而常常使學(xué)習(xí)過程發(fā)生振蕩,收斂緩慢。附加動量項的BP算法是網(wǎng)絡(luò)在修正權(quán)值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上的變化趨勢的影響。Rumelhart、Hinton和Williams建議在權(quán)值修正表達式中加上一項“動量項”:
附加動量法的實質(zhì)就是將最后一次權(quán)值變化的影響,通過一個動量因子來傳遞,如此防止了Δωij=0的出現(xiàn),有助于使網(wǎng)絡(luò)從誤差曲面的局部極小值中跳出來。
4 基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)(GA-BP算法)
4.1 基本思想
??? 遺傳算法[6]GA(Genetic Algorithm)是一種非導(dǎo)數(shù)優(yōu)化的隨機優(yōu)化方法,可以對一復(fù)雜的、多峰的、非線性極不可微的函數(shù)實現(xiàn)全局搜索,而BP算法對局部搜索比較有效。因此為了使算法能很快地找到滿意解,可以先用遺傳算法對初始權(quán)值進行優(yōu)化,在解空間中定位出較好的搜索空間,然后用BP算法在這些小的解空間中搜索出最優(yōu)解。
4.2 實現(xiàn)方法及步驟
4.2.1 編碼方案
對BP網(wǎng)絡(luò)中連接權(quán)值和閾值進行編碼主要有2種方法:一種是采用二進制編碼方案,另一種是采用實數(shù)編碼方案。這里采用實數(shù)編碼。
設(shè)有三層BP網(wǎng)絡(luò),其拓撲結(jié)構(gòu)示意圖如圖2所示,輸入層×隱含層×輸出層為n×k×m的結(jié)構(gòu),其中wij為輸入層中第i個結(jié)點與隱含層第j個結(jié)點的連接權(quán)值;oij為隱含層中第j個結(jié)點與輸出層第i個結(jié)點的連接權(quán)值。對該BP網(wǎng)絡(luò)編碼為:w11w12...w1kw21w22…w2k…wmko11o12…o1no21…o2n…okn。
?
4.2.2 適應(yīng)度函數(shù)
衡量BP網(wǎng)絡(luò)性能的主要指標是網(wǎng)絡(luò)的實際輸出值與期望輸出值之間的誤差平方和。該誤差平方和小則表示該網(wǎng)絡(luò)性能好。所以,本文中適應(yīng)度函數(shù)表示為:
式中,S為均方根誤差;n為輸出層神經(jīng)元個數(shù);l為訓(xùn)練樣本數(shù);?yi為對應(yīng)第i個訓(xùn)練樣本的網(wǎng)絡(luò)實際輸出值;Ti為對應(yīng)第i個訓(xùn)練樣本的網(wǎng)絡(luò)期望輸出值。
4.2.3 遺傳操作
初始種群的群體大小(POPSIZE)對計算的搜索空間有很大的影響,這里取POPSIZE=60。確定遺傳操作算子的步驟如下:
(1)選擇操作:淘汰個體的操作,常用的有輪盤賭選擇法和排序選擇法。本文采用穩(wěn)態(tài)輪盤賭選擇法。具體過程為:將當(dāng)代種群的個體適應(yīng)度由大到小進行排序,按下式概率值選擇個體:,其中fi為個體i的適應(yīng)度值,N為染色體數(shù)。
(2)交叉操作:依照交叉概率,隨即選擇的2個父個體按照一定的規(guī)則進行某些位置上的字符交換,產(chǎn)生新個體。
(3)變異操作:模擬生物進化過程中的基因突變,常用方法為按位變異。
4.2.4 BP訓(xùn)練
經(jīng)過以上的遺傳運算,就得到了BP神經(jīng)網(wǎng)絡(luò)的誤差最小的初始權(quán)值。將以上得到的初始權(quán)值代入BP網(wǎng)絡(luò)進行正常的前饋訓(xùn)練,得到計算樣本的實際輸出值和期望輸出的誤差平方和?著BP,若達到了指定的網(wǎng)絡(luò)訓(xùn)練精度,則結(jié)束,否則轉(zhuǎn)入遺傳算法繼續(xù)優(yōu)化。
5 在黃酒檢測中的應(yīng)用
在實驗中,每類樣品做了12個重復(fù),從每類樣品中隨機取出7個共7×7=49個樣品組成訓(xùn)練集(每組黃酒中各取7個樣品),剩下的共5×7=35個樣品組成測試集(每組黃酒中各取5個樣品)。將從圖2中提取的特征參數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入向量。經(jīng)多次試驗比較后,選擇BP網(wǎng)絡(luò)的拓撲結(jié)構(gòu)為7-5-3。
利用MatLab7.0編程實現(xiàn)訓(xùn)練與預(yù)測。參數(shù)的選擇如下:經(jīng)典BP算法學(xué)習(xí)率0.9;附加動量項BP算法學(xué)習(xí)率0.9,動態(tài)項因子0.7;遺傳算法初始種群60,交叉率0.8,變異率0.01;單個樣本的最大誤差0.003,最大循環(huán)次數(shù)為3 000。訓(xùn)練集的回判正確率和測試集的判斷正確率如表2所示。圖3所示為3種算法的訓(xùn)練誤差平方和隨訓(xùn)練步數(shù)的變化曲線。
?
?
從表2可以看出,雖然對訓(xùn)練集的回判正確率相差不大,但對測試集的判斷正確率,遺傳優(yōu)化BP為98.2 %,比經(jīng)典BP算法的89.3 %和附加動量項BP算法的94.6 %都要好。從圖3的對比中可以看到:經(jīng)典BP算法和附加動量項BP算法分別運行到1 502步和1 008步收斂到指定精度,而遺傳優(yōu)化BP學(xué)習(xí)算法收斂到相同精度只用了403步。此時的程序運行時間:前兩者分別為102.874s和87.644s ,后者為29.871s。
為更好地考察與比較3種算法訓(xùn)練的網(wǎng)絡(luò)優(yōu)劣性,再在每類的12次重復(fù)中隨機選取測試集與訓(xùn)練集,進行交互驗證,共重復(fù)了3次,分別選取的組成測試集樣本數(shù)為6、8、9,則對應(yīng)的組成訓(xùn)練集的樣本數(shù)分別為6、4、3。驗證結(jié)果說明:遺傳優(yōu)化BP算法比現(xiàn)有的經(jīng)典BP算法和附加動量項BP算法在預(yù)測精度、收斂速度及運行時間上都取得了較好的效果。
GA算法能以較快的速度減小搜索空間范圍,而且不易陷入局部極小點;而BP算法則具有局部搜索效率高的特點,將兩者結(jié)合可以得到比現(xiàn)有的學(xué)習(xí)算法更好的學(xué)習(xí)效果,是一種快速、可靠的方法。
GA-BP算法可以較好地運用到電子舌的模式識別中。本方法對黃酒測試樣本集的判斷率為98.2%,要提高預(yù)測精度,有待從算法本身的改進方面作進一步的研究。
參考文獻
[1] ?鮑忠定, 許榮年. 黃酒香氣成分的分析. 釀酒科技,1999,95(5):66-68.
[2] ?李博斌. 黃酒新國標介紹與分析. 釀酒科技, 2001,105(3):73-75.
[3] ?HABARA M, IKEZAKI H, TOKO K. Study of sweet taste ?evaluation using taste sensor with lipid/polymer membranes,Biosens. Bioelectron.2004,19(12):1559-1563.
[4] ?LVOVA L, LEGIN A, VLASOV Y. Electronic tongue and?its application.Seensors and Actuators B, 2003,95:391-399.
[5] ?滕炯華, 王磊, 袁朝輝. 基于電子舌技術(shù)的果汁飲料識別.測控技術(shù), 2004,23(11):4-5.
[6] ?GOLDBERG D E. Genetic algorithm in search, optimization?and Machine learning[M]. Reading, MA: Addison-Wesley, ?1989.
[7] ?飛思科技產(chǎn)品研發(fā)中心. MATLAB 6.5輔助神經(jīng)網(wǎng)絡(luò)分析與設(shè)計. 北京: 電子工業(yè)出版社, 2003.