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