国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

支持向量機(jī)增量學(xué)習(xí)在污染預(yù)測中的研究

2014-03-25 03:07夏杰徐繼偉荊瑞俊
關(guān)鍵詞:增量分類器間隔

夏杰, 徐繼偉, 荊瑞俊

(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710072)

工業(yè)污染預(yù)測能夠及時(shí)預(yù)測工業(yè)污染物的變化,污染監(jiān)督部門根據(jù)預(yù)測結(jié)果對工業(yè)污染源和企業(yè)進(jìn)行監(jiān)管,有效防止污染事故的發(fā)生。污染預(yù)測方法根據(jù)工業(yè)污染源的污染因子排放量和現(xiàn)有狀態(tài)變化,對污染因子的變化趨勢進(jìn)行建模,從而準(zhǔn)確預(yù)測污染物的變化趨勢。目前,較為經(jīng)典和常用的污染預(yù)測方法包括人工神經(jīng)網(wǎng)絡(luò)預(yù)測法、灰色系統(tǒng)理論模型和支持向量機(jī)預(yù)測方法等。

人工神經(jīng)網(wǎng)絡(luò)可以很好地表示工業(yè)污染中的非線性關(guān)系,但缺乏對預(yù)測結(jié)果的檢驗(yàn),可能導(dǎo)致局部逼近而整體系統(tǒng)缺乏完備性,推廣應(yīng)用相對較少[1]?;疑碚撓到y(tǒng)模型形式簡單,能反應(yīng)事物的發(fā)展趨勢,但是對變化幅度較大的數(shù)據(jù)進(jìn)行預(yù)測時(shí),預(yù)測效果較差。支持向量機(jī)具有直觀的幾何形式、很好的數(shù)學(xué)模型和良好的泛化能力,它解決了模型選擇與過學(xué)習(xí)、欠學(xué)習(xí)和非線性問題,也避免了局部最優(yōu)解,解決了維數(shù)災(zāi)難的問題,人為設(shè)定參數(shù)較少[2],已經(jīng)成為預(yù)測應(yīng)用領(lǐng)域的研究熱點(diǎn)。

1 支持向量機(jī)增量學(xué)習(xí)方法

支持向量機(jī)是一種建立在統(tǒng)計(jì)學(xué)習(xí)理論上的新機(jī)器學(xué)習(xí)方法,它在處理小樣本分類、非線性分類和高維模式識別方面具有很多獨(dú)特的優(yōu)點(diǎn)。支持向量機(jī)的基本原理是通過某種事先選擇的非線性映射,將輸入向量映射到一個(gè)高維空間,在這個(gè)空間中構(gòu)造最優(yōu)超平面,將盡可能多的2類數(shù)據(jù)點(diǎn)正確地分開,同時(shí)使分開的2類數(shù)據(jù)點(diǎn)距離分類面最遠(yuǎn)[3]。

圖1 支持向量機(jī)空間映射圖

增量學(xué)習(xí)的主要任務(wù)是在增量樣本加入時(shí),有效利用歷史訓(xùn)練結(jié)果,盡量避免樣本的重復(fù)訓(xùn)練,得到比較準(zhǔn)確的分類結(jié)果。支持向量機(jī)不斷將新數(shù)據(jù)加入到訓(xùn)練集,通過在線調(diào)整模型參數(shù),實(shí)現(xiàn)預(yù)測模型的不斷優(yōu)化,提高模型的適應(yīng)能力。如果新增樣本帶有原樣本集不包含的分類信息,則學(xué)習(xí)后的SV集必然發(fā)生變化,以體現(xiàn)新信息的加入。

傳統(tǒng)支持向量機(jī)增量學(xué)習(xí)問題描述如下[4]:

1) 前提條件:存在歷史數(shù)據(jù)集A,增量樣本集B,并假定這2個(gè)數(shù)據(jù)集滿足條件A∩B=φ,ψ1和SVA1分別為數(shù)據(jù)集A上的初始SVM分類器以及對應(yīng)的支持向量(SV)集。

2) 學(xué)習(xí)目標(biāo):尋找基于樣本集合A∪B上最終的SVM分類器ψ和對應(yīng)的支持向量(SV)集SVA。

目前,國內(nèi)外已提出多種支持向量機(jī)增量式算法[5-6]。Cauwenberghs給出了一種增量減量式算法,用于解決增加或刪除一個(gè)訓(xùn)練樣本對SVM和拉格朗日系數(shù)的影響問題,并通過實(shí)驗(yàn)證明了該方法的有效性。Ralaivola也給出了一種增量式算法,該方法基于高斯核的局部特性,只需對學(xué)習(xí)機(jī)器輸出影響最大的拉格朗日系數(shù)進(jìn)行更新,從而減少計(jì)算的復(fù)雜度。在各種支持向量機(jī)增量式算法中,比較有代表性的是曾文華等提出的支持向量機(jī)增量學(xué)習(xí)算法[7]。

1)KKT條件

設(shè)α=[α1,α2,…,αl]為對偶問題的最優(yōu)解,使每個(gè)樣本X都能夠滿足優(yōu)化問題的KKT條件如下:

αi=0?yif(Xi)≥1

0<αi

(1)

αi=C?yif(Xi)≤1

式中:支持向量為非零的αi。由函數(shù)f(X)=h,可知分類面為f(X)=0,分類間隔的邊界為f(X)=±1,支持向量為分類間隔的邊界上的樣本。

定理1 對樣本集進(jìn)行訓(xùn)練得到SVM分類器,α為Lagrange乘子。α=0對應(yīng)的樣本分布在分類器分類間隔之外,0≤α≤C對應(yīng)的樣本分布在分類間隔之上,α=C對應(yīng)的樣本分布在分類間隔之內(nèi),公式表示如下:

αi=0?|f(Xi)|≥1

0<αi

(2)

αi=C?|f(Xi)|≤1

2)增量學(xué)習(xí)后支持向量變化分析

在分類問題中,支持向量最終確定分類函數(shù)的性質(zhì),也就是說,支持向量決定的分類函數(shù)與樣本集的最終分類函數(shù)一樣。根據(jù)這個(gè)原理,在分類問題的訓(xùn)練過程中,只需要找到支持向量的分類函數(shù)。在訓(xùn)練樣本集中,支持向量集所占的比例一般較小。

定理2f(X)為SVM分類決策函數(shù),{xi,yi}為新增樣本。滿足KKT 條件的新增樣本將不會改變支持向量集。違背KKT 條件的新增樣本將使支持向量集發(fā)生變化。違背KKT 條件的樣本分為3類:

① 位于分類間隔中,與本類在分類邊界同側(cè),被原分類器正確分類的樣本,滿足0≤yif(xi)<1;

② 位于分類間隔中,與本類在分類邊界異側(cè),被原分類器錯(cuò)誤分類的樣本, 滿足-1≤yif(xi)≤0;

③位于分類間隔外,與本類在分類間隔異側(cè),被原分類器錯(cuò)誤分類的樣本,滿足yif(Xi)<-1。

定理3 新增樣本違背KKT條件,則原樣本集中非支持向量可能轉(zhuǎn)化為支持向量。

2 改進(jìn)的支持向量機(jī)增量學(xué)習(xí)方法

傳統(tǒng)的SVM增量學(xué)習(xí)算法只是將歷史樣本集和增量樣本集混合起來進(jìn)行訓(xùn)練。曾文華等人提出新的訓(xùn)練算法,將違背KKT條件的樣本和SV集共同訓(xùn)練,以更好地體現(xiàn)出樣本的分布狀態(tài)對訓(xùn)練學(xué)習(xí)結(jié)果的影響。該算法首先分別對歷史樣本和新增樣本進(jìn)行訓(xùn)練得到分類器ψ1、ψ2和支持向量集SVA1、SVA2,然后在歷史樣本中找出違背ψ2的KKT條件的樣本,將其加入到SV1、SV2中一起訓(xùn)練,以得到最終的分類器。該算法分類精度提高和訓(xùn)練速度均得到了提高。

2.1 改進(jìn)的支持向量機(jī)增量學(xué)習(xí)的分類方法

基于曾文華等人提出的支持向量機(jī)增量學(xué)習(xí)方法,本文提出一種改進(jìn)的支持向量機(jī)增量學(xué)習(xí)方法,通過改進(jìn)后的算法能對工業(yè)廢氣污染進(jìn)行準(zhǔn)確預(yù)測。改進(jìn)的增量算法是在原有增量算法的基礎(chǔ)上,根據(jù)KKT條件對新增的數(shù)據(jù)樣本進(jìn)行SVM分類。

改進(jìn)的支持向量機(jī)增量學(xué)習(xí)方法將違背KKT條件的新增樣本按以下方法進(jìn)行分類:

1)若新增樣本B為恰好都在分類面上的支持向量,則將新增樣本B歸為分類間隔上樣本。

2)若新增樣本B都在分類面的邊緣內(nèi),則將新增樣本B歸為分類間隔內(nèi)樣本。

3)如不符合上述2種分類情況,新增樣本B的每個(gè)數(shù)據(jù)樣本點(diǎn)的αi都按照定理1分為分類器分類間隔外、分類間隔內(nèi)和分類間隔上3種樣本,直到增量樣本B訓(xùn)練完為止。

2.2 改進(jìn)的支持向量機(jī)增量算法步驟

假設(shè)新增樣本為Bi,I=1,2,…,n。改進(jìn)的支持向量機(jī)增量算法的算法步驟如下:

1) 首先檢驗(yàn)新增樣本B1是否違背SVM分類函數(shù)的KKT條件,如果沒有違背,則新增樣本根據(jù)KKT條件進(jìn)行SVM分類。

2) 如果新增樣本B1違背樣本SVM的KKT條件,則按照本文2.1節(jié)中給出的改進(jìn)增量算法對違背KKT條件的新增樣本分類方法進(jìn)行分類。

① 判斷新增樣本B1是否為恰好都在分類面上的支持向量:如果是,則將新增樣本B1歸為分類間隔上樣本;否則按下一步進(jìn)行判斷。

② 判斷新增樣本B1是否都在分類面的邊緣內(nèi)或原分類有誤:如果是,則將新增樣本B1歸為分類間隔內(nèi)樣本;否則按下一步進(jìn)行判斷。

③ 根據(jù)公式(2),將新增樣本B1中每個(gè)數(shù)據(jù)樣本點(diǎn)的αi分為分類器分類間隔外、分類間隔內(nèi)和分類間隔上3種樣本,直到增量樣本B1訓(xùn)練完為止。

3) 加入增量訓(xùn)練樣本B2,將上次訓(xùn)練樣本得到的分類間隔內(nèi)樣本集加入到B2,得到一個(gè)新的增量樣本B,令B1=B。

4) 重復(fù)以上步驟,直到N個(gè)增量樣本B1~Bn都訓(xùn)練結(jié)束。

2.3 改進(jìn)的支持向量機(jī)增量算法實(shí)驗(yàn)

為驗(yàn)證改進(jìn)的支持向量機(jī)增量學(xué)習(xí)方法的有效性,利用Matlab工具和機(jī)器學(xué)習(xí)UCI數(shù)據(jù)庫進(jìn)行仿真實(shí)驗(yàn)。UCI數(shù)據(jù)集的說明指出了數(shù)據(jù)的屬性和類別,用戶可以用自己的數(shù)據(jù)挖掘方法將UCI數(shù)據(jù)集分類,將結(jié)果與數(shù)據(jù)說明的結(jié)果對比,從而證明自己算法的正確性。

在本節(jié)實(shí)驗(yàn)中,首先使用Matlab的dlmread讀取UCI數(shù)據(jù);然后,利用UCI數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行Matlab仿真實(shí)驗(yàn);最后,將改進(jìn)SVM增量學(xué)習(xí)方法與傳統(tǒng)SVM學(xué)習(xí)算法進(jìn)行了比較。在UCI數(shù)據(jù)庫選取的數(shù)據(jù)中,{xi,yi}為增量樣本集中的樣本數(shù)據(jù),yi為預(yù)測的目標(biāo)值,xi=(xi1,xi2,…,xi8)為8維輸入特征值,即影響預(yù)測目標(biāo)值的關(guān)鍵特征變量值。通過Matlab仿真,改進(jìn)SVM增量學(xué)習(xí)方法與傳統(tǒng)SVM學(xué)習(xí)算法對比,結(jié)果如表1所示。

表1 改進(jìn)SVM增量學(xué)習(xí)方法與傳統(tǒng)SVM學(xué)習(xí)算法對比

通過對比發(fā)現(xiàn),本文改進(jìn)后的SVM增量學(xué)習(xí)方法與傳統(tǒng)SVM學(xué)習(xí)算法相比,減少了訓(xùn)練時(shí)間,也提高了精度。

3 改進(jìn)SVM增量學(xué)習(xí)方法的污染預(yù)測仿真實(shí)驗(yàn)

論文將某種有害氣體的濃度作為污染預(yù)測的目標(biāo)值,根據(jù)對污染源環(huán)境參數(shù)進(jìn)行分析處理,首先確定影響預(yù)測目標(biāo)值的主要特征變量,如氣壓,溫度,風(fēng)速,數(shù)據(jù)采集時(shí)間等,然后將這些關(guān)鍵特征變量作為預(yù)測模型的輸入值。假定{xi,yi}為增量樣本集B中的樣本數(shù)據(jù),yi為預(yù)測的目標(biāo)值,xi=(xi1,xi2,…,xin)為輸入特征值,即關(guān)鍵特征變量值。

基于上一節(jié)提出的改進(jìn)支持向量機(jī)增量學(xué)習(xí)方法的污染預(yù)測系統(tǒng)的實(shí)現(xiàn)流程如下:

1) 初始化預(yù)測模型。

2) 等待增量樣本集B。

3) 如果新增樣本符合SVM分類函數(shù)的KKT條件,則按定理1分類,即對樣本集B進(jìn)行訓(xùn)練得到SVM分類器。

4) 按照上節(jié)給出的方法,對違背SVM分類函數(shù)KKT條件的增量樣本集B進(jìn)行分類:a.如果新增樣本B為恰好都在分類面上的支持向量,則將新增樣本B歸為分類間隔上樣本;b.如果新增樣本B都在分類面的邊緣內(nèi)或其原分類有誤,則將新增樣本B歸為分類間隔內(nèi)樣本;c.根據(jù)公式(2),將新增樣本B中每個(gè)數(shù)據(jù)樣本點(diǎn)的αi分為分類器分類間隔外、分類間隔內(nèi)和分類間隔上樣本。

5) 將下一個(gè)新增訓(xùn)練樣本加入到上次訓(xùn)練樣本得到的分類間隔內(nèi)樣本集中,得到一個(gè)新的增量樣本B,返回流程2)。

經(jīng)過一段時(shí)間訓(xùn)練后,即可以得到該氣體的污染預(yù)測模型。輸入的特征向量值經(jīng)過模型的計(jì)算的到預(yù)測目標(biāo)值,然后將預(yù)測目標(biāo)的實(shí)際值,與相應(yīng)輸入一起作為新的訓(xùn)練樣本B,利用新樣本B對預(yù)測模型進(jìn)行調(diào)整,并計(jì)算該模型的預(yù)測精度。

實(shí)驗(yàn)使用的SO2數(shù)據(jù)集來源于NASA的氣象資料數(shù)據(jù)。將SO2濃度作為樣本集的預(yù)測目標(biāo)值,輸入9維預(yù)測模型的特征向量:每日的平均氣溫和氣溫差、平均氣壓和氣壓差、平均風(fēng)速以及相鄰兩日的平均氣溫差和氣壓差、數(shù)據(jù)的采集時(shí)間和每日的SO2濃度值。

在Matlab7.0環(huán)境下測試,SVM模型采用徑向基(RBF)核函數(shù)。RBF核函數(shù)均適用,具有較寬的收斂域,是較為理想的分類依據(jù)函數(shù)。 核函數(shù)的參數(shù)和誤差懲罰因子C是影響支持向量機(jī)性能的關(guān)鍵因素。本文實(shí)驗(yàn)中利用SVM模式識別與回歸的軟件包LIBSVM來確定參數(shù),使用支持向量機(jī)庫中的工具“grid.py”對參數(shù)進(jìn)行優(yōu)選,該工具是采用網(wǎng)格遍歷法,由gnuplot生成的搜索結(jié)果顯示出最小錯(cuò)誤率時(shí)的參數(shù)。

本文實(shí)驗(yàn)中SVM模型的RBF核函數(shù)參數(shù)取值如下:核寬度σ取值為 0.6,容量因子C取值為1,允許誤差ε取值為 0.01。建立好預(yù)測模型后,對7個(gè)月內(nèi)的SO2數(shù)據(jù)進(jìn)行預(yù)測。原算法和改進(jìn)后算法的仿真實(shí)驗(yàn)預(yù)測結(jié)果分別如圖2和圖3所示。

圖2 原算法預(yù)測結(jié)果

圖3 改進(jìn)后算法預(yù)測結(jié)果

在圖2中和圖3中,虛線為預(yù)測值,實(shí)線為實(shí)測值。通過仿真實(shí)驗(yàn)預(yù)測圖可以看出,改進(jìn)后的支持向量機(jī)增量算法的預(yù)測準(zhǔn)確度與原算法相比有較大提高,能較好地用于污染預(yù)測。

4 結(jié) 論

本文針對工業(yè)污染預(yù)測問題,采支持向量機(jī)與增量學(xué)習(xí)結(jié)合的方法進(jìn)行污染預(yù)測。對SVM增量學(xué)習(xí)方法進(jìn)行改進(jìn),通過仿真實(shí)驗(yàn)說明,改進(jìn)后的算法在精度和訓(xùn)練速度上均有所提高。將改進(jìn)后SVM增量學(xué)習(xí)方法用于有害氣體的濃度預(yù)測,通過實(shí)驗(yàn)仿真結(jié)果說明本文算法能夠用于污染預(yù)測,且預(yù)測較準(zhǔn)確。

參考文獻(xiàn):

[1] Zhou Xiujie, Su Xiaohong, Yuan Meiying. Forecast of Air Pollution Index Based on BP Neuralnetwork[J]. Journal of Harbin Institute of Technology, 2004, 35(5):583-585

[2] 張學(xué)工. 關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J]. 自動(dòng)化學(xué)報(bào), 2000, 26(1): 32-42

Zhang Xuegong. Introduction to Statistical Learning Theory And Support Verctor Machines[J]. Acta Automatica Sinica, 2000, 26(1):32-42 (in Chinese)

[3] Chen Zhenyu, Li Jianping. Least Squares Support Vector Machine[C]∥International Conference on Computational Intelligence and Security, 2006(1):176-179

[4] 李凱, 黃厚寬. 支持向量機(jī)增量學(xué)習(xí)算法研究[J]. 北方交通大學(xué)學(xué)報(bào), 2003, 27(5): 34-37

Li Kai,Huang Houkuan. Research on Incremental Learning Algorithm of Support Vector Machine[J]. Journal of Northern Jiaotong University, 2003, 27(5): 34-37 (in Chinese)

[5] Cauwenberghs G, Poggio T. Incremental and Decremental Support Vector Machine Learning[J]. Advances in Neural Information Processing Systems, 2001, 13

[6] Ralaivola L, Florence d′Alché-Buc. Incremental Support Vector Machine Learning: A Local Approach[J]. ICANN 2001: 322-330

[7] 曾文華,馬健. 一種新的支持向量機(jī)增量學(xué)習(xí)算法[J]. 廈門大學(xué)學(xué)報(bào), 2002,41(6): 687-691

Zeng Wenhua, Ma Jian. A Novel Approach to Incremental SVM Learning Algorithm[J]. Journal of Xiamen University, 2002,41(6): 687-691 (in Chinese)

猜你喜歡
增量分類器間隔
導(dǎo)彈增量式自適應(yīng)容錯(cuò)控制系統(tǒng)設(shè)計(jì)
提質(zhì)和增量之間的“辯證”
全現(xiàn)款操作,年增量1千萬!這家GMP漁藥廠為何這么牛?
間隔問題
“價(jià)增量減”型應(yīng)用題點(diǎn)撥
間隔之謎
基于差異性測度的遙感自適應(yīng)分類器選擇
基于實(shí)例的強(qiáng)分類器快速集成方法
基于層次化分類器的遙感圖像飛機(jī)目標(biāo)檢測
上樓梯的學(xué)問
龙海市| 旬阳县| 沂南县| 济源市| 绥芬河市| 天台县| 赤城县| 勐海县| 白城市| 马尔康县| 南通市| 连州市| 洛川县| 洮南市| 浏阳市| 拉萨市| 怀来县| 临猗县| 南皮县| 溧阳市| 航空| 华池县| 瓮安县| 琼海市| 德兴市| 嘉定区| 航空| 台南市| 潼南县| 龙海市| 天祝| 辰溪县| 崇义县| 安康市| 通化市| 岳阳市| 彭阳县| 丹阳市| 黄浦区| 开封市| 舒兰市|