龐 曦,胡榮華,趙春生,白寧波
(1.永城煤電控股集團(tuán)有限公司,城郊煤礦,河南 永城 476600;2. 中國(guó)地質(zhì)大學(xué),湖北 武漢 430074)
目前,人們?cè)谏a(chǎn)生活中對(duì)空氣污染的預(yù)防以及城市管理層出臺(tái)治理空氣污染的有關(guān)政策均是依據(jù)氣象部門給予的空氣污染等級(jí),因此對(duì)空氣質(zhì)量等級(jí)進(jìn)行精準(zhǔn)劃分對(duì)當(dāng)今社會(huì)的安全發(fā)展有著重要的現(xiàn)實(shí)性意義[1-2]。
為了精確地對(duì)空氣質(zhì)量進(jìn)行分類預(yù)測(cè),很多學(xué)者對(duì)此做了深入研究。例如:邱晨提出了基于BP神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量模型分類研究方法[3];常麗娜提出了基于K-均值聚類和貝葉斯判別的城市空氣質(zhì)量等級(jí)分類及預(yù)測(cè)方法[4];王琛提出了哈夫曼樹SVM在空氣質(zhì)量等級(jí)分類中的應(yīng)用方法[5]等。上述方法均能對(duì)空氣質(zhì)量進(jìn)行有效分類,但受限于算法本身的局限性,其分類效果還有待提升。例如:BP神經(jīng)網(wǎng)絡(luò)收斂速度慢,其算法精度依賴于大量的訓(xùn)練樣本并在訓(xùn)練過程中極易陷入局部最優(yōu)解[6];K-均值聚類預(yù)測(cè)法需要事先給定聚類的種類數(shù)即K的取值,K值在實(shí)際應(yīng)用中是難以估計(jì)的,K值偏大或者偏小都嚴(yán)重影響分類的精確度。本文通過分析空氣質(zhì)量分類的特點(diǎn)和現(xiàn)有分類方法的不足,提出了粒子群優(yōu)化支持向量機(jī)算法的空氣質(zhì)量分類方法[7]。
選用某礦區(qū)全年在空氣中測(cè)量得到的PM2.5、PM10、SO2、NO2、CO、O3數(shù)值指標(biāo)組成六維輸入向量,以空氣質(zhì)量的指標(biāo)優(yōu)良、輕度污染、中度污染和重度污染作為輸出向量,結(jié)合PSO優(yōu)化算法在分類模型訓(xùn)練中全局搜尋SVM的最佳參數(shù)c和gamma,然后將最佳參數(shù)應(yīng)用到空氣質(zhì)量的分類預(yù)測(cè)中,能夠大大增加分類預(yù)測(cè)的準(zhǔn)確性。
SVM分為線性可分和非線性可分,其基本原理是將低維空間的樣本訓(xùn)練數(shù)據(jù)映射到高維空間中,使得樣本訓(xùn)練數(shù)據(jù)線性可分,進(jìn)而對(duì)邊界進(jìn)行線性劃分[8-9]。如果有樣本數(shù)據(jù):其中xi是輸入指標(biāo),yi是輸出指標(biāo),其分類示意圖如圖1所示。
圖1 SVM二分類示意圖
對(duì)于二分類問題實(shí)際就是尋找區(qū)分兩類數(shù)據(jù)的最優(yōu)分割超平面,超平面方程如式(1):
選擇合適的w、b使距離超平面最近的樣本滿足得到規(guī)范化超平面,當(dāng)分類間隔達(dá)到最大時(shí)確定最優(yōu)超平面[10],如式(2):
若要使得所有樣本都分類無誤,根據(jù)約束條件應(yīng)滿足式(3):
在式(3)中引入拉格朗日算子ai構(gòu)建函數(shù),其中ai>0,將有約束的原始目標(biāo)函數(shù)轉(zhuǎn)換為無約束的拉格朗日目標(biāo)函數(shù),如式(4):
求L對(duì)w、b的偏導(dǎo),令其等于0,得到一個(gè)包含ai的函數(shù),如式(5):
求得w、a、b對(duì)應(yīng)的最優(yōu)解w*、a*、b*,獲得最優(yōu)分割超平面,如式(6):
確定SVM的分類決策函數(shù)如式(7):
粒子群優(yōu)化算法的本質(zhì)就是迭代尋優(yōu),通過撒下的粒子種群更新其位置和運(yùn)動(dòng)速度在全局尋找適應(yīng)度函數(shù)的最優(yōu)解[11]。假設(shè)在一維目標(biāo)搜索空間中,由N個(gè)粒子組成群體X的初始位置為得到初始局部最優(yōu)為P1,然后更新粒子的搜尋速度和位置,在時(shí)刻t,該種群粒子更新位置至該粒子種群中局部最優(yōu)位置表示為P(t),t時(shí)刻的粒子群的局部最優(yōu)位置為與初始局部最優(yōu)位置相比較得到全局最優(yōu)位置g(t),然后繼續(xù)迭代更新粒子的搜尋速度與位置,每更新一步都要對(duì)比得到最新的局部最優(yōu)和全局最優(yōu),直至達(dá)到最大迭代次數(shù)為止。當(dāng)粒子種群在M維目標(biāo)搜索空間內(nèi),粒子群的速度與位置更新公式如(10-11):
SVM在運(yùn)行前需要手動(dòng)設(shè)置兩個(gè)參數(shù):其中c是懲罰系數(shù),即對(duì)誤差的容忍度,c值高說明誤差容忍度小,容易過擬合,c值越小容易欠擬合;gamma是核函數(shù)自帶的一個(gè)參數(shù),決定了數(shù)據(jù)映射到新的特征空間后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多,支持向量的個(gè)數(shù)影響訓(xùn)練與預(yù)測(cè)的速度[12-13]。
為了消除人為設(shè)置參數(shù)c和gamma對(duì)SVM運(yùn)行的影響,使用PSO算法在全局搜尋c和gamma的最佳參數(shù)組合,具體的PSO-SVM算法流程見圖2。
圖2 PSO-SVM算法流程圖
選擇某礦區(qū)一年度在空氣中測(cè)得的PM2.5、PM10、SO2、NO2、CO、O3的數(shù)字指標(biāo)組成六維輸入向量,以空氣質(zhì)量的指標(biāo)優(yōu)良、輕度污染、中度污染和重度污染作為輸出向量。其中優(yōu)良的標(biāo)簽為1,輕度污染的標(biāo)簽為2,中度污染的標(biāo)簽為3,重度污染的標(biāo)簽為4。選擇其中150組為訓(xùn)練數(shù)據(jù),分別訓(xùn)練得到SVM分類模型、PSO-SVM分類模型,其余215組為測(cè)試數(shù)據(jù),使用測(cè)試數(shù)據(jù)的分類準(zhǔn)確率來評(píng)價(jià)分類模型的性能。
在選擇輸入向量的同時(shí),為消除數(shù)據(jù)物理量綱的不同和盡量壓縮數(shù)據(jù)大小的范圍,以增加運(yùn)行的速度,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,數(shù)據(jù)歸一化公式如(12):
壓縮后典型的輸入、輸出向量如表1所示:
表1 幾種典型的輸入輸出向量
從表1看出,不同空氣質(zhì)量之間的特征向量區(qū)別度非常大,尤其是PM2.5和PM10,隨著空氣質(zhì)量的逐漸劣化其數(shù)值也不斷增加。相比較而言,其余的特征量區(qū)分度雖然沒有這么明顯,但不同的空氣質(zhì)量所對(duì)應(yīng)的數(shù)值也有著明顯區(qū)別。
針對(duì)SVM多分類問題需要設(shè)置核函數(shù),常用的核函數(shù)有四種,分別是線性核函數(shù)、多項(xiàng)式核函數(shù)、RBF核函數(shù)、sigmoid核函數(shù)。使用每個(gè)核函數(shù)訓(xùn)練數(shù)據(jù)都會(huì)得到不同的分類模型,然后將分類模型的輸出結(jié)果與訓(xùn)練集數(shù)據(jù)原始標(biāo)簽相比較,表征四種核函數(shù)對(duì)輸入數(shù)據(jù)的擬合率,擬合率越高說明此核函數(shù)越適合于此類數(shù)據(jù)的分類預(yù)測(cè)。訓(xùn)練數(shù)據(jù)共有150組,其中優(yōu)良、輕度污染、中度污染和重度污染分別為60、60、10、20組,設(shè)置SVM的運(yùn)行參數(shù)c和gamma為100和10,設(shè)置目標(biāo)精度為0.001。使用4種核函數(shù)分別對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行分類模型訓(xùn)練,并對(duì)分類模型的輸出結(jié)果與訓(xùn)練集數(shù)據(jù)原始標(biāo)簽進(jìn)行對(duì)比,得到4種核函數(shù)對(duì)應(yīng)的擬合率如表2。
表2 4種核函數(shù)訓(xùn)練模型對(duì)應(yīng)的準(zhǔn)確率
從表2中的準(zhǔn)確率可以看出,對(duì)于本次數(shù)據(jù)處理的適用性: RBF核函數(shù)>多項(xiàng)式核函數(shù)>線性核函數(shù)>sigmoid核函數(shù),使用RBF核函數(shù)訓(xùn)練得到的分類模型有著更高的擬合率,接下來的SVM分類模型均采用RBF核函數(shù),RBF核函數(shù)公式如式(13):
PSO-SVM算法的目的就是使用PSO算法在全局進(jìn)行尋優(yōu),找到最佳的參數(shù)組合c和gamma,然后將最佳參數(shù)組合使用在SVM分類模型訓(xùn)練中,增加SVM分類模型在分類預(yù)測(cè)中的準(zhǔn)確率,使用PSO算法需要設(shè)置一個(gè)適應(yīng)度函數(shù),作為粒子群迭代尋優(yōu)的目標(biāo)函數(shù)。本文采用分類預(yù)測(cè)結(jié)果與測(cè)試集數(shù)據(jù)原始標(biāo)簽的均方誤差作為適應(yīng)度函數(shù)[14-15],均方誤差如式(14):
式中:P—分類預(yù)測(cè)結(jié)果,Y—測(cè)試集數(shù)據(jù)原始標(biāo)簽,length(Y)—測(cè)試集數(shù)據(jù)原始標(biāo)簽的長(zhǎng)度。均方根誤差值越小說明分類模型的分類預(yù)測(cè)準(zhǔn)確率越高,PSO算法運(yùn)行前需要設(shè)置算法的初始參數(shù),設(shè)置粒子種群加速因子C1=C2=1.5、慣性權(quán)重w=0.7、粒子種群規(guī)模為20、最大迭代步數(shù)T=300、粒子搜尋空間范圍為[1, 1000],初始速度v=10,粒子群的迭代尋優(yōu)過程示意如圖3所示。
圖3 粒子群迭代尋優(yōu)示意圖
從圖3中可以看出,粒子群迭代10步之后搜尋到了適應(yīng)度的全局最優(yōu)值,此時(shí)MSE=0.088,c=134.25,g=406.73,每步迭代后的平均適應(yīng)度值也一直逼近全局最優(yōu)適應(yīng)度值,說明每次迭代粒子種群都在朝著最優(yōu)的位置運(yùn)動(dòng)。
使用SVM分類模型和PSO-SVM分類模型分別對(duì)215組測(cè)試集數(shù)據(jù)進(jìn)行分類預(yù)測(cè),其中優(yōu)良、輕度污染、中度污染和重度污染分別為120、56、15、24組,分類預(yù)測(cè)結(jié)果分別如圖4、圖5所示。
圖4 SVM分類模型輸出結(jié)果
圖5 PSO-SVM分類模型輸出結(jié)果
圖4、圖5顯示,SVM分類模型分類正確188個(gè)樣本、錯(cuò)誤27個(gè)樣本,整體分類正確率為87.44%。其中:優(yōu)良樣本分類正確111個(gè),錯(cuò)誤9個(gè),分類正確率為91.75%;輕度污染分類正確50個(gè),錯(cuò)誤6個(gè),分類正確率為89.29%;中度污染分類正確8個(gè),錯(cuò)誤7個(gè),分類正確率為53.33%;重度污染分類正確20個(gè),錯(cuò)誤4個(gè),分類正確率為83.33%。PSO-SVM分類模型分類正確196個(gè)樣本,錯(cuò)誤19個(gè)樣本,整體分類正確率為91.16%。其中:優(yōu)良樣本分類正確111個(gè),錯(cuò)誤9個(gè),分類正確率為91.75%;輕度污染分類正確53個(gè),錯(cuò)誤3個(gè),分類正確率為94.64%;中度污染分類正確10個(gè),錯(cuò)誤5個(gè),分類正確率為67.67%;重度污染分類正確22個(gè),錯(cuò)誤2個(gè),分類正確率為91.67%。
從分類預(yù)測(cè)結(jié)果可以看出,PSO-SVM分類模型與SVM分類模型相比較總體分類正確率提高了3.72%,不同的空氣質(zhì)量樣本正確率也有著較大的提高。其中:輕度污染的分類正確率提高了5.35%,中度污染的分類正確率提高了14.34%,重度污染的分類正確率提高了8.34%。
(1)采用PM2.5、PM10、SO2、NO2、CO、O3的數(shù)值指標(biāo)組成的六維特征向量,能夠有效的表征空氣質(zhì)量的等級(jí)。
(2)通過對(duì)SVM分類算法的訓(xùn)練,得到的分類模型能夠?qū)諝赓|(zhì)量等級(jí)進(jìn)行分類,但是分類準(zhǔn)確率還有待提高。
(3)PSO優(yōu)化算法能夠以迭代尋優(yōu)的方式在全局搜尋SVM的最佳參數(shù)c和gamma,使得此時(shí)的適應(yīng)度函數(shù)達(dá)到最優(yōu)。
(4)PSO-SVM算法能夠?qū)諝赓|(zhì)量等級(jí)進(jìn)行分類,且相比較SVM分類算法,其分類正確率有著大幅度的提高。