邵景峰,王希堯
(西安工程大學(xué) 管理學(xué)院,陜西 西安 710048)
織物透氣性與其紗線材料的相應(yīng)屬性存在較強(qiáng)的關(guān)聯(lián)性,隨著紗線生產(chǎn)制備工藝越來越復(fù)雜,其紗線指標(biāo)屬性越來越多,導(dǎo)致織物透氣性的各個影響因素之間存在非線性關(guān)系,從而難以達(dá)到精準(zhǔn)預(yù)測[1-2]。
國外學(xué)者對于織物透氣性預(yù)測的研究主要體現(xiàn)在神經(jīng)網(wǎng)絡(luò)法和回歸分析法方面,得到了織物物理屬性與織物透氣性對應(yīng)關(guān)系,并建立了相應(yīng)的回歸模型,實(shí)現(xiàn)織物透氣性的預(yù)測。ERENLER 等[3]使用4層BP神經(jīng)網(wǎng)絡(luò),其中每個隱層網(wǎng)絡(luò)包含5個神經(jīng)元,在回歸程度為R=0.993 66的情況下,對織物的透氣性得到較好的預(yù)測,但是模型存在訓(xùn)練時(shí)間過長的問題;MATUSIAK[4]在其建立的多個預(yù)測模型中,其中每個隱層網(wǎng)絡(luò)分別包含2、3和4個神經(jīng)元,最后得到的4個模型分別適合不同材料的透氣性預(yù)測,但其模型泛化能力不足;?ELIK[5]建立了織物組織結(jié)構(gòu)與其透氣性之間聯(lián)系,并得到織物厚度與孔隙率間存在強(qiáng)烈的正相關(guān)關(guān)系。結(jié)果表明,孔隙率的增加彌補(bǔ)了織物厚度對織物透氣性的負(fù)面影響;AFZAL等[6]運(yùn)用統(tǒng)計(jì)回歸模型,研究探討了織物毛圈長度、面密度、厚度與透氣性能之間的對應(yīng)關(guān)系,運(yùn)用靈敏度分析定量解釋了各個因素對透氣性的影響,得到毛圈長度是最主要的影響因素。
在我國,眾多學(xué)者利用神經(jīng)網(wǎng)絡(luò)法、灰色系統(tǒng)理論、因子分析法和主成分分析法等方法來探索織物透氣性預(yù)測。徐廣標(biāo)等[7]構(gòu)建了織物透氣性能與織物結(jié)構(gòu)參數(shù)之間的3層BP神經(jīng)網(wǎng)絡(luò),將織物透氣量的預(yù)測誤差率控制在3.0%~ 24.2%。黃紫娟等[8]通過測試8種毛織物的結(jié)構(gòu)參數(shù)與透氣性能應(yīng)用灰色系統(tǒng)理論,通過線性回歸模型對毛織物透氣量與其主要影響因素進(jìn)行定量分析,得到織物的經(jīng)向密度和緯向密度與透氣量均呈負(fù)線性相關(guān)。佐同林等[9]采用因子分析方法對20種精紡毛織物的 12個與透氣性密切相關(guān)的結(jié)構(gòu)參數(shù)進(jìn)行優(yōu)化提取,得到12個結(jié)構(gòu)參數(shù)可以綜合成4個因子變量,雖取得了降維效果但并沒有明確得到織物參數(shù)與透氣性的相關(guān)關(guān)系。佐同林等[10]利用主成分分析方法對織物基本結(jié)構(gòu)參數(shù)進(jìn)行降維處理,得到4個互相獨(dú)立的主成分。以主成分為自變量,透氣性為因變量,采用回歸分析的方法建立了透氣性與提取主成分的關(guān)系模型。
通過文獻(xiàn)回顧發(fā)現(xiàn),國內(nèi)外學(xué)者研究了織物物理屬性與織物透氣性對應(yīng)關(guān)系,并建立了相應(yīng)的回歸模型,實(shí)現(xiàn)織物透氣性的預(yù)測,但都存在訓(xùn)練時(shí)間過長、樣本量需求較高等問題。其中原因在于:一方面,采用神經(jīng)網(wǎng)絡(luò)方法當(dāng)訓(xùn)練樣本數(shù)較少時(shí),容易陷入局部最優(yōu)解,導(dǎo)致模型泛化性能不足。另一方面,由于實(shí)際一個變量受多因素綜合影響,回歸分析法不能給出具體的預(yù)測模型,導(dǎo)致因子的多樣性和某些因子的不可測性。針對上述問題,本文將采用支持向量機(jī)(SVM)算法,構(gòu)建織物的結(jié)構(gòu)參數(shù)與織物透氣性能的SVM模型,從而達(dá)到對織物的透氣量進(jìn)行預(yù)測與評價(jià)的目的。
現(xiàn)有的支持向量機(jī)預(yù)測流程圖如圖1所示,本文研究在數(shù)據(jù)收集階段,實(shí)驗(yàn)數(shù)據(jù)來自文獻(xiàn)[7]。在收集到足夠有效的數(shù)據(jù)基礎(chǔ)上,選取適當(dāng)?shù)妮斎肱c輸出指標(biāo)。在劃分訓(xùn)練集與測試集階段,利用實(shí)驗(yàn)所用的34組試樣,隨機(jī)選擇27組作為訓(xùn)練樣本,剩下的7組作為預(yù)測樣本。在預(yù)處理階段,為避免量綱對實(shí)驗(yàn)結(jié)果的影響,消除不同變量取值范圍間的巨大懸殊,對試樣中數(shù)據(jù)做標(biāo)準(zhǔn)化歸一化預(yù)處理。并選擇合適的核函數(shù),對關(guān)鍵參數(shù)(C,σ)進(jìn)行初始化。最后將訓(xùn)練樣本輸入支持向量機(jī),通過對SVM模型的多次迭代訓(xùn)練下完成對模型關(guān)鍵參數(shù)的調(diào)優(yōu)。根據(jù)測試集表現(xiàn)的預(yù)測結(jié)果,對模型的建模過程和訓(xùn)練進(jìn)行優(yōu)化修改,最終得到預(yù)測精度穩(wěn)定且高效的SVM模型,使其對預(yù)測精紡毛織物材料透氣性具有合理性與可行性。
圖1 精紡毛織物透氣性能預(yù)測流程圖
支持向量機(jī)算法相比于BP神經(jīng)網(wǎng)絡(luò)法和因子分析法、主成分分析法等回歸分析法,其可以在較少的樣本量和復(fù)雜的模型下,尋找到最佳學(xué)習(xí)能力,從而獲得最好的泛化能力,它能保證找到的極值解是全局最優(yōu)解而非局部最小值[11]。
SVM可作為一個特殊的BP神經(jīng)網(wǎng)絡(luò),它可以自適應(yīng)地選擇中間層的神經(jīng)元個數(shù)以及學(xué)習(xí)步長,不僅克服了一般BP神經(jīng)網(wǎng)絡(luò)憑借經(jīng)驗(yàn)選取中間層神經(jīng)元個數(shù)及步長的缺點(diǎn),而且避免了基于梯度下降法所固有的局域最小[12]。其基本結(jié)構(gòu)如圖2 所示。
圖2 SVM的結(jié)構(gòu)示意圖
在SVM函數(shù)擬合中,本文模型的為f(x),輸入為x,模型可表示為
f(x)=ω·φ(x)+b
(1)
式中:x為織物密度、紗線直徑等輸入特征向量;f(x)為精紡毛織物透氣量;φ(x)為映射到高維特征空間的非線性函數(shù);ω為超平面的權(quán)重向量;b為最優(yōu)超平面偏移量,即此回歸模型的偏置系數(shù)。
因?yàn)閿?shù)據(jù)的線性不可分性,需要通過優(yōu)化軟間隔和增加松弛變量的方法來實(shí)現(xiàn)。目標(biāo)函數(shù)式(1)可轉(zhuǎn)化為求解式(2)的凸約束條件下的2次凸規(guī)劃問題:
(2)
滿足約束條件:
式中:ε為允許的精度參數(shù);C為懲罰因子一般為正數(shù),表示結(jié)果超出樣本誤差時(shí)的懲罰程度;ξi和ξi*為松弛變量,確保式(2)在更大的可行域內(nèi)有解。
織物密度、紗線直徑等輸入特征向量xi被φ(x)映射到一個高維特征空間后,SVM算法將在這個高維特征空間中找到一個函數(shù)間隔最大的線性超平面來對數(shù)據(jù)進(jìn)行分類。
為求解變量式(1)ω和b的最優(yōu)解。引入核函數(shù)K(x,y),本文選取徑向基函數(shù)作為核函數(shù):
(3)
根據(jù)KKT定理,可得回歸函數(shù)的表達(dá)式為
(4)
偏置系數(shù)b可按下式計(jì)算:
(5)
織物透氣性作為人體衣著舒適性的重要指標(biāo)之一,其處在多因素相互耦合作用下。織物和紗線的多個參數(shù)屬性都會對織物透氣性能產(chǎn)生影響。
織物的透氣性表示在一定壓差下通過織物后氣流的速度,與織物的舒適性密切相關(guān)。織物的透氣性直接取決于織物間空隙的規(guī)格與數(shù)量,而這又與紗線纖維的幾何結(jié)構(gòu)密切有關(guān)。一般情況下,紗線越粗、織物厚度越小、織物的透氣性越大;線密度相同的織物中,隨著經(jīng)緯向密度的增加,織物的透氣性會降低;異形截面纖維織物的透氣性要明顯優(yōu)于圓形截面纖維織物[13]。
基于此,從織物參數(shù)、紗線性能等方面,選取織物密度(根/(10 cm))、紗線直徑(mm)、平均浮長、面密度(g/m2)、總緊度(%)、特質(zhì)捻系數(shù)、空隙透氣量(L/m2·s)、纖維平均直徑(μm)作為輸入特征向量,即X=(x1,x2,x3,x4,x5,x6,x7,x8)8個指標(biāo)作為SVM預(yù)測模型的輸入指標(biāo),選取輸出特征向量Y=(y)即織物透氣量作為SVM預(yù)測模型的輸出指標(biāo)。
2.2.1 數(shù)據(jù)標(biāo)準(zhǔn)化處理
根據(jù)2.1節(jié)的輸入輸出指標(biāo)選取,因具有不同的量綱和數(shù)量級,如果直接將原始指標(biāo)值進(jìn)行帶入模型分析,數(shù)值較高的指標(biāo)在綜合分析中的作用將會掩蓋住相對削弱數(shù)值水平較低指標(biāo)的作用。因此,為了保證實(shí)驗(yàn)結(jié)果的可靠與準(zhǔn)確,對原始輸入輸出指標(biāo)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。
(6)
式中:max(X)為數(shù)據(jù)集中的最大值;min(X)為數(shù)據(jù)集中的最小值。
通過對數(shù)據(jù)的標(biāo)準(zhǔn)化處理后,將訓(xùn)練好對的數(shù)據(jù)映射到區(qū)間[0,1],再進(jìn)行后續(xù)的測評預(yù)測,以達(dá)到提升模型的預(yù)測精度的效果。
2.2.2 回歸模型的關(guān)鍵參數(shù)
SVM回歸模型的預(yù)測精度取決于其模型核函數(shù)選擇及其參數(shù)設(shè)置。本文所建立的SVM模型有2項(xiàng)關(guān)鍵參數(shù):懲罰因子C和核函數(shù)σ。其中C用來控制SVM回歸的擬合誤差,當(dāng)C值越大時(shí)擬合誤差就會越小,模型訓(xùn)練時(shí)間也就越長,但是過大的σ會導(dǎo)致過擬合現(xiàn)象的出現(xiàn)。σ是徑向基核函數(shù)(RBF)的核參數(shù),表示該核函數(shù)的寬度、核函數(shù)、映射函數(shù)和特征子空間是相互一一對應(yīng)的,核函數(shù)確定的同時(shí)相應(yīng)的映射函數(shù)和特征子空間也隨之確定。特征子空間的維數(shù)表示在此空間中能夠構(gòu)造的最優(yōu)分類面和最大VC維,即是最優(yōu)分類面所達(dá)到的最小分類誤差。當(dāng)σ越小時(shí),擬合誤差越小,模型訓(xùn)練時(shí)間也就變長。但是,σ過小會過擬合現(xiàn)象的出現(xiàn)難以避免。所以,訓(xùn)練模型中的懲罰因子C和核函數(shù)σ選擇是十分重要的。
2.2.3 基于SVM的回歸預(yù)測模型
根據(jù)2.2對于算法的闡述,最終確立的模型如下:
(7)
2.2.4 回歸模型訓(xùn)練與測試
對歸一化后數(shù)據(jù)代入基于SVM的精紡毛織物透氣性預(yù)測模型進(jìn)行訓(xùn)練和測試。實(shí)驗(yàn)試樣為34組,隨機(jī)選擇27組作為訓(xùn)練樣本,剩下的7組作為預(yù)測樣本。在訓(xùn)練過程中,對所闡述的關(guān)鍵參數(shù)采用網(wǎng)格搜索法與交叉驗(yàn)證法確定最優(yōu)參數(shù)[14]。
在得到訓(xùn)練好的精紡毛織物透氣性能預(yù)測模型后,利用測試集數(shù)據(jù)得到預(yù)測結(jié)果,通過不同的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集比例評定模型的泛化性能。并與BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對比分析,比較2個模型預(yù)測精度。
在Windows7操作系統(tǒng)下,利用Eclipse、Anaconda、Pydev軟件搭建實(shí)驗(yàn)仿真平臺,對基于SVM的精紡毛織物透氣性能預(yù)測模型進(jìn)行仿真實(shí)驗(yàn)。為了驗(yàn)證模型預(yù)測的泛化性,采用相同的數(shù)據(jù)集合優(yōu)化參數(shù),分別對不同的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集比例進(jìn)行訓(xùn)練的測試。為了驗(yàn)證模型預(yù)測的準(zhǔn)確性,采用相同的數(shù)據(jù)集分別對基于SVM和基于BP神經(jīng)網(wǎng)絡(luò)的精紡毛織物透氣性預(yù)測模型進(jìn)行訓(xùn)練和測試。
在3.1節(jié)的實(shí)驗(yàn)環(huán)境下,選取文獻(xiàn)[7]實(shí)驗(yàn)數(shù)據(jù),如表1所示。根據(jù)2.1節(jié)對于模型輸入輸出指標(biāo)的選取,搜集了具有代表性的34種精紡毛型織物試樣,其中4種純毛織物,2種毛/粘混紡織物,其他為毛/滌混紡織物,實(shí)測織物結(jié)構(gòu)參數(shù)及利用哈根-伯肅葉(Hagen-Poiseuille)公式計(jì)算織物紗線間空隙透氣量[7]。
根據(jù)式(6)對所選擇數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,帶入SVM進(jìn)行學(xué)習(xí)訓(xùn)練。
實(shí)驗(yàn)數(shù)據(jù)在核函數(shù)的選取上,采用的徑向基函數(shù)作為基于SVM的精紡毛織物透氣性回歸模型。學(xué)習(xí)訓(xùn)練過程通過Eclipse、Anaconda、Pydev等軟件實(shí)現(xiàn)。為了使模型具有良好的預(yù)測能力,需要尋找合適的SVM計(jì)算參數(shù)[15-16]。學(xué)習(xí)訓(xùn)練時(shí)需要確定:懲罰因子C和核函數(shù)σ2個參數(shù),采用網(wǎng)格搜索法與交叉驗(yàn)證法確定。模型關(guān)鍵參數(shù)學(xué)習(xí)訓(xùn)練過程如表2所示。在初始化范圍下,采用網(wǎng)格搜索法搜索最佳參數(shù)所在區(qū)間,在學(xué)習(xí)訓(xùn)練中利用前一步得到的區(qū)間交叉驗(yàn)證得到最佳參數(shù)。
為了進(jìn)一步評估SVM模型在精紡毛織物透氣性上預(yù)測的泛化性能,從織物樣本中隨機(jī)地抽取數(shù)據(jù)納入訓(xùn)練集和測試集。在每次試驗(yàn)中,34-K個樣本作為訓(xùn)練數(shù)據(jù)以確定最優(yōu)模型,剩余K個樣本作為測試數(shù)據(jù)檢驗(yàn)?zāi)P偷姆夯芰Α榱吮阌谟^察模型的泛化能力,引入回歸誤差率(R)檢驗(yàn):
(8)
式中:PV為回歸模型的預(yù)測值;TV為實(shí)際值;R為模型誤差率。
可以看出,R越低表示模型預(yù)測更加準(zhǔn)確。本文實(shí)驗(yàn)了10個不同的K值(K=1,2,3,4,5,6,7,8,9,10),每個K值重復(fù)實(shí)驗(yàn)10次,每次都隨機(jī)地選取實(shí)驗(yàn)所需訓(xùn)練集數(shù)據(jù)與測試集數(shù)據(jù),誤差率計(jì)算10次實(shí)驗(yàn)的均值。
SVM預(yù)測的整體誤差率如圖3所示。可以看出,當(dāng)K值為1~5時(shí),模型的平均誤差率穩(wěn)定在0.04%以內(nèi),K值為6~7時(shí)模型的平均誤差率穩(wěn)定在0.04%~0.05%以內(nèi),當(dāng)K值大于7時(shí),誤差率驟然上升。原因是樣本數(shù)據(jù)只有34組,當(dāng)測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)樣本比例小于2∶8時(shí),模型的學(xué)習(xí)樣本不足,預(yù)測能力不夠。當(dāng)測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)樣本比例大于2∶8時(shí),模型過度學(xué)習(xí),泛化能力不足。但在合理的測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)樣本比例下(2∶8),即27個訓(xùn)練樣本、7個測試樣本,其泛化性能是穩(wěn)定的。
表1 34種精紡毛型織物結(jié)構(gòu)參數(shù)表
表2 模型關(guān)鍵參數(shù)學(xué)習(xí)訓(xùn)練
圖3 SVM預(yù)測整體誤差率
以擬合優(yōu)度R2和相對誤差為評價(jià)指標(biāo),對比SVM與BP神經(jīng)網(wǎng)絡(luò)的模型預(yù)測效果,為比較SVM與BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果,選取了相同訓(xùn)練集與測試集,如表3和圖4所示。SVM回歸模型的擬合優(yōu)度最接近1(0.998 6),在3層的BP神經(jīng)網(wǎng)絡(luò)回歸模型下,實(shí)驗(yàn)平均預(yù)測誤差達(dá)到7%。v-SVM精紡毛織物透氣性回歸模型在參數(shù)C=1 325.525 8和σ=0.102 8的情況下,取得了較好預(yù)測結(jié)果,實(shí)驗(yàn)平均誤差為3.7%(小于4%)??梢钥吹絊VM回歸模型的準(zhǔn)確性明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。不僅對學(xué)習(xí)樣本的擬合度高,并且評估預(yù)測結(jié)果與實(shí)際結(jié)果非常接近。
表3 SVM模型與BP模型預(yù)測誤差比較
圖4 SVM與BP模型實(shí)際值與預(yù)測值比較
BP神經(jīng)網(wǎng)絡(luò)回歸模型需要設(shè)定很多初始參數(shù)如各個神經(jīng)元權(quán)值、偏差、學(xué)習(xí)率、各個隱藏層神經(jīng)元個數(shù),并且這些自由參數(shù)設(shè)置直接影響到其預(yù)測準(zhǔn)確性。因此在實(shí)際應(yīng)用中為獲得具有最佳泛化性能模型,需要選用較大樣本量來進(jìn)行訓(xùn)練與測試。與之相對應(yīng)的是,SVM回歸模型只需要通過交叉檢驗(yàn)和網(wǎng)格搜索法,確定C和σ2個參數(shù),即在模型訓(xùn)練測試過程中,相比于BP神經(jīng)網(wǎng)絡(luò),SVM回歸模型要簡便許多。而且,在選取相同的測試試樣下,SVM回歸模型的預(yù)測結(jié)果明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
本文通過對2種模型預(yù)測相對誤差的極差分析,來分析比較2種模型預(yù)測的穩(wěn)健度。
通過表4可得到,SVM預(yù)測模型的相對誤差分布區(qū)間為[2.27%,5.21%],其極差為5.21%-2.27%=2.94%。相應(yīng)地,BP預(yù)測模型的相對誤差分布區(qū)間為[5.08%,9.96%],其極差為9.96%-5.08%=4.88%。
即通過以上分析,有“基于BP模型預(yù)測的相對誤差”的極差相較于“基于SVM模型預(yù)測的相對誤差”的極差要大70.0%。因此,基于SVM的預(yù)測模型的預(yù)測精度更穩(wěn)健。
本文利用基于SVM的精紡毛織物透氣性回歸模型,實(shí)驗(yàn)從34組樣本中,隨機(jī)選擇27組作為訓(xùn)練樣本,7組作為預(yù)測樣本,對精紡毛織物透氣性能做了預(yù)測,較好地得到了織物結(jié)構(gòu)因素參數(shù)與其透氣性能之間的非線性關(guān)系??傻贸鲆韵陆Y(jié)論:
①相比BP模型,SVM 模型有較強(qiáng)的非線性關(guān)系學(xué)習(xí)能力和良好的泛化能力,較好地解決了訓(xùn)練時(shí)間過長、樣本需求量較高等問題。
②訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集比例在8∶2時(shí),SVM模型獲得更好的預(yù)測性能。
③基于SVM的精紡毛織物透氣性回歸模型,擬合優(yōu)度為99.86%,平均預(yù)測誤差為4%。本文模型可以較為高效、精準(zhǔn)地做出精紡毛織物透氣性預(yù)測。