吳 清,許會朋,陳建新
(1.河北工業(yè)大學(xué) 計算機科學(xué)與軟件學(xué)院,天津300401;2.河北工業(yè)大學(xué) 海洋科學(xué)與工程學(xué)院,天津300130)
氣體水合物海水淡化法工藝流程中的最優(yōu)工藝參數(shù)復(fù)雜多變且難以快速準確求解,這直接影響到海水淡化的效率和效益,嚴重阻礙產(chǎn)業(yè)的發(fā)展。目前,主要通過大量實驗對最優(yōu)工藝參數(shù)進行估測,不僅費時耗力而且很難得到最優(yōu)解。本文提出基于復(fù)雜度指數(shù)的遺傳算法優(yōu)化支持向量回歸模型,以此模型來解決這一問題[1-3]。闡述了該模型的理論原理和實現(xiàn)細節(jié),通過氣體水合物海水淡化實驗數(shù)據(jù)驗證該模型的有效性。
研究發(fā)現(xiàn),支持向量回歸機的參數(shù)對其回歸預(yù)測精度影響很大,但目前對其參數(shù)的確定主要依靠經(jīng)驗進行交互選擇[4]。遺傳-支持向量回歸 (GA-SVR)模型引入遺傳算法對支持向量回歸中的參數(shù)進行優(yōu)化[5,6],并形成集成算法,實現(xiàn)對SVR 參數(shù)的自動選擇。
為了解決氣體水合物海水淡化工藝參數(shù)的回歸預(yù)測問題,我們需要由n 個輸入和輸出樣本對組成的一組樣本數(shù)據(jù)集
那么可以得出如下形式的線性回歸模型
式中:f(x)——要求解的目標函數(shù),<ω·x >——ω與x的內(nèi)積,b——偏置值。可以通過求解下面最優(yōu)化問題來求解ω和b的值
約束條件為
支持向量機遵循間隔最大化原則,通過計算可以知道間隔大小等于2/,約束條件可以理解為預(yù)測值與實際輸出值yi的差值要小于常量ε。
針對這個優(yōu)化問題,根據(jù)參考文獻 [7]求解,可得如下公式
則優(yōu)化問題的對偶形式為
我們可以使用選塊算法、分解算法、序貫極小優(yōu)化算法等算法,求出αi和,實際上只有一部分樣本(xi,yi)稱為支持向量。最終求得回歸函數(shù)
對于非線性問題,使用一個非線性的映射關(guān)系φ,將原始的非線性數(shù)據(jù)xi映射到相應(yīng)的特征空間上,使得在這個特征空間上可以運用線性支持向量回歸機的原理進行運算。在實際的計算過程中用一個核函數(shù)ψ(xi,xj)來代替內(nèi)積運算<·>使得運算得到簡化,最終實現(xiàn)非線性回歸。則回歸函數(shù)變?yōu)?/p>
根據(jù)KKT 條件參見文獻 [7],任選一支持向量,可得非線性支持向量回歸函數(shù)
支持向量回歸中的核函數(shù)雖然有多種選擇,但相關(guān)研究發(fā)現(xiàn),徑向基核函數(shù)在多數(shù)情況下性能最優(yōu)且最穩(wěn)定,尤其適用于特征數(shù)目較少對時間要求不高的情況[8]。本文使用徑向基核函數(shù),則SVR 中尚需確定的參數(shù)為:懲罰參數(shù)C、核參數(shù)σ、不敏感損失參數(shù)ε。在此引入遺傳算法對這3個參數(shù)進行優(yōu)化選擇,主要步驟如下:
(1)參數(shù)編碼:本文根據(jù)3個參數(shù)不同的取值范圍對其采用二進制編碼操作,形成不同的染色體作為遺傳操作的最初個體。3個參數(shù)各占10個二進制位,其中懲罰參數(shù)C 取值范圍: [0,100]、精度0.1;核參數(shù)σ取值范圍:[0,100]、精度0.1;不敏感損失參數(shù)ε取值范圍: [0,1]、精度0.001。
(2)適應(yīng)度函數(shù):計算不同個體適應(yīng)度值的函數(shù),其值越大表示越接近最優(yōu)解,是遺傳操作中選擇概率的依據(jù)。訓(xùn)練數(shù)據(jù)回歸預(yù)測的均方根誤差,即
式中:n——訓(xùn)練樣本的樣本數(shù);yi——實際輸出值;fi——預(yù)測輸出值。適應(yīng)度值F定義為
式中:ξ——一個很小的正數(shù)。
(3)遺傳操作:遺傳操作包括選擇操作、交叉操作和變異操作3種[9],具體如下:
1)選擇操作:使用適應(yīng)度值作為選擇的依據(jù),使得種群中適應(yīng)度值高的個體被選擇的概率高,適應(yīng)度值低的個體被選擇的概率低,本文采用賭輪盤法進行處理。
2)交叉操作:本文將SVR 的3 個參數(shù)編碼到染色體R ={r1,r2,r3},利用線性組合的交叉操作,以某一概率a(0和1之間的隨機數(shù))在某2個個體染色體的3部分之間獨立地進行交叉。假設(shè)2個染色體分別為R1、R2,則交叉操作如下
3)變異操作:均勻變異,給定一個變異率ρ,對將變異的染色體R={ri|i=1,2,…,n}中的每一位進行變異操作。進行變異操作時,隨機產(chǎn)生一個0到1之間的隨機數(shù)ρ0,如果ρ0 小于等于ρ則改變該位,否則保持不變,即
綜上所述,本文采用的GA-SVR 模型算法流程如圖1所示。
圖1 GA_SVR 流程
GA-SVR模型雖然較好地解決了參數(shù)優(yōu)化問題,但其運行速度較慢,主要原因在于遺傳算法的初代種群的選擇是隨機的,距離最優(yōu)解較遠,需要較多的遺傳代數(shù)才能接近最優(yōu)解[10]。本文進一步的研究發(fā)現(xiàn)SVR 參數(shù)的選擇與所要逼近的函數(shù)映射的復(fù)雜程度存在關(guān)系。因此為了能夠選擇合適的初代種群,分析訓(xùn)練樣本數(shù)據(jù)的復(fù)雜度指數(shù),通過復(fù)雜度指數(shù)可以反映出訓(xùn)練樣本輸出值改變量和變化速度,以及函數(shù)形態(tài)的復(fù)雜程度。復(fù)雜度指數(shù)CI具體的計算公式如下
式中:yi——n個訓(xùn)練樣本的因變量,Cs——n 個訓(xùn)練樣本輸出差值的和;N——輸出值波峰h 與波谷l 的和;Δxi——m 個自變量中第i 個自變量最大值與最小值的差,S——m 個自變量的變化空間。
為了使SVR 模型具有較好的泛化性能,其學(xué)習(xí)能力應(yīng)與所逼近的非線性系統(tǒng)的復(fù)雜程度相一致。通過對多個模擬函數(shù)進行的仿真實驗結(jié)果表明,由給定樣本數(shù)據(jù)計算出的復(fù)雜度指數(shù)和支持向量回歸參數(shù)之間存在一定的關(guān)系。下面以不同輸入維數(shù)的函數(shù)為例,探討復(fù)雜度指數(shù)對SVR參數(shù)的影響規(guī)律。采用的函數(shù)映射的統(tǒng)一模型如下
式中:m 的值代表構(gòu)造出函數(shù)的維數(shù),在此選用m=1、2、3時構(gòu)造出的f1、f2和f3。當3個函數(shù)的輸入取值范圍不同時,將導(dǎo)致自變量變化空間S 的不同;當函數(shù)中的n1、n2、n3不同時,將導(dǎo)致輸出差值Cs以及與頻率有關(guān)的N 的不同,從而使復(fù)雜度指數(shù)CI發(fā)生變化。因此,通過改變這些參數(shù)的值,可以生成不同復(fù)雜度指數(shù)的模擬樣本數(shù)據(jù),然后求得在不同復(fù)雜度指數(shù)值的情況下,支持向量回歸參數(shù)C、σ和ε的值,從而得到參數(shù)與CI之間的關(guān)系。圖2至圖4顯示的實驗結(jié)果都是在相同精度err=0.01條件下取得的。
圖2 懲罰參數(shù)C隨CI的變化曲線
圖3 核參數(shù)σ隨CI的變化曲線
圖4 不敏感損失參數(shù)ε隨CI的變化曲線
圖2所示為懲罰參數(shù)C 隨復(fù)雜度指數(shù)CI 的變化曲線??梢钥闯?,隨著CI的逐步增大C 也逐漸變大。圖3為懲罰參數(shù)σ隨復(fù)雜度指數(shù)CI 的變化關(guān)系,σ值隨CI 的增大而減小,當CI過大時懲罰參數(shù)σ的變化趨于平緩。不敏感損失參數(shù)ε隨復(fù)雜度指數(shù)CI 的變化關(guān)系如圖4所示,ε隨著CI的增大而減小,當CI較大時不敏感損失參數(shù)ε快速衰減到一個很小的值。
依據(jù)目標函數(shù)的復(fù)雜度指數(shù)對支持向量回歸參數(shù)的影響規(guī)律,構(gòu)建基于復(fù)雜度指數(shù)的遺傳算法優(yōu)化支持向量回歸參數(shù)模型 (CI-GA-SVR),可得到接近最優(yōu)SVR 參數(shù)的初代種群,提高了遺傳算法的尋優(yōu)效率,可建立迅速最優(yōu)化參數(shù)的支持向量回歸模型。
表面活性物質(zhì)可以改變水氣相界面的表面張力,增快氣體分子進入水氣界面層的速率,提高水合物的生成。因此,在氣體水合物海水淡化過程中,需要往海水中添加表面活性劑,以提高海水淡化的速度和效益[11]。然而,表面活性劑添加質(zhì)量濃度與水合物生成速度之間的關(guān)系非常復(fù)雜。為獲得活性劑的最佳使用參量,本文利用CI-GA-SVR基于已有的實驗數(shù)據(jù)建立預(yù)測模型,以期得出最優(yōu)解。
從海洋中心獲取表面活性劑烷基糖苷 (APG)對水合物生成誘導(dǎo)時間的20個數(shù)據(jù),從中隨機選取17組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其余3 組數(shù)據(jù)作為測試數(shù)據(jù)。在對CI-GASVR 模型進行預(yù)測前,首先將原始數(shù)據(jù)進行歸一化處理,本文采用比例轉(zhuǎn)換法,正向指標轉(zhuǎn)換公式為x′ =(xxmin)/(xmax-xmin);逆向指標轉(zhuǎn)換公式為x′ =(xmax-x)/(xmax-xmin)。將訓(xùn)練樣本的APG 質(zhì)量濃度作為輸入,誘導(dǎo)時間作為目標變量,采用CI-GA-SVR模型進行自動回歸預(yù)測,得到的各優(yōu)化參數(shù)分別為:懲罰參數(shù)C=25.78、徑向基核函數(shù)參數(shù)σ =35.24 和不敏感損失參數(shù)ε =0.1055。此模型對訓(xùn)練樣本的輸出值和實際值的擬合曲線如圖5所示。
圖5 CI-GA-SVR訓(xùn)練樣本擬合曲線
利用訓(xùn)練樣本所得的最優(yōu)參數(shù)建立的CI-GA-SVR 模型即可完成對測試樣本的預(yù)測。為了比較CI-GA-SVR 方法的性能,同時還使用了傳統(tǒng)SVR 和GA-SVR這2種模型進行了同樣的預(yù)測,其中SVR 模型的參數(shù)經(jīng)過反復(fù)試驗由手工確定。GA-SVR模型由遺傳算法來優(yōu)化選擇支持向量回歸參數(shù)。表1列出了CI-GA-SVR、傳統(tǒng)SVR、GA-SVR 這3種方法對氣體水合物海水淡化誘導(dǎo)時間的預(yù)測結(jié)果。
表1 不同模型誘導(dǎo)時間預(yù)測值比較
從表1中可以看出,CI-GA-SVR 模型預(yù)測的相對誤差最小,都在3%以下。GA-SVR 雖然解決了傳統(tǒng)SVR 模型參數(shù)需要人工干預(yù)的問題,但是預(yù)測精度不及傳統(tǒng)SVR。CI-GA-SVR在解決了傳統(tǒng)SVR 這一問題的同時,預(yù)測精度也優(yōu)于傳統(tǒng)SVR。
基于復(fù)雜度指數(shù)的遺傳優(yōu)化支持向量回歸模型CI-GASVR,在傳統(tǒng)SVR 和遺傳優(yōu)化支持向量回歸基礎(chǔ)上進行了改進。與傳統(tǒng)SVR 相比,CI-GA-SVR 模型克服了其不能自主運行,需要人工確定參數(shù)的問題,而且其回歸預(yù)測的精度也比傳統(tǒng)SVR 精度高。與GA-SVR相比,CI-GA-SVR模型利用復(fù)雜度指數(shù)初始化參數(shù)種群,使得其最優(yōu)解收斂速度快,同時精度大大優(yōu)于GA-SVR模型的求解結(jié)果。CIGA-SVR 的構(gòu)建為確定氣體水合物海水淡化工藝參數(shù)提供了一條計算機模擬求解的途徑,減少了單純依靠實驗分析的盲目性并極大地降低了試驗成本,取得了滿意的模擬結(jié)果,具有很好的實用性。但在CI-GA-SVR 模型中,復(fù)雜度指數(shù)與支持向量回歸參數(shù)之間的定量關(guān)系尚需進一步研究。
[1]Akili D Khawaji,Ibrahim K Kutubkhanah,Jong-Mihn Wie.Advances in seawater desalination technologies [J].Desalination,2008,221 (1):47-69.
[2]Toufic Mezher,Hassan Fath,Zeina Abbas,et al.Techno-economic assessment and environmental impacts of desalination technologies[J].Desalination,2011,266 (1):263-273.
[3]Wang Linjun,Zhang Xuemin,Li Honghui,et al.Theory research on desalination of brackish water using gas hydrate method[J].Advanced Materials Research,2013,616 (9):1202-1207.
[4]LIU Dongping,SHAN Ganlin,ZHANG Qilong,et al.Parameters optimization of support vector machine based on improved genetic algorithm [J].Microcomputer Applications,2010,31 (5):11-15 (in Chinese).[劉東平,單甘霖,張岐龍,等.基于改進遺傳算法的支持向量機參數(shù)優(yōu)化 [J].微計算機應(yīng)用,2010,31 (5):11-15.]
[5]Lei Li,Yang Duan.A GA-based feature selection and parameters optimization for support vector regression [C]//Seventh International Conference on Natural Computation,2011:335-339.
[6]Zhao Mingyuan,F(xiàn)u Chong,Ji Luping,et al.Feature selection and parameter optimization for support vector machines:A new approach based on genetic algorithm with feature chromosomes [J].Expert Systems with Applications,2011,38(5):5197-5204.
[7]HU Guosheng.Grid resources prediction based on genetic algo-rithm and support vector regression [D].Jilin:Jilin University,2010:1-39 (in Chinese).[胡國圣.基于遺傳算法和支持向量回歸的網(wǎng)格資源預(yù)測 [D].吉林:吉林大學(xué),2010:1-39.]
[8]ZHU Shuxian,ZHANG Renjie.Research for selection of kernel functions used in support vector machine [J].Science Technology and Engineering,2008,8 (16):4513-4516 (in Chinese).[朱樹先,張仁杰.支持向量機核函數(shù)選擇的研究[J].科學(xué)技術(shù)與工程,2008,8 (16):4513-4516.]
[9]HE Tongdi,LI Jianwei,HUANG Hong,et al.A method for water quality remote retrieva based on support vector regression with parameters optimized by genetic algorithm [J].Opto-Electronic Engineering,2010,37 (8):127-133 (in Chinese).[何同弟,李見為,黃鴻.基于GA 優(yōu)選參數(shù)的SVR 水質(zhì)參數(shù)遙感反演方法 [J].光電工程,2010,37 (8):127-133.]
[10]Yuan F C.Parameters optimization using genetic algorithms in support vector regression for sales volume forecasting [J].Applied Mathematics,2012,3 (8):1480-1486.
[11]Atik Z,Windmeier C,Oellrich L R.Experimental and theoretical study on gas hydrate phase equilibria in seawater[J].Journal of Chemical & Engineering Data,2009,55 (2):804-807.