張曉俠, 劉鳳坤, 買 巍, 馬崇啟
(1. 天津工業(yè)大學(xué) 紡織科學(xué)與工程學(xué)院, 天津 300387; 2. 中國紡織信息中心, 北京 100020)
新時代我國經(jīng)濟發(fā)展的基本特征是由高速增長階段轉(zhuǎn)向高質(zhì)量發(fā)展階段。為響應(yīng)國家號召,與我國經(jīng)濟發(fā)展相協(xié)調(diào),提高產(chǎn)業(yè)經(jīng)濟效益,紡織行業(yè)也需要進行一定的結(jié)構(gòu)調(diào)整。紡織業(yè)尤其是織造環(huán)節(jié),提高織機效率是最有效地提高織造效益的措施,也一直是業(yè)內(nèi)人士亟待解決的問題。BP神經(jīng)網(wǎng)絡(luò)在紡織領(lǐng)域不僅應(yīng)用在原棉顏色分級、纖維識別、紗線和織物性能等的預(yù)測方面,在非織造布和針織物含水率、含油率預(yù)測等方面也有所應(yīng)用[1-2]。
盡管國內(nèi)外將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于紡織領(lǐng)域的技術(shù)已經(jīng)相當廣泛,人工神經(jīng)網(wǎng)絡(luò)的理論基礎(chǔ)也很成熟,但將神經(jīng)網(wǎng)絡(luò)用于預(yù)測織機效率在國內(nèi)外研究還較少,這也是神經(jīng)網(wǎng)絡(luò)技術(shù)在織機生產(chǎn)狀況預(yù)測領(lǐng)域的空缺。為此,本文應(yīng)用BP神經(jīng)網(wǎng)絡(luò)建立織機效率預(yù)測模型,但BP神經(jīng)網(wǎng)絡(luò)存在收斂速度慢的問題,因此提出利用主成分分析先將眾多輸入?yún)?shù)進行降維,減少變量的個數(shù),再結(jié)合BP神經(jīng)網(wǎng)絡(luò)(PCA-BP)進行織機效率的預(yù)測;BP神經(jīng)網(wǎng)絡(luò)存在易陷入局部最優(yōu)的缺點,而遺傳算法具有高效性、容錯能力強和全局搜索性等特點,因此利用遺傳算法改進BP神經(jīng)網(wǎng)絡(luò)(GA-BP)預(yù)測織機效率,克服BP神經(jīng)網(wǎng)絡(luò)尋優(yōu)時的不足,避免局部收斂的情況;并對BP神經(jīng)網(wǎng)絡(luò)、PCA-BP和GA-BP預(yù)測模型的預(yù)測結(jié)果進行對比分析。
在紡織品生產(chǎn)加工過程中,織造生產(chǎn)的經(jīng)濟效益主要體現(xiàn)在織造的質(zhì)量和織機效率上,而影響織機效率最關(guān)鍵的因素就是經(jīng)、緯向停車[3]。經(jīng)緯紗的線密度、經(jīng)緯密、織物組織等因素對經(jīng)停、緯停有較大影響。另外,大多數(shù)經(jīng)紗都需要經(jīng)過漿紗工序,漿紗質(zhì)量的好壞對織造過程中經(jīng)紗斷頭有最直接的影響,同時,合理的上漿率也會使織造效率最優(yōu)。由于同一紡織廠中,紗線品種相對固定,用紗穩(wěn)定,且同一紗支的紗線在單紗強力、強度不勻以及毛羽等方面基本一致,故原則上將紗線質(zhì)量參數(shù)視為不變量。
根據(jù)以上分析,本文選擇了經(jīng)向緊度、緯向緊度(由經(jīng)紗線密度、緯紗線密度、經(jīng)密、緯密換算得到)、平均浮長(由織物組織換算得到)、上漿率以及漿料配方等因素作為輸入?yún)?shù)。由于各因素之間量綱和數(shù)量級不同,因此,在訓(xùn)練之前需將所有輸入?yún)?shù)進行歸一化處理,公式為
(1)
式中:pn為歸一化之后的值;p為樣本值;pmin、pmax分別為樣本值所在列的最小值和最大值。
本文以山東某紡織廠采集到的164組數(shù)據(jù)建模,其中任意選擇146組用來訓(xùn)練,剩余18組數(shù)據(jù)用來驗證。
輸入?yún)?shù)為經(jīng)向緊度(x1)、緯向緊度(x2)、平均浮長(x3)、漿料1~8(x4~x11)以及上漿率(x12)。輸出參數(shù)為十萬緯經(jīng)停(Y1)和織機效率(Y2)。網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)Fig.1 Network topology
理論上3層網(wǎng)絡(luò)可任意逼近非線性的函數(shù),所以設(shè)置一個隱含層[4-5]。隱含層節(jié)點數(shù)根據(jù)式(2)和(3) 進行計算[6-8]:
(2)
(3)
式中:m為輸入層節(jié)點數(shù);n為輸出層節(jié)點數(shù);s為隱含層節(jié)點數(shù);k為1~10之間的整數(shù)。
首先,由式(2)求得隱含層節(jié)點數(shù)為7;由式(3)計算得出隱含層節(jié)點數(shù)范圍為5~14。為保證網(wǎng)絡(luò)運行時的準確性,將計算出的隱含層節(jié)點數(shù)逐個進行仿真試驗,觀察試驗相關(guān)系數(shù)R值[4]。不同隱含層節(jié)點數(shù)所對應(yīng)R值如圖2所示。
圖2 不同隱含層節(jié)點數(shù)對應(yīng)R值Fig.2 R corresponding to number of nodes in different hidden layers
由圖2可以看出,當隱含層節(jié)點數(shù)為13時,R值最大,說明此時的擬合度最高,因此確定隱含層節(jié)點數(shù)為13。通過以上分析可建立一個網(wǎng)絡(luò)結(jié)構(gòu)為12-13-2的BP神經(jīng)網(wǎng)絡(luò)模型。
輸入層傳遞函數(shù)為tansig,隱含層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為purelin,模型訓(xùn)練函數(shù)為trainbfg。訓(xùn)練步長為10 000;目標誤差設(shè)置為0.000 1; 學(xué)習效率設(shè)置為0.01。
主成分分析(PCA)是一種多元統(tǒng)計分析方法。本文利用主成分分析對影響織機效率的因素進行主成分提取,獲得幾個互不相關(guān)的綜合變量成分,目的是降低原始變量的維數(shù)以及變量之間的相關(guān)性;然后再結(jié)合BP神經(jīng)網(wǎng)絡(luò)建立織機效率預(yù)測模型[9]。主要步驟為:第1步,先將原數(shù)據(jù)進行標準化;第2步, 相關(guān)性分析,然后進行初始變量相關(guān)性檢驗;第3步, 根據(jù)總方差解釋表確定主成分的個數(shù);第4 步,根據(jù)成分矩陣計算變量相關(guān)系數(shù),最終確定主成分表達式[10]。
經(jīng)過主成分分析得到4個主成分:
(4)
(5)
(6)
(7)
式中:zx1,zx2,…,zxu為原變量經(jīng)過標準化處理之后的值。
遺傳算法(GA)是通過模擬自然界進化過程來搜索最優(yōu)解,根據(jù)適應(yīng)度函數(shù)對個體進行數(shù)值評價,其生物學(xué)原理是達爾文適者生存、優(yōu)勝劣汰,并仿照遺傳學(xué)方法對個體進行選擇、交叉、變異等操作來更新種群,優(yōu)化種群[11-13]。
傳統(tǒng)的遺傳算法染色體編碼都是采用二進制編碼,由于自變量多、染色體長度長,導(dǎo)致運算過程較復(fù)雜,易陷入局部最優(yōu)且搜索效率低[14-15]。本文采用實數(shù)編碼,與二進制編碼相比,實數(shù)編碼不僅過程簡單,不易陷入局部極值,還能提高運算精度和速度。
由于遺傳算法搜索的是預(yù)測誤差平方和最小的網(wǎng)絡(luò)閾值和權(quán)值,且遺傳算法只能朝適應(yīng)度函數(shù)值越來越大的方向進化,故選擇均方誤差(MSE) 的倒數(shù)作為適應(yīng)度函數(shù)[14-15]。適應(yīng)度函數(shù)計算公式為:
(8)
式中:f(x)為適應(yīng)度函數(shù);T為期望輸出;O為實際輸出;N為輸入樣本數(shù)。
1)選擇。利用輪盤賭的方法,保留適應(yīng)度高的個體,淘汰適應(yīng)度低的個體,從而不斷接近最優(yōu)解[16]。
2)交叉。選擇2個個體,利用實數(shù)交叉法進行重組,形成2個新個體。
3)變異。隨機選擇染色體,隨機選擇變異位置來改變個體基因,從而形成新個體[17]。
遺傳算法參數(shù)設(shè)定:最大進化代數(shù)為15;種群規(guī)模為30;交叉概率為0.6;變異概率為0.3。模型訓(xùn)練選定了預(yù)測精度高、迭代時間少的Levenberg-Marquardt算法進行。
基于遺傳算法改進BP神經(jīng)網(wǎng)絡(luò)的流程圖如圖3 所示。具體實施步驟為:首先,確定一個BP網(wǎng)絡(luò)結(jié)構(gòu),給定初始權(quán)值、閾值;然后,用遺傳算法對初始值進行編碼形成初始種群;接著,BP訓(xùn)練得到均方誤差,將其取倒數(shù)作為適應(yīng)度值;再進行選擇、交叉、變異等遺傳操作找到最優(yōu)權(quán)值、閾值;最后,進行BP訓(xùn)練得到最優(yōu)結(jié)果。
網(wǎng)絡(luò)仿真在MatLab R2014a環(huán)境下運行,3種模型運行結(jié)果如圖4、5所示。
圖5 3種網(wǎng)絡(luò)仿真輸出值Fig.5 Three network simulation output values.(a)BP neural network output; (b)PCA-BP neural network output; (c) Sufficiency curve of GA-BP
圖3 遺傳算法改進BP神經(jīng)網(wǎng)絡(luò)流程圖Fig.3 Improvement of BP neural network flow chart by genetic algorithms
圖4 GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練、驗證、測試和整體輸出值Fig.4 GA-BP neural network output values of training(a), validation(b), testing(c) and overall(d) data
由圖4中GA-BP訓(xùn)練、驗證、測試以及整體相關(guān)系數(shù)得到訓(xùn)練輸出值(Y)與目標值(T)回歸直線為:Y1=0.946 87T1+0.027。由圖5(a)可知,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練輸出值與目標值之間的相關(guān)系數(shù)為0.889 75,輸出值與目標值的回歸直線為:Y2=0.889 75T2-0.003。由圖5(b)可知,PCA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練輸出值與目標值之間的相關(guān)系數(shù)為0.922 77, 回歸直線為:Y3=0.922 77T3+0.009 2。由圖5(c)GA-BP 神經(jīng)網(wǎng)絡(luò)適應(yīng)度曲線可以看出:進化代數(shù)在 3~4 之間有一個很明顯的梯度變化,說明此時正在進行迭代尋優(yōu);當進化到第4代時,適應(yīng)度值達到最大,此時均方誤差最小,已找到最優(yōu)解。
對3種網(wǎng)絡(luò)預(yù)測模型擬合度進行比較可知:傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的擬合度最差,仿真輸出值與目標值之間的相關(guān)系數(shù)R2僅為0.889 75;經(jīng)過主成分改進的PCA-BP神經(jīng)網(wǎng)絡(luò)擬合度要比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)高3.71%,R3為0.922 77;基于遺傳算法改進的BP神經(jīng)網(wǎng)絡(luò)擬合度最好,R1為0.945 87。GA-BP相關(guān)系數(shù)比傳統(tǒng)BP增加了6.42%,比PCA-BP增了2.61%,因此,3種網(wǎng)絡(luò)中GA-BP神經(jīng)網(wǎng)絡(luò)擬合效果最好,仿真數(shù)據(jù)與原始數(shù)據(jù)最為接近。
計算18個驗證樣本的3種預(yù)測模型在十萬緯經(jīng)停和織機效率仿真輸出值與期望值之間的絕對誤差,公式為
ΔC=|mC-C|
(9)
式中:mC為網(wǎng)絡(luò)仿真輸出值;C為期望值。以每種網(wǎng)絡(luò)仿真輸出值與期望值之間的平均絕對誤差作為評價預(yù)測模型的好壞,其結(jié)果如表1、2所示。
表1 不同網(wǎng)絡(luò)十萬緯經(jīng)停仿真值與期望值間的誤差Tab.1 Error between simulation value and expected value of 100 000 weft warp stop in different networks
表2 不同網(wǎng)絡(luò)織機效率仿真值與期望值間的誤差Tab.2 Error between simulation value and expected value of loom efficiency in different networks
由表1、2得出,3種網(wǎng)絡(luò)十萬緯經(jīng)停仿真值與期望值間的平均誤差分別為0.341 2、0.303 1、0.234 1, 誤差百分率分別為8.63%、7.67%、5.92%,預(yù)測準確度為GA-BP>PCA-BP>BP。不同網(wǎng)絡(luò)結(jié)構(gòu)下織機效率仿真預(yù)測值與期望值間的平均誤差分別為3.010 9、 2.688 4、2.118 9,誤差百分率分別為3.51%、3.13%、2.47%,預(yù)測準確度為GA-BP>PCA-BP>BP。 由此得出結(jié)論,基于遺傳算法改進的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測準確度和精度在3種網(wǎng)絡(luò)模型中是最好的。
本文使用MatLab R2014a軟件編程,利用遺傳算法改進傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)(GA-BP),并與BP和主成分分析結(jié)合BP神經(jīng)網(wǎng)絡(luò)(PCA-BP)預(yù)測模型進行對比分析。運用相同數(shù)據(jù)進行網(wǎng)絡(luò)仿真實驗時,GA-BP神經(jīng)網(wǎng)絡(luò)擬合度最好,相關(guān)系數(shù)達到0.946 87。 GA-BP相比于BP神經(jīng)網(wǎng)絡(luò)和PCA-BP神經(jīng)網(wǎng)絡(luò),十萬緯經(jīng)停和織機效率實測值與期望值間的誤差都降低了,說明GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測準確度和精度在3種網(wǎng)絡(luò)模型中是最好的。
本文通過分析最終選擇了包含經(jīng)向緊度、緯向緊度、平均浮長、漿料配方、上漿率等12個因素為網(wǎng)絡(luò)的輸入?yún)?shù),由于條件限制,所考慮的因素還不夠全面,后期研究可嘗試盡可能考慮更多的因素,如織機上機工藝參數(shù)中的開口時間、經(jīng)紗上機張力、后梁高度等。當積累到較多數(shù)據(jù)樣本后,可將相近線密度和紗線質(zhì)量的產(chǎn)品視為1組,分組進行訓(xùn)練并預(yù)測,以提高網(wǎng)絡(luò)的預(yù)測精度。
FZXB