劉國(guó)璧,孫 群,袁宏俊
(1.安徽電子信息職業(yè)技術(shù)學(xué)院,安徽 蚌埠 233030;2.安徽大學(xué) 數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,安徽 合肥230039;3.安徽財(cái)經(jīng)大學(xué),安徽 蚌埠 233030)
二甲醚是具有輕微醚香味的無(wú)色氣體,具有良好的汽化、冷凝、壓縮等特性,在化學(xué)中有很多用途,它具有良好的安全性和制冷效果,可以替代氟利昂(CFC)作為拋射劑和制冷劑使用.二甲醚起燃溫度較高,燃燒不完全,采用催化燃燒的方式,使二甲醚在催化劑作用下、在較低溫度和較低的燃料濃度下深度氧化,引發(fā)快速的燃燒反應(yīng),實(shí)現(xiàn)完全燃燒,獲得較高的轉(zhuǎn)化率.對(duì)二甲醚催化燃燒的研究目前比較少,廣東工業(yè)大學(xué)的余倩利用神經(jīng)網(wǎng)絡(luò),對(duì)二甲醚催化燃燒過(guò)程進(jìn)行了初步研究[1],對(duì)催化劑的性能進(jìn)行了描述和預(yù)測(cè).由于神經(jīng)網(wǎng)絡(luò)具有一定的局限性,本文提出構(gòu)造基于粗糙集方法的PSO-LS-SVM混合預(yù)測(cè)模型,對(duì)LS-SVM的懲罰因子C和徑向基函數(shù)的參數(shù)δ進(jìn)行優(yōu)化選取.首先利用粗糙集理論對(duì)預(yù)測(cè)模型的輸入樣本進(jìn)行降維處理,簡(jiǎn)化LS-SVM的結(jié)構(gòu);然后利用粒子群優(yōu)化算法對(duì)LS-SVM的懲罰因子C和徑向基函數(shù)的參數(shù)δ進(jìn)行優(yōu)化,以提高模型的預(yù)測(cè)精度;最后通過(guò)實(shí)例檢驗(yàn)該模型的有效性.
粗糙集理論(rough sets)是波蘭學(xué)者帕拉克(Z.Pawlak)于1982年提出的,是用于數(shù)據(jù)分析的一個(gè)新的數(shù)學(xué)方法,它能表達(dá)不確定、不精確的知識(shí).粗糙集理論在研究數(shù)據(jù)挖掘、知識(shí)約簡(jiǎn)等領(lǐng)域獲得了廣泛應(yīng)用,特別是在數(shù)據(jù)挖掘領(lǐng)域,取得了很大成功,是當(dāng)前許多學(xué)者和研究工作者的研究熱點(diǎn).根據(jù)粗糙集屬性約簡(jiǎn)原理,能夠有效剔除冗余信息,挖掘出反映被評(píng)價(jià)目標(biāo)的關(guān)鍵指標(biāo),得到約簡(jiǎn)指標(biāo)體系.粗糙集理論在很多論文[2-5]和著作中已有了詳盡的介紹,這里不做雷述.
1995年,Kennedy和Eberhari提出了一種進(jìn)化算法——粒子群優(yōu)化(particle swarm optimization,PSO),該算法是受生物界鳥(niǎo)群覓食的啟發(fā)而提出的最優(yōu)解的一種方法.
PSO的思想是[6]:位于初始位置的若干個(gè)粒子,每個(gè)粒子有自己的個(gè)體最優(yōu)解pi,b,整個(gè)粒子群有群體的最優(yōu)解gb,所有粒子在解空間中搜索,利用迭代找到最優(yōu)解.粒子根據(jù)下式對(duì)自己的位置和速度進(jìn)行更新.
vi(k+1)=?(k)vi(k)+
α1γ1i(k)[pi,b-xi(k)]+α2γ2i(k)[gb-xi(k)]
xi(k+1)=xi(k)+vi(k+1)
其中γ1i,γ2i為[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù),?(k)為慣性函數(shù),α1,α2為加速常數(shù).
LS-SVM是SVM的一種,它將SVM中的不等式約束變成等式約束,把最小二乘線(xiàn)性系統(tǒng)作為損失函數(shù)代替SVM采用的二次規(guī)劃方法,和SVM相比,LS-SVM求解過(guò)程更加簡(jiǎn)便和快速,需要的計(jì)算資源也較少,對(duì)解決問(wèn)題的精度和速度均有一定的提高.
LS-SVM選擇誤差ξi的二范數(shù)為損失函數(shù):
由
得
基于粗糙集的PSO-SVM二甲醚催化燃燒預(yù)測(cè)模型的基本思想是:利用粗糙集方法對(duì)預(yù)測(cè)模型的輸入樣本進(jìn)行降維處理,將處理后的數(shù)據(jù)作為模型的輸入;利用粒子群優(yōu)化算法對(duì)LS-SVM的懲罰因子C和徑向基函數(shù)的參數(shù)δ進(jìn)行優(yōu)化;利用訓(xùn)練后的LS-SVM對(duì)二甲醚催化燃燒進(jìn)行預(yù)測(cè)仿真.具體步驟如下:
第1步 對(duì)初始數(shù)據(jù)進(jìn)行預(yù)處理.把數(shù)據(jù)轉(zhuǎn)化到[0,1]范圍內(nèi);
第2步 對(duì)初始數(shù)據(jù)進(jìn)行粗糙集分析.利用粗糙集得到約簡(jiǎn)指標(biāo)體系.將之作為L(zhǎng)S-SVM的輸入樣本;
第3步 初始化LS-SVM的結(jié)構(gòu).設(shè)置懲罰因子C和徑向基函數(shù)的參數(shù);
第4步 粒子速度和位置初始化.隨機(jī)生成粒子的速度矩陣和位置矩陣;
第5步 計(jì)算粒子的適應(yīng)度.隨機(jī)生成一個(gè)種群,求所有粒子的適應(yīng)度值.以L(fǎng)S-SVM的均方誤差函數(shù)E作為粒子適應(yīng)度的評(píng)價(jià)函數(shù),得到最優(yōu)解;
第6步 尋找個(gè)體極值和全局極值;
第7步 迭代停止控制.達(dá)到最大迭代次數(shù)或期望誤差,若滿(mǎn)足條件則轉(zhuǎn)到(8),否則,返回(5);
第8步 生成最優(yōu)解.算法迭代停止時(shí),得到最優(yōu)解,得出仿真模型,進(jìn)行二甲醚催化燃燒預(yù)測(cè)研究.
基于粗糙集的PSO-SVM算法流程如圖1所示:
圖1 基于粗糙集的PSO-SVM算法流程圖
為了對(duì)模型的有效性進(jìn)行驗(yàn)證,本文以二甲醚催化燃燒為例,數(shù)據(jù)來(lái)源于文獻(xiàn)[7],構(gòu)建基于粗糙集的PSO-SVM預(yù)測(cè)模型,對(duì)二甲醚催化燃燒進(jìn)行研究,同時(shí)與LS-SVM的預(yù)測(cè)效果進(jìn)行比較.
選取二甲醚催化燃燒的評(píng)價(jià)指標(biāo)時(shí),根據(jù)國(guó)內(nèi)的相關(guān)研究成果,確定評(píng)價(jià)指標(biāo)體系,根據(jù)粗糙集理論,利用MATLAB中的約簡(jiǎn)函數(shù)y=redu(c,d,S)對(duì)評(píng)價(jià)指標(biāo)體系進(jìn)行約簡(jiǎn),經(jīng)過(guò)篩選后最終得到四個(gè)評(píng)價(jià)指標(biāo),即焙燒時(shí)間、活性粒子半徑、活性粒子元素第一電離能和活性粒子元素單質(zhì)熔點(diǎn).約簡(jiǎn)后的信息系統(tǒng)數(shù)據(jù)如表1所示.
評(píng)價(jià)指標(biāo)確定之后,就以約簡(jiǎn)后的指標(biāo)數(shù)據(jù)作為L(zhǎng)S-SVM模型的輸入,對(duì)二甲醚催化燃燒進(jìn)行預(yù)測(cè).將表1中的數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,前10組數(shù)據(jù)作為訓(xùn)練集,對(duì)網(wǎng)絡(luò)進(jìn)行充分的訓(xùn)練,后5組數(shù)據(jù)作為測(cè)試集,檢驗(yàn)?zāi)P偷挠行裕?/p>
利用Matlab7.0軟件,群體規(guī)模為200,粒子維數(shù)為2,c1=2,c2=2,vmax=200,動(dòng)量項(xiàng)系數(shù)為0.325,迭代次數(shù)為40,最后,得到支持向量機(jī)的C=8.51,核參數(shù)ξ=7.316,對(duì)于PSO算法,利用0.8-0.4線(xiàn)性遞減的慣性權(quán)重策略,c1=c2=2.粒子的最大速度1,最大循環(huán)迭代次數(shù)為200,PSO算法最優(yōu)適應(yīng)度函數(shù)值的變化曲線(xiàn)如圖2所示.
圖2 適應(yīng)度函數(shù)變化曲線(xiàn)
由圖2可知,適應(yīng)度函數(shù)值fitness下降較快.開(kāi)始時(shí),適應(yīng)度值迅速下降.100次迭代后,達(dá)到較穩(wěn)定的狀態(tài).
圖3 模型實(shí)際值與預(yù)測(cè)值
由圖3可知.采用基于粗糙集的PSO-SVM模型的預(yù)測(cè)精度較高,仿真效果較好.其中第十一組和十二組數(shù)據(jù)的誤差較大,分別為5.88%和6.49%,第十三組、第十四組和第十五組數(shù)據(jù)的預(yù)測(cè)誤差都很小,絕對(duì)誤差均低于2%,預(yù)測(cè)效果較為理想.同時(shí),為了對(duì)該模型的有效性進(jìn)行驗(yàn)證,本文對(duì)LS-SVM模型以及基于粗糙集的粒子群優(yōu)化的LS-SVM的預(yù)測(cè)性能進(jìn)行了對(duì)比分析.結(jié)果見(jiàn)表2所示:
表2 不同預(yù)測(cè)模型的性能比較
從表2可以看出,基于粗糙集的PSO-SVM模型具有更好的預(yù)測(cè)性能,訓(xùn)練誤差以及測(cè)試誤差都較低,模型泛化仿真能力均較好,驗(yàn)證了模型的有效性.
由于影響二甲醚催化燃燒的因素較多,提出把粗糙集、粒子群優(yōu)化算法以及LS-SVM相結(jié)合,構(gòu)造基于粗糙集的PSO-SVM模型對(duì)二甲醚催化燃燒進(jìn)行模擬仿真.具有以下幾方面的特點(diǎn):
(1)利用粗糙集約簡(jiǎn)影響因素,將約簡(jiǎn)后的指標(biāo)作為模型的輸入,提高模型的泛化能力;
(2)利用粒子群算法對(duì)LS-SVM的初始參數(shù)進(jìn)行訓(xùn)練,將PSO算法優(yōu)化后的參數(shù)作為L(zhǎng)S-SVM的懲罰因子C和徑向基函數(shù)δ;
(3)為了驗(yàn)證模型的性能以及有效性.利用建立的模型進(jìn)行實(shí)例研究.
結(jié)果表明,基于粗糙集的PSO-SVM方法具有較好的適用性,對(duì)于影響因素較多的預(yù)測(cè)問(wèn)題有較好的預(yù)測(cè)結(jié)果.當(dāng)然該模型也存在一些不足.比如,程序復(fù)雜,擴(kuò)展性等方面有待進(jìn)一步的研究和改進(jìn).
參考文獻(xiàn):
[1]余倩.六鋁酸鹽催化劑的制備及其在新能源二甲醚催化燃燒研究中的應(yīng)用[D].廣州:廣東工業(yè)大學(xué)博士論文,2008.
[2]卜益民.粗糙集和神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)融合中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4).
[3]王若鵬.基于粗糙集理論的瀏醴高速公路景觀質(zhì)量評(píng)價(jià)[J].北京石油化工學(xué)院學(xué)報(bào),2003(4).
[4]雍龍泉.基于粗糙集理論的企業(yè)持續(xù)競(jìng)爭(zhēng)優(yōu)勢(shì)研究[J].伊犁師范學(xué)院學(xué)報(bào)2006(9).
[5]劉壽春.基于粗糙集理論的設(shè)計(jì)規(guī)則提取及其應(yīng)用[J].2004(2).
[6]薛定宇,陳陽(yáng)泉.高等應(yīng)用數(shù)學(xué)問(wèn)題的MATLAB求解[M].北京:清華大學(xué)出版社,2008.
[7]余倩.六鋁酸鹽催化劑的制備及其在新能源二甲醚催化燃燒研究中的應(yīng)用[D].廣州:廣東工業(yè)大學(xué)博士論文,2008.