畢艷亮,寧 芊,雷印杰,王 偉
(四川大學(xué) 電子信息學(xué)院,成都 610065)
?
基于改進(jìn)的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)并用于紅酒質(zhì)量等級(jí)分類
畢艷亮,寧芊,雷印杰,王偉
(四川大學(xué) 電子信息學(xué)院,成都610065)
針對(duì)以往的紅酒生產(chǎn)過程中,紅酒質(zhì)量分類過程復(fù)雜且低效,因此研究一種高效可靠的智能分類識(shí)別方法很有必要;這里在紅酒的多種物理化學(xué)成份測(cè)定的基礎(chǔ)上,使用人工智能理論中的神經(jīng)網(wǎng)絡(luò)構(gòu)建分類模型,實(shí)現(xiàn)對(duì)紅酒質(zhì)量的高效分類;并用改進(jìn)的遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)中的缺陷做了一定的優(yōu)化;對(duì)比傳統(tǒng)BP網(wǎng)絡(luò)分類效果,結(jié)果表明,改進(jìn)后的神經(jīng)網(wǎng)絡(luò)收斂速度更快,各個(gè)質(zhì)量等級(jí)的分類正確率均提高了10%左右;對(duì)紅酒加工企業(yè)具有積極的實(shí)際參考價(jià)值。
BP神經(jīng)網(wǎng)絡(luò);遺傳算法; 紅酒;分類
如何對(duì)紅酒的質(zhì)量進(jìn)行快速準(zhǔn)確分類對(duì)企業(yè)的生產(chǎn)有積極的意義。目前常用的檢測(cè)主要包括氣相色譜法和化學(xué)成分分析方法。這些方法耗時(shí)、費(fèi)力、低效。因此,研究一種快速高效的紅酒分類方法就顯得很重要[1]。這里利用傳感器陣列傳回的紅酒多種物理化學(xué)參數(shù),結(jié)合人工智能中的BP神經(jīng)網(wǎng)絡(luò)理論進(jìn)行機(jī)器學(xué)習(xí),然后將其用于紅酒質(zhì)量分類;BP神經(jīng)網(wǎng)絡(luò)作為一種模式識(shí)別技術(shù),它具有強(qiáng)大的自適應(yīng)、自學(xué)習(xí)及聯(lián)想記憶等優(yōu)點(diǎn),對(duì)于一些模糊的、非線性的問題能夠很好地構(gòu)建和逼近[1-1],文獻(xiàn)[3]就是對(duì)該性能的一種應(yīng)用。然而神經(jīng)網(wǎng)絡(luò)具有易陷入局部最優(yōu),收斂速度慢等缺陷。而遺傳算法作為一種基于自然選擇與進(jìn)化機(jī)制的功能強(qiáng)大的隨機(jī)收索算法,GA的操作不需要規(guī)劃對(duì)象的先驗(yàn)性知識(shí),只需要計(jì)算個(gè)體的適應(yīng)度值并作出篩選[4-5],具有良好的全局收索效果。這里就利用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行尋優(yōu),并利用變學(xué)習(xí)率的學(xué)習(xí)方式以改善網(wǎng)絡(luò)的收斂速度?;颂岣呒t酒質(zhì)量的分類效率。
1.1BP神經(jīng)網(wǎng)絡(luò)
〗BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋型網(wǎng)絡(luò),該網(wǎng)絡(luò)的最大特點(diǎn)是輸入信號(hào)進(jìn)行前向輸入,誤差信號(hào)進(jìn)行逆向反饋。在前向傳輸過程中,輸入信號(hào)從輸入層經(jīng)過隱含層再到輸出層逐層處理。并將輸出層的輸出與期望輸出進(jìn)行對(duì)比,得出的差值進(jìn)行反饋,根據(jù)得出的差值調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)中的各個(gè)權(quán)值和閾值[6]。反復(fù)進(jìn)行多次訓(xùn)練以促使BP神經(jīng)網(wǎng)絡(luò)輸出不斷逼近期望輸出,從而得到一組合適的權(quán)值和閾值。神經(jīng)網(wǎng)絡(luò)的模型大致如圖1所示。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)圖
上圖中的x1,xi,…,xn分別作為BP神經(jīng)網(wǎng)絡(luò)的輸入信號(hào),而y1,yj,…,ym是BP神經(jīng)網(wǎng)絡(luò)的輸出信號(hào),V為輸入層和隱含層之間的各個(gè)權(quán)值,W為隱含層和輸出層之間的各個(gè)權(quán)值;因此可以將神經(jīng)網(wǎng)絡(luò)看作一個(gè)非線性函數(shù);網(wǎng)絡(luò)中的輸入層輸入的變量和輸出 層輸出的變量分別為該函數(shù)的自變量和因變量,從而形成一個(gè)函數(shù)映射[6]。這里正是利用神經(jīng)網(wǎng)絡(luò)的這種特性,在已知影響紅酒質(zhì)量的主要影響因素下,通過多次網(wǎng)絡(luò)訓(xùn)練以確定這些因素與紅酒質(zhì)量之間的內(nèi)在復(fù)雜關(guān)系。這種復(fù)雜關(guān)系通過訓(xùn)練出的權(quán)值和閾值來反映,正是基于得到的權(quán)值和閾值進(jìn)行紅酒質(zhì)量的快速分類。
然而BP神經(jīng)網(wǎng)絡(luò)在應(yīng)用過程中存在一些缺陷:其一初始權(quán)值和閾值是隨機(jī)生成,易陷入局部最優(yōu),影響訓(xùn)練效果;其二學(xué)習(xí)率無法確定,如果學(xué)習(xí)率過大,則達(dá)不到所需要的訓(xùn)練精度,而學(xué)習(xí)率過小,又使訓(xùn)練過程減慢,收斂速度放緩。針對(duì)這些問題,這里對(duì)其進(jìn)行了以下改進(jìn):1)使用遺傳算法尋優(yōu)優(yōu)秀的權(quán)值和閾值,以防止權(quán)值和閾值隨機(jī)生成易陷入局部最優(yōu)。2)對(duì)原有的固定學(xué)習(xí)率進(jìn)行相應(yīng)改進(jìn),改用自適應(yīng)學(xué)習(xí)率以提高學(xué)習(xí)效率。
1.2遺傳算法基本原理及改進(jìn)
遺傳算法是一種借鑒自然界中適者生存、優(yōu)勝劣汰的進(jìn)化機(jī)制演化而來的高度并行、隨機(jī)、自適應(yīng)搜索算法[7],目前已經(jīng)被人們廣泛地應(yīng)用于組合優(yōu)化、機(jī)器學(xué)習(xí)、自適應(yīng)控制和人工生命等諸多領(lǐng)域,是現(xiàn)代智能計(jì)算中的關(guān)鍵技術(shù)之一[8]。
遺傳算法中,首先對(duì)所優(yōu)化參數(shù)進(jìn)行二進(jìn)制或多進(jìn)制編碼,隨機(jī)產(chǎn)生n個(gè)初始種群。然后根據(jù)種群擇優(yōu)的目標(biāo)方向確定種群的適應(yīng)度函數(shù),常用適應(yīng)度函數(shù)如下面公式(1)(這里m為種群規(guī)模,x為遺傳算法中反饋給選擇函數(shù)的某個(gè)參數(shù))所示,再用輪盤法進(jìn)行選擇。這里對(duì)適應(yīng)度函數(shù)中的參數(shù)進(jìn)行了改進(jìn)。計(jì)算公式如(2),式中的n可以根據(jù)遺傳算法擇優(yōu)的方向進(jìn)行設(shè)定,其目的主要是克服當(dāng)染色體較多且各個(gè)染色體在種群中所占比例不大時(shí)擴(kuò)大各個(gè)染色體的差距以加快尋優(yōu)進(jìn)程。
(1)
(2)
交叉操作指對(duì)兩個(gè)染色體相互交換部分基因,是產(chǎn)生新個(gè)體的重要方法,決定了GA的全局收索能力。這里由于染色體長(zhǎng)度較長(zhǎng),故采用多點(diǎn)交叉,這里取三點(diǎn)交叉[11]。交叉模型如下。
交叉前的編碼為:
M:x1,x2…xi,xi+1…xj,xj+1…xk,xk+1…xm
N:y1,y2…yi,yi+1…yj,yj+1…yk,yk+1…ym
交叉后的編碼為:
M:x1,x2…xi,yi+1…yj,xj+1…xk,yk+1…ym
N:y1,y2…yi,xi+1…xj,yj+1…yk,xk+1…xm
變異操作指對(duì)染色體中的某些基因進(jìn)行變異操作,是產(chǎn)生新個(gè)體的重要方法,決定了GA的全局收索能力。變異基因的個(gè)數(shù)如公式(3)(Nc,Ng分別為染色體數(shù)和每條染色體的基因數(shù),m為變異概率)。
(3)
這里為了加快進(jìn)化速度,對(duì)常規(guī)的交叉和變異操作進(jìn)行了一定的改動(dòng)。其一,引入免疫遺傳算法中免疫記憶機(jī)制,對(duì)優(yōu)秀的個(gè)體進(jìn)行保護(hù),不進(jìn)行變異和交叉操作。以加快尋優(yōu)速度。其二,改變以往變異過程中變異概率不變的特性,這里在對(duì)適應(yīng)度排序在后%30的個(gè)體進(jìn)行標(biāo)記的基礎(chǔ)上,對(duì)其以更高的概率進(jìn)行變異操作,促進(jìn)更優(yōu)個(gè)體的出現(xiàn),加快進(jìn)化進(jìn)程。其三,由于染色體長(zhǎng)度較長(zhǎng),采用多點(diǎn)交叉,以產(chǎn)生優(yōu)秀個(gè)體。
實(shí)驗(yàn)數(shù)據(jù)為一紅酒品牌多種物理化學(xué)參數(shù),主要參數(shù)有揮發(fā)性酸、殘留糖、鹵化物、PH值、酒精度、密度、硫酸鹽、總硫量這八種參數(shù)作為紅酒分類的主要參考指標(biāo),并根據(jù)這些參數(shù)將紅酒分為三大類。又因?yàn)楦骶S數(shù)據(jù)的量級(jí)上存在很大差異,因此這里對(duì)每列數(shù)據(jù)進(jìn)行歸一化處理。處理方式如公式(4)(式中tmin為每列的最小值,tmax為每列的最大值,t為要?dú)w一化的數(shù)值):
(4)
表1 實(shí)驗(yàn)數(shù)據(jù)的基本特征
3.1構(gòu)建神經(jīng)網(wǎng)絡(luò)的模型
因?yàn)榧t酒分類中的主要參考指標(biāo)有八項(xiàng),故這里的神經(jīng)網(wǎng)絡(luò)輸入端口為8個(gè),而又分為三大類,所以這里的輸出端口為3個(gè)。在隱含層節(jié)點(diǎn)數(shù)目確定上采取試錯(cuò)法,發(fā)現(xiàn)當(dāng)隱層節(jié)點(diǎn)數(shù)為21時(shí),神經(jīng)網(wǎng)絡(luò)對(duì)該數(shù)據(jù)的分類效果最好。故這里選取的隱層節(jié)點(diǎn)數(shù)為21。因此此神經(jīng)網(wǎng)絡(luò)的基本模型為8-21-3,且隱含層和輸出層的傳遞函數(shù)都取s函數(shù)。
3.2遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程
BP神經(jīng)網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)初始權(quán)值和閾值的依賴性比較強(qiáng),以往大多隨機(jī)選取,很容易陷入局部最優(yōu)。而遺傳算法是一種全局優(yōu)化的自適用概率搜索算法,可以得到全局最優(yōu)[9-12]。用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化尋優(yōu)。在此基礎(chǔ)上進(jìn)行自適應(yīng)學(xué)習(xí)率的學(xué)習(xí),以提高學(xué)習(xí)效率,基本流程圖如圖2所示。
圖2 遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)流程圖
3.3BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的優(yōu)化的具體過程
步驟如下:
1)這里為了解碼的方便,使用實(shí)數(shù)編碼。隨機(jī)生成20條實(shí)數(shù)染色體,每個(gè)染色體的長(zhǎng)度使用公式(5)計(jì)算。式中Ni,Nh,NO分別為輸入層節(jié)點(diǎn)數(shù),隱層節(jié)點(diǎn)數(shù),輸出層節(jié)點(diǎn)數(shù)。
(5)
2)將得到的染色體的權(quán)值和閾值代入神經(jīng)網(wǎng)絡(luò)中,得出每個(gè)染色體對(duì)應(yīng)的均方差。
3)將得到的均方差代入上面的公式(1)和公式(2)進(jìn)行選擇操作,這里因?yàn)閭€(gè)染色體帶來的均方差差別不大,且染色體數(shù)量校多,因此公式(2)中的n取-6,以拉大各個(gè)染色體的差距,加快進(jìn)化進(jìn)程。
4)對(duì)選出的染色體進(jìn)行上述改進(jìn)后的遺傳操作,主要為標(biāo)記優(yōu)秀個(gè)體和適應(yīng)度排序靠后的6個(gè)個(gè)體。同時(shí)交叉概率都取0.7,并進(jìn)行三點(diǎn)交叉。變異概率取0.25和0.6分別對(duì)應(yīng)優(yōu)秀個(gè)體變異和較差個(gè)體的變異過程。
5)返回步驟2,重復(fù)多次,直到均方差收斂,得到一組合理的權(quán)值和閾值,將其帶入后續(xù)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
3.4學(xué)習(xí)率的影響及改進(jìn)
進(jìn)行神經(jīng)網(wǎng)絡(luò)的傳統(tǒng)訓(xùn)練以對(duì)各個(gè)權(quán)值和閾值進(jìn)行細(xì)化調(diào)整。參考文獻(xiàn)中大多只是使用常規(guī)神經(jīng)網(wǎng)絡(luò)訓(xùn)練,即學(xué)習(xí)率不變。然而學(xué)習(xí)率將決定各個(gè)權(quán)值和閾值的調(diào)整姿態(tài)和變化速度,對(duì)訓(xùn)練過程有很大影響。但具體取大小又很難確定。表2反應(yīng)了不同學(xué)習(xí)率對(duì)該數(shù)據(jù)預(yù)測(cè)結(jié)果的影響?;丝紤]使用自適應(yīng)學(xué)習(xí)率。具體為當(dāng)均方差變小時(shí),使用公式(6)對(duì)學(xué)習(xí)率調(diào)大。當(dāng)均方差變大時(shí),使用公式(7)對(duì)學(xué)習(xí)率調(diào)小。從而克服學(xué)習(xí)率難確定的難題。
(6)
(7)
表2 不同固定學(xué)習(xí)率的分類效果對(duì)比
從所采集的數(shù)據(jù)中隨機(jī)抽選139組作為訓(xùn)練數(shù)據(jù),120組作為測(cè)試數(shù)據(jù)。分別用普通神經(jīng)網(wǎng)絡(luò)和優(yōu)化后的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,根據(jù)其訓(xùn)練過程的均方差值得到其收斂圖。分別如圖3和圖4,對(duì)比發(fā)現(xiàn)優(yōu)化后的神經(jīng)網(wǎng)絡(luò)收斂速度更快,收斂效果更好。而表三則反映了對(duì)該紅酒的分類正確率,這里為了對(duì)比的科學(xué)性,表三中的數(shù)據(jù)是進(jìn)行100次訓(xùn)練測(cè)試后的平均值??梢钥闯鰞?yōu)化后的神經(jīng)網(wǎng)絡(luò)分類效果明顯。
圖3 常規(guī)神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂效果
圖4 優(yōu)化后神經(jīng)網(wǎng)絡(luò)收斂效果
性能BPGA-BP類別一的正確率76.31%84.66%類別二的正確率77.79%88.19%類別三的正確率80.92%90.35%
神經(jīng)網(wǎng)絡(luò)作為當(dāng)代較為流行的一種智能算法,以其對(duì)非線性系統(tǒng)的優(yōu)越處理能力得到廣泛應(yīng)用,但也存在一些缺陷。這里在使用改進(jìn)的遺傳算法對(duì)其進(jìn)行優(yōu)化的基礎(chǔ)上,通過對(duì)所采集的紅酒各指標(biāo)進(jìn)行人工智能學(xué)習(xí),然后應(yīng)用于紅酒質(zhì)量分類。實(shí)驗(yàn)結(jié)果表明,分類效果顯著。但分類正確率還有待提高,在今后的研究中,將適當(dāng)調(diào)整諸如隱層節(jié)點(diǎn)數(shù)、變異率、交叉率等參數(shù),以提高分類正確率。同時(shí),該理論與傳感器陣列結(jié)合,可以應(yīng)用于其他食品加工行業(yè)的食品質(zhì)量智能檢測(cè),對(duì)一些食品加工企業(yè)具有一定的實(shí)際意義。
[1]許兆美,周建忠,黃舒,等.基于遺傳算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)的激光銑層質(zhì)量預(yù)測(cè)[J].中國激光,2013,40(6):0603004-1-0603004-5.
[2] 李琳,趙謀明.人工神經(jīng)網(wǎng)絡(luò)在食品工業(yè)中的應(yīng)用[J].食品研究與開發(fā),2005,26(1):13-16.
[3] 殷勇,田先亮.酒品質(zhì)量穩(wěn)定性的神經(jīng)網(wǎng)絡(luò)鑒別方法研究[J].食品科學(xué),2005,26(11):210-212.
[4] 崔明月,劉旭焱,劉紅釗,等.基于神經(jīng)網(wǎng)絡(luò)—遺傳算法的雙層隔振系統(tǒng)復(fù)合振動(dòng)控制[J].實(shí)驗(yàn)室研究與探索,2014,33(7):115-119.
[5] 張國翊,胡錚.改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型及其穩(wěn)定性分析[J].中南大學(xué)學(xué)報(bào),2011,42(1):115-124.
[6] 王小川,史峰,郁磊,等.MATLAB神經(jīng)網(wǎng)絡(luò)43個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2013.
[7] Kumar S, Naresh R. Efficient real coded genetic algorithm to solve the non-convex hydrothermal scheduling problem [J].International Journal of Electrical Power and Energy Systems, 2007,29(10): 738-747.
[8] 盧建中,程浩.改進(jìn)GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流預(yù)測(cè)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,38(1):127-131.[9] Xie S C, Zhou H, Zhao J J, et al. Energy-absorption forecast of thin-walled structure by GA-BP hybrid algorithm [J].Journal of Central South University, 2013,(20): 1122-1128.
[10] 吳吉賢,杜海燕.基于遺傳算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型在GPS高程擬合中的應(yīng)用研究[J].工程勘察,2014,(3):73-77.
[11]Yu S W, Guo X F, Zhu K J, et al. A neuro-fuzzy GA-BP method of seismic reservoir fuzzy rules extraction[J].Expert Systems With Applications,2009,37(3): 2037-2042.
[12] Li H, Hu C X, Li Y. Application of the Purification of Materials Based on GA-BP[J]. Energy Procedia ,2012(17):762-769.
Improved GA-BP Network Used to Wine Quality Classification
Bi Yanliang,Ning Qian,Lei Yinjie,Wang Wei
(College of Electronics and Information Engineering, Sichuan University,Chengdu610065,China)
In the past, the quality of red wine classification process is complex and inefficient.So it’s necessary to study a highly efficient and reliable classification method.Here,on the basis of determination of various physical and chemical composition, using the theory of artificial intelligence to construct classification model.Implementation of the efficiency of the wine quality classifying.We also improve the conventional neural network.The results show that the improved neural network work with high efficiency.It have positive practical reference value to processing enterprises.
BP neural network;genetic algorithm;red wine;classification
2015-07-14;
2015-08-27。
國家自然科學(xué)基金項(xiàng)目(61403265)。
畢艷亮(1990-),男,安徽阜陽人,碩士,主要從事智能控制方向的研究。
寧芊(1969-),女,副教授,博士,主要從事模式識(shí)別與智能控制方向的研究。
1671-4598(2016)01-0226-03
10.16526/j.cnki.11-4762/tp.2016.01.062
TP183
A