孔凡備 李宇晗 何世宇 楊愛民
摘要:支持向量機(support vector machine, SVM)是一種新型的機器學習方法,由于其出色的學習性能,已經(jīng)廣泛應(yīng)用于模式識別、數(shù)據(jù)挖掘、故障預測以及非線性控制等領(lǐng)域,并成為當前機器學習界的研究熱點。為提高太湖流域水質(zhì)變化預測能力,該文運用基于支持向量機的回歸預測算法(Support Vector Regression,SVR),對太湖流域水質(zhì)狀況進行擬合預測,并與BP神經(jīng)網(wǎng)絡(luò)預測情況進行比較,發(fā)現(xiàn)在樣本容量較小的狀況下SVR 整體性能優(yōu)于BP神經(jīng)網(wǎng)絡(luò)方法,有很強的學習能力、泛化能力,為支持向量回歸機模型在水質(zhì)預測進一步應(yīng)用和發(fā)展提供借鑒。
關(guān)鍵詞:支持向量回歸機;水質(zhì)預測;核函數(shù);BP神經(jīng)網(wǎng)絡(luò)
中圖分類號:029 文獻標識碼: A 文章編號:
0引言
支持向量機(Support Vector Machine, SVM)是一種基于統(tǒng)計學習的新型算法,由Vapnik等人[1]在統(tǒng)計學習理論中的VC維理論和結(jié)構(gòu)風險最小化原則的基礎(chǔ)上于1995年完整地提出。1997年Vapnik等人[2]詳細介紹了基于支持向量機方法的回歸估計方法(Support Vector Regression,SVR)和信號處理法,了研究支持向量機的熱情。支持向量機有極其突出的分類與回歸性能,該算法逐漸在許多研究領(lǐng)域得到了廣泛的應(yīng)用與研究,近年來已走向復雜非線性科學和人工智能科學研究前沿。
1.支持向量回歸理論基礎(chǔ)
1.1 支持向量機理論
支持向量機的基本思想是在線性可分的情況下,在空間的原始分類中尋找最佳超平面。在線性不可分的情況下,加入松弛變量進行分析,通過非線性映射將低維輸入空間的樣本映射到高維屬性空間變?yōu)榫€性情況,這使得對高維屬性空間采用線性算法,對樣本的非線性進行分析是可能的,并找到特征空間的最優(yōu)超平面。
1.2 支持向量回歸機的基本原理簡介
SVM方法的核心思想之一是尋找兩類分類問題的最優(yōu)分類面,引出了支持向量的概念。SVM方法的另一核心思想是通過非線性映射?將樣本集映射到一個高維以至于無窮維的Hilbert空間[4](稱為特征空間),所以樣本空間中的高度非線性問題在高維空間中應(yīng)用線性分類可以得到實現(xiàn),從而解決了非線性問題。
與分類問題不同的是,回歸的樣本點只有一類,其所尋求的最優(yōu)超平面不是使兩類樣本點分得“最開”,而是令所有樣本點離超平面的“總偏差”最小,此時所有樣本點都在兩條邊界線之間,并求得最優(yōu)回歸超平面同樣等價于求最大間隔。
1.2.1 ε-不敏感損失函數(shù)
支持向量回歸機(Support Vector Regression,SVR)是把支持向量機推廣到回歸問題建立的新的回歸算法,該算法需要引入合適的損失函數(shù)以保證支持向量機重要性質(zhì)的存在條件。SVR將Vapnik 的ε-不靈敏函數(shù)作為誤差函數(shù)(即誤差小于ε時視為無誤差):
其中
1.2.2非線性回歸的求解
設(shè)訓練集為
采用上述的ε-不敏感損失函數(shù),并限定在線性函數(shù)集合中的回歸估計函數(shù),基于結(jié)構(gòu)風險最小化原則,當全部樣本點到所求超平面的距離都可以小于ε時,尋找最優(yōu)回歸超平面的問題便轉(zhuǎn)化為求解如下一個二次凸規(guī)劃問題:
當部分樣本點到最優(yōu)超平面的距離大于ε時,引入松弛變量ξ,構(gòu)造容錯懲罰系數(shù)C,此時最優(yōu)化問題轉(zhuǎn)化為:
引入拉格朗日(Lagrange)函數(shù)[5]得到其對偶形式:
按照KKT條件,故有:
由上式可以求出b。
上式中SV為標準支持向量機集合,NNSV為標準向量機數(shù)量。
可得所求的最優(yōu)超平面線性回歸函數(shù)為:
1.2.3 線性回歸的求解
求解非線性回歸函數(shù)時,需要將訓練集映射到高維空間,然后再運用線性回歸方法進行求解。假設(shè)存在映射函數(shù),便可以將歐式空間中的輸入集合映射到希爾伯特空間中集合,此時便可得到與對應(yīng)的原始問題.
在采用拉格朗日乘數(shù)法對原始問題進行對偶變換之后,可以得到加入特征映射函數(shù)Φ(x)的對偶問題,其具體形式如下所示:
進行特征映射時有些狀況下會造成維數(shù)災(zāi)難。因此在進行回歸問題求解過程中,通常運用核函數(shù)方法來進行映射函數(shù)內(nèi)積的運算。如果對任意x,z∈T函數(shù)K(x,z)滿足如下公式所示的條件,則稱K(x,z)為核函數(shù)。在公式中Φ (x)·Φ(z)為映射函數(shù)Φ(x)和Φ(z)的內(nèi)積。核函數(shù)的形式有很多,常見的形式主要包括多項式核函數(shù)和高斯徑向基核函數(shù)[6],其具體形式分別如下所示:
按照經(jīng)驗,映射函數(shù)Φ(x)和Φ(z)的內(nèi)積計算過程很困難,而核函數(shù)K(x,z)的計算方法卻容易許多。因此,可采用核函數(shù)Φ(x)·Φ(z)來替換求解過程中遇到的內(nèi)積 進行求解。在運算過程中,不直接對映射函數(shù)的內(nèi)積進行計算,而通過核函數(shù)來計算映射函數(shù)的內(nèi)積,是支持向量回歸機算法中非常有效的一種方法。然后,通過序列最優(yōu)化算法可得到參數(shù)w和b,最終的非線性回歸函數(shù)如下所示:
2 水質(zhì)預測的SVR模型研究
用支持向量機進行水環(huán)境的水質(zhì)預測,首先需要確定影響水質(zhì)的主要影響因素;其次選擇具有實測數(shù)據(jù)的主要因素組成樣本數(shù)據(jù)集,并利用SVM進行學習訓練;然后根據(jù)訓練后獲得的參數(shù)進行水質(zhì)預測,并與BP神經(jīng)網(wǎng)絡(luò)進行比較??梢缘贸觯琒VR的預測效果優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。這是因為在樣本較少的訓練過程中神經(jīng)網(wǎng)絡(luò)出現(xiàn)了“過學習”現(xiàn)象,而SVR模型則通過調(diào)整常數(shù),使得誤差盡可能小,而且回歸函數(shù)更加平滑,因此提高了泛化能力。
3 結(jié)論
本文對支持向量回歸機的基本思想、軟間隔支持向量回歸機、對偶轉(zhuǎn)換和問題求解以及非線性回歸求解等支持向量回歸機的基本理論進行了綜述,并在對支持向量回歸機模型的綜述基礎(chǔ)上,將ε-SVR應(yīng)用于太湖水域水質(zhì)狀況預測,并與BP神經(jīng)網(wǎng)絡(luò)模型進行對比分析,其擬合精度與神經(jīng)網(wǎng)絡(luò)模型相差不大,但在預測精度上要明顯比其高,充分證明其較強的學習能力和泛化能力。支持向量回歸機的參數(shù)選擇的是否合適,直接關(guān)系到支持向量回歸機算法運用效果的優(yōu)劣,而如何準確的對參數(shù)進行選擇缺少系統(tǒng)且一般的方法,可以考慮如遺傳算法,混沌預測,神經(jīng)網(wǎng)絡(luò)等這與支持向量機結(jié)合進行改進,支持向量回歸機的發(fā)展領(lǐng)域很廣泛,相信對于支持向量回歸機的進一步研究將推進科學研究的發(fā)展。