摘 要:本文簡要介紹了BP神經(jīng)網(wǎng)絡(luò)所用的BP算法,針對BP算法的不足之處,采用粒子群優(yōu)化算法作為BP網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練函數(shù),優(yōu)化BP網(wǎng)絡(luò)的訓(xùn)練速度和精度,建立了基于PSO的BP網(wǎng)絡(luò)模型。同時,將這種優(yōu)化后的BP網(wǎng)絡(luò)模型應(yīng)用于紗線條干CV值預(yù)測技術(shù)中,驗證了該網(wǎng)絡(luò)模型的性能。
關(guān)鍵詞:前饋神經(jīng)網(wǎng)絡(luò);BP算法;粒子群算法;條干CV值
中圖分類號:TS104;TP183 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2019)17-0011-03
Abstract: This paper briefly introduced the BP algorithm used in BP neural network. In view of the shortcomings of BP algorithm, particle swarm optimization (PSO) algorithm was used as the learning and training function of BP network to optimize the training speed and accuracy of BP network, and the BP network model based on PSO was established. The optimized BP network model was applied to predict the CV value of yarn evenness, and the performance of the network model was verified.
Keywords: feedforward neural network;BP Algorithm;particle swarm optimization;CV Value of Yarn Evenness
目前,對大多數(shù)紡織企業(yè)而言,生產(chǎn)一種全新產(chǎn)品,必須要了解其紡紗性能,而這通常需要通過大量的試紡來實現(xiàn)。而大量試紡必然會造成各種資源的浪費(fèi),影響企業(yè)的生產(chǎn)效率,不符合市場對紡織產(chǎn)品生產(chǎn)周期快、產(chǎn)品質(zhì)量優(yōu)的高要求。因此,在實際生產(chǎn)中,需要適時合理地調(diào)整各項工藝參數(shù)和原材料,使得產(chǎn)品質(zhì)量達(dá)到最優(yōu)。而調(diào)整工藝參數(shù)所使用的傳統(tǒng)的計算方法已不能滿足需求。
因此,紡織企業(yè)需要構(gòu)建一套適用性較強(qiáng)并能對紗線品質(zhì)進(jìn)行預(yù)測的模型。以這樣的方式,能使企業(yè)相關(guān)工作人員結(jié)合原棉品質(zhì)指標(biāo)以及相對應(yīng)的生產(chǎn)技術(shù)參數(shù)指標(biāo),對紗線質(zhì)量參數(shù)進(jìn)行有效設(shè)計與修改。這不僅能有效降低生產(chǎn)成本,還可以進(jìn)一步增強(qiáng)紗線品質(zhì)?;诖?,本文設(shè)計了基于粒子群算法(PSO)的BP神經(jīng)網(wǎng)絡(luò)紗線條干CV值預(yù)測模型。同時,通過相對應(yīng)的試驗,分析模型對紗線品質(zhì)的預(yù)測精度,以解決紗線質(zhì)量預(yù)測問題。
1 基于PSO的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法
BP神經(jīng)網(wǎng)絡(luò),又被稱為逆向傳播神經(jīng)網(wǎng)絡(luò),是一種基于誤差反向傳播算法(BP算法)的多層前饋神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)由一個輸入層、若干個隱含層和一個輸出層組成,各層均包含一個或多個神經(jīng)元,相鄰兩層神經(jīng)元之間通過權(quán)值相連接,各層內(nèi)神經(jīng)元之間和各層神經(jīng)元之間均無連接。通過調(diào)整神經(jīng)網(wǎng)絡(luò)中的連接權(quán)值、閾值以及隱含層節(jié)點(diǎn)數(shù),可以以任意精度逼近任何非線性函數(shù),且學(xué)習(xí)算法具有較好的自學(xué)習(xí)功能。
當(dāng)前,應(yīng)用最為廣泛的BP算法,由數(shù)據(jù)流的正向計算和誤差信號的反向計算兩個過程構(gòu)成。在BP網(wǎng)絡(luò)的學(xué)習(xí)過程中,輸入信號正向傳播和誤差信號反向傳播交替進(jìn)行。在正向傳播過程中,輸入信號先傳播到隱含層節(jié)點(diǎn),經(jīng)過傳遞函數(shù)作用后,把隱含層節(jié)點(diǎn)的輸出信息傳播到輸出層節(jié)點(diǎn),再經(jīng)過傳遞函數(shù)作用后得到網(wǎng)絡(luò)的輸出值,然后比較實際輸出值與期望輸出值得到誤差,由網(wǎng)絡(luò)的誤差反向傳播學(xué)習(xí)規(guī)則調(diào)整該網(wǎng)絡(luò)的權(quán)值,減小網(wǎng)絡(luò)的實際輸出值與期望輸出值的誤差。
但是,常規(guī)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,實質(zhì)是一種簡單的最速下降靜態(tài)尋優(yōu)算法,在一定程度上呈現(xiàn)出收斂速度較慢的問題,容易陷入局部最小點(diǎn)等不足[1]。因此,本文采用粒子群優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)所采用的BP算法,把粒子群算法(Particle Swarm Optimization,PSO)與BP算法有效結(jié)合起來,將PSO-BP模型用于紗線條干CV值預(yù)測技術(shù)中。
將PSO作為學(xué)習(xí)算法來優(yōu)化來優(yōu)化神經(jīng)網(wǎng)絡(luò)關(guān)鍵在于以下兩點(diǎn)[2]。
第一,構(gòu)建PSO粒子的維度空間與神經(jīng)網(wǎng)絡(luò)連接權(quán)值之間的映射。粒子群內(nèi)不同的個體粒子維度分量會存在與之相對應(yīng)的神經(jīng)網(wǎng)絡(luò)連接權(quán)值,即神經(jīng)網(wǎng)絡(luò)中有多少連接權(quán)值(其中包括閾值),作為學(xué)習(xí)算法的PSO中的粒子就有多少維[3]。
第二,將神經(jīng)網(wǎng)絡(luò)均方誤差作為PSO的適應(yīng)函數(shù),通過PSO算法強(qiáng)大的搜索功能,使網(wǎng)絡(luò)均方誤差最小化[4]。
假設(shè)神經(jīng)網(wǎng)絡(luò)輸入層有d個神經(jīng)元,隱含層有m個神經(jīng)元,輸出層有n個神經(jīng)元,網(wǎng)絡(luò)共有權(quán)值及閾值,因而基于PSO學(xué)習(xí)算法中的粒子的維度就應(yīng)該為]。
2 試驗
2.1 數(shù)據(jù)收集及預(yù)處理
本文的數(shù)據(jù)來自新疆某棉紡公司的原棉物理性能指標(biāo)及細(xì)紗質(zhì)量指標(biāo),棉紗均在相同的生產(chǎn)條件和設(shè)備上紡紗,數(shù)據(jù)包括原棉纖維質(zhì)量和與之對應(yīng)的成紗質(zhì)量。本文采用原始樣本數(shù)據(jù)45組進(jìn)行訓(xùn)練和檢驗,抽取30組用于網(wǎng)絡(luò)訓(xùn)練,剩余15組用于檢驗。將與紗線質(zhì)量指標(biāo)密切相關(guān)的參數(shù)作為網(wǎng)絡(luò)模型的輸入?yún)?shù),包括原棉七項物理性能指標(biāo):上半部平均長度(Len)、長度整齊度指數(shù)(UNF)、馬克隆值(MIC)、強(qiáng)力(STR)、反射率(Rd)、黃色深度(+b)、棉結(jié)(Neps)。預(yù)測模型的輸出值為紗線的條干CV值。
BP神經(jīng)網(wǎng)絡(luò)在預(yù)測紗線質(zhì)量問題時,由于所測量的數(shù)據(jù)有不同的工程單位,各變量的大小在數(shù)值上差異較大,直接使用原始測量數(shù)據(jù)進(jìn)行計算可能丟失信息和引起數(shù)值計算的不穩(wěn)定[5],所以,利用合適的因子對數(shù)據(jù)進(jìn)行標(biāo)度,以改善算法的精度和穩(wěn)定性。同時,在使用模型進(jìn)行預(yù)測前,需要對相關(guān)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。根據(jù)樣本數(shù)據(jù)的最大值和最小值,將其量化到[-1,1]區(qū)間內(nèi),具體算法是:
式中是待處理數(shù)據(jù);是
在對輸入的樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,要對神經(jīng)網(wǎng)絡(luò)的輸出值進(jìn)行后處理,還原原始量綱[6]。
2.2 網(wǎng)絡(luò)模型的建立及訓(xùn)練
BP成紗質(zhì)量預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)采用多輸入-單輸出結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)有三層,即輸入層、隱含層和輸出層。其中,a為輸入層神經(jīng)元數(shù);[ni]為隱含層單元數(shù);b為輸出層神經(jīng)元數(shù);m為1~10的常數(shù)。在本試驗中,建立[7-ni-1]的神經(jīng)網(wǎng)絡(luò),故a=7,b=1[7]。根據(jù)隱含層單元數(shù)確定公式:
(2)
其中,的取值范圍為4~13。
通過反復(fù)訓(xùn)練,具體參數(shù)設(shè)置如下:目標(biāo)誤差為0.000 1,學(xué)習(xí)速率為0.01,訓(xùn)練循環(huán)次數(shù)為20 000次。隱含層和輸出層的傳遞函數(shù)為tansig。本文使用MATLAB軟件來進(jìn)行神經(jīng)網(wǎng)絡(luò)的創(chuàng)建和訓(xùn)練。
粒子群優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)所采用的BP算法,粒子的維數(shù)是46維,取學(xué)習(xí)因子[種群規(guī)模P=50,進(jìn)化次數(shù),nd()-1初始化種群粒子速度,按0.2*rand()初始化種群粒子位置[8]。
輸出參數(shù)為紗線的條干CV值,建立10個模型,得到不同隱含層單元數(shù)的紗線條干CV值預(yù)測誤差值。當(dāng)隱含層單元數(shù)為11個時,訓(xùn)練誤差最小。因此,紗線的條干CV值預(yù)測模型的結(jié)構(gòu)選定為7-11-1。
2.3 試驗結(jié)果與分析
表1為PSO-BP算法神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果。訓(xùn)練誤差較小的網(wǎng)絡(luò)模型的隱含層單元數(shù)為10~13個,均高于輸入層的單元數(shù)。
表2為PSO-BP成紗條干CV值預(yù)測效果。從表2可知,預(yù)測平均相對誤差值在2%以內(nèi)。
3 結(jié)論
通過基于PSO-BP算法的紗線條干CV值預(yù)測實證研究可知,指標(biāo)實測值與預(yù)測值的相對誤差值較小,預(yù)測平均相對誤差值在2%以內(nèi),相關(guān)系數(shù)達(dá)到0.95以上。可見,PSO-BP網(wǎng)絡(luò)模型對檢驗樣本組的預(yù)測精度較好。
參考文獻(xiàn):
[1]陳欣.游梁式抽油機(jī)智能控制算法的研究[D].上海:上海交通大學(xué),2006.
[2]李惠軍,袁春燕,聶瓊,等.基于改進(jìn)BP人工神經(jīng)網(wǎng)絡(luò)的紗線拉伸性能預(yù)測研究[J].新疆大學(xué)學(xué)報,2011(28):145-147.
[3]張迎霞.短期電子負(fù)荷預(yù)測的神經(jīng)網(wǎng)絡(luò)模型優(yōu)化研究及應(yīng)用[D].北京:華北電力大學(xué),2007.
[4]王瑞琳.基于粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的我國上市公司財務(wù)困境預(yù)警研究[D].開封:河南大學(xué),2008.
[5]艾永冠.基于粒子群優(yōu)化算法的神經(jīng)網(wǎng)絡(luò)在股市預(yù)測中的應(yīng)用[D].合肥:合肥工業(yè)大學(xué),2009.
[6]任濤.ATM網(wǎng)絡(luò)中ABR業(yè)務(wù)流量控制算法研究[D].沈陽:東北大學(xué),2005.
[7]謝德.人工神經(jīng)網(wǎng)絡(luò)在房地產(chǎn)評估中的應(yīng)用研究[D].武漢:武漢大學(xué),2005.
[8]袁曾任.人工神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.