邱云志,汪廷華,余武清
(贛南師范大學 數(shù)學與計算機科學學院,江西 贛州 341000)
支持向量機(Support Vector Machine, SVM)[1-2]是由統(tǒng)計學習理論發(fā)展而來的一種機器學習算法,最早于20世紀90年代中期由Vapnik等人提出.SVM算法的核心在于引入了核函數(shù)的概念,創(chuàng)造性地把非線性問題轉(zhuǎn)化為線性問題來解決,避免了直接在高維特征空間中的復雜計算,即將樣本點通過核函數(shù)從輸入空間映射到高維的特征空間,在特征空間中尋找最優(yōu)分類超平面的過程.SVM算法所具有的堅實的數(shù)學理論基礎、較強的泛化能力和全局最小值的求解,使得SVM廣泛應用于模式識別的分類和回歸等問題,例如在圖像分類[3]、自然語言處理[4]、生物信息學[5]等領域的應用中都表現(xiàn)出了良好的性能.雖然SVM算法在理論和應用上都有一定的優(yōu)勢,但是由于過擬合[6]現(xiàn)象的發(fā)生,標準SVM在訓練過程中對訓練集的噪聲或離群點非常敏感,從而使得該算法的容噪性很差,在某些實際應用中不能很好的發(fā)揮它的性能.
為了緩解噪聲或離群點敏感的問題,Lin和Wang[7]提出了一種模糊支持向量機(Fuzzy Support Vector Machine, FSVM)模型用于有噪聲或離群點的分類,F(xiàn)SVM算法對每個輸入的樣本點賦予模糊隸屬度值,使不同的樣本點對最優(yōu)分類超平面的構(gòu)建具有不同的貢獻,降低了噪聲或離群點對最優(yōu)決策面的影響.針對FSVM算法的關鍵問題,即在如何確定隸屬度函數(shù)這一方面已經(jīng)做了大量的工作.Lin和Wang[7]給出了原始的隸屬度函數(shù)的計算,表示為樣本空間中的數(shù)據(jù)樣本點到其所在類中心的歐式距離.該方法存在的一個問題是當樣本分布不是球形分布時,每個樣本點對決策函數(shù)的貢獻不能很好的表示出來.針對這一問題,基于特征空間的歐式距離的計算在文獻[8]中被提了出來.Tang[9]提出了一種基于樣本空間和特征空間中一類的樣本點到另一類樣本點邊界的距離的隸屬度函數(shù),可以有效的區(qū)分支持向量和噪聲.上面幾種方法在設計隸屬度函數(shù)時沒有考慮到樣本之間的關系,文獻[10]不僅考慮了樣本與類中心的距離,同時考慮了樣本之間的關系,實驗結(jié)果表明,能有效的區(qū)分樣本點、噪聲以及離群點.還有一些其他的方法來改進常規(guī)的FSVM模型,如基于聚類算法的FSVM[11-13],通過使用聚類方法來取得更具有魯棒性的隸屬度值.文獻[14]提出了雙邊加權(quán)的模糊支持向量機,通過給每一個樣本分別賦予一個正類和負類的隸屬度,使得新的FSVM具有更好的泛化能力.正則化單調(diào)FSVM[15]則是提出了一種新的基于訓練數(shù)據(jù)偏序的FSVM模型,該模型考慮了先驗領域知識的單調(diào)性,并以不等式的形式表示.文獻[16]提出了基于中心核對齊的模糊支持向量機,在計算生物學和一些分類問題上,該算法在相關性能上有一定的優(yōu)越性.針對類不平衡的數(shù)據(jù)集,文獻[17-18]分別在常規(guī)的FSVM算法上進行了相應的改進,使得算法在非平衡數(shù)據(jù)集上的應用性能有所提升.文獻[19]考慮到不同的特征對FSVM算法的隸屬度的確定的影響,提出了基于Relief-F特征加權(quán)的FSVM分類算法,比傳統(tǒng)的基于歐式距離的FSVM算法具有更高的分類精度和效率.目前如何確定一個合適的隸屬度函數(shù)還沒有一個通用的準則,如何確定樣本的隸屬度是該算法的難點,同時也是一個研究熱點問題.
本文的主要部分組織如下.第2部分簡要介紹FSVM算法的理論基礎,第3部分詳細介紹幾種常用的隸屬度函數(shù)設計方法,第4部分是FSVM算法在現(xiàn)實領域中的應用,最后針對模糊支持向量機算法的關鍵問題,即模糊隸屬度函數(shù)的設計,給出一些未來研究方向的展望.
標準的SVM算法是針對二分類問題提出來的,在處理多類分類問題中,通常采用一對一或者一對多的策略將多類分類問題轉(zhuǎn)化為二分類的問題處理,不是一般性,本文以二分類問題為例進行闡述.FSVM算法基于標準SVM算法,通過給每個樣本點賦予一個隸屬度值,使不同的樣本對最終的決策函數(shù)有不同的貢獻,解決了標準SVM算法容噪性差的缺點,適用于有噪聲或離群點的分類問題.
(1)
其中,ξ=(ξ1,…,ξl)T是松弛變量,C>0是正則化參數(shù),保持分類最大間隔與分類誤差之間的平衡.siξi為衡量對于重要性不同的變量錯分程度的度量,當si越小,ξi的影響越小,則對應的φ(xi)對于分類的作用就越小.siC則是衡量樣本xi在訓練FSVM算法時的重要程度,siC的值越大,代表樣本xi被正確分類的可能性越大,反之,表示樣本xi被正確分類的可能性越小.為了解決上述的最優(yōu)化問題,我們先構(gòu)造如下的拉格朗日函數(shù):
(2)
其中αi≥0,μi≥0為拉格朗日乘子,令L(w,b,α,ξ,μ)對w,b,ξi的偏導為零可得:
(3)
將方程(3)帶入方程(2),關于式(1)的優(yōu)化問題就可以轉(zhuǎn)化成下面的二次規(guī)劃問題,即:
(4)
其中:式(4)中K(xi,xj)=φ(xi)Tφ(xj)為核函數(shù),巧妙地把高維特征空間中的內(nèi)積運算轉(zhuǎn)化為在輸入空間上進行簡單的函數(shù)計算,解決了維數(shù)災難問題.求得相應的決策函數(shù)為:
(5)
其中:sign(·)是符號函數(shù).可以看出當αi>0時,對應的樣本點xi為支持向量.
FSVM算法在處理含噪聲或離群點的樣本分類問題中,其分類效果優(yōu)于標準SVM算法.FSVM算法根據(jù)根據(jù)每個樣本點對分類所起的作用大小給其賦予不同的隸屬度.目前的難點在于如何確定隸屬度函數(shù)使算法的性能最優(yōu),然而沒有一個統(tǒng)一的標準去選擇合適的隸屬度函數(shù),通常需要針對具體的樣本情況根據(jù)經(jīng)驗來確定合適的隸屬度函數(shù).總的來看,這些隸屬度函數(shù)的設計方法各有利弊,下面歸納了幾種確定隸屬度函數(shù)的方法.
3.1.1 基于類中心距離的隸屬度函數(shù)
通過樣本到其所在類中心的距離來確定樣本的隸屬度大小.即樣本點到類中心的距離越小,表示該樣本點的隸屬度越大;反之,則表示該樣本點的隸屬度越小.
(6)
(7)
r+=maxdi+, r-=maxdi-
(8)
其中,l+,l-分別表示正類和負類樣本的個數(shù).
(9)
(10)
(11)
通過上面的計算可得出基于距離的隸屬度函數(shù)表達式如下:
(12)
其中,δ為事先給定的一個很小的正數(shù),r+=maxdi+,r-=maxdi-.
3.1.2 基于類內(nèi)超平面距離的隸屬度函數(shù)
基于類內(nèi)超平面距離確定隸屬度函數(shù)的方法,通過樣本點到類內(nèi)超平面的距離來度量隸屬度函數(shù)的大小.設x+、x-分別代表正類和負類樣本的類中心,則過正負樣本的類中心的類內(nèi)超平面為H1∶wT(x-x+)=0;H2∶wT(x-x-)=0,其中w=x+-x-為法向量,則:
(13)
(14)
(15)
通過上面的計算可得出基于類內(nèi)超平面距離的隸屬度函數(shù)表達式如下:
(16)
(17)
其中:δ是事先給定的一個很小的正數(shù),l+、l-分別表示位于兩個類內(nèi)超平面之間正類和負類樣本點的數(shù)目,λ的取值在[0,1]之間.
(18)
(19)
(20)
(21)
同理根據(jù)上面的式(12)可得到在特征空間中基于類內(nèi)超平面距離的隸屬度函數(shù)的表達式.
基于KNN算法確定隸屬度函數(shù)的方法側(cè)重于考慮樣本點之間的關系,其優(yōu)點是大大減少了計算量并且具有較強的魯棒性,具體的計算步驟如下:
其中:λ是小于1并趨于0的正數(shù),f表示控制函數(shù).通過上面的式子可以得出當di-average越接近dmin時,則μ(xi)的值越接近于1,樣本點xi是噪聲或離群點的可能性越大,反之樣本點xi是噪聲或離群點的可能性越小.
基于樣本緊密度確定隸屬度函數(shù)的方法,通過考慮樣本到其最小包圍球中心之間距離的遠近程度來度量.則位于最小包圍球半徑內(nèi)、外的樣本點的隸屬度函數(shù)的計算方法,分別采用如下的公式計算:
(22)
其中:ρ表示最小包圍球半徑,d(xi)表示樣本點xi到其最小包圍球中心a之間的距離,其表達公式如下:
(23)
通過隸屬度函數(shù)的定義公式(22)可以得出,樣本點的隸屬度的大小取決于樣本到最小包圍球中心的距離和樣本在空間中的分布情況.
基于FCM算法確定隸屬度函數(shù)的方法融合了模糊理論的精髓,相較于K均值的硬聚類,F(xiàn)CM算法提供了更為靈活的聚類結(jié)果.FCM算法的核心在于最小化聚類損失函數(shù)的過程,其表達式如下:
(24)
(25)
(26)
FSVM算法在標準SVM算法的基礎之上,通過給每個樣本點賦予一個隸屬度值,有效地解決了標準SVM算法容噪性差的缺點,特別是在處理含有噪聲或離群點的樣本方面,起到了很好的分類效果,具有較好的學習性能和泛化能力,成為模式識別和數(shù)據(jù)挖掘領域的研究熱點,在圖像處理、生物信息學、醫(yī)學應用等方面具有廣闊的應用前景.
圖像處理是目前人工智能領域的熱門研究方向,其中FSVM算法在圖像處理中的應用十分廣泛,可應用于圖像分割、邊緣檢測、人臉識別、遙感圖像分類、圖像去噪等方面.
圖像分割[20]是一種重要的圖像分析技術(shù),將一幅圖像分成若干個特定的、具有獨特性質(zhì)的區(qū)域并提出感興趣目標的技術(shù).傳統(tǒng)的圖像分割方法由于圖像的邊緣的復雜性,在實際的應用中效果不太理想.文獻[21]提出了模糊支持向量機算法應用于醫(yī)學圖像分割,通過對腫瘤圖像、頭CT圖像等的仿真分析,實驗結(jié)果表明應用模糊支持向量機算法可以有效地進行醫(yī)學圖像分割,在實際應用中有著廣泛的前景.文獻[22]針對彩色圖像分割問題,引入了基于加性組合核函數(shù)和KNN隸屬度函數(shù)的模糊支持向量機,實驗結(jié)果表明,同傳統(tǒng)的彩色圖像分割技術(shù)相比,性能方面有一定的提升.
圖像邊緣檢測[23]在本質(zhì)上是屬于圖像分類問題,標準的SVM算法對樣本中的離群點點或噪聲比較敏感,影響了在實際應用中的分類性能.文獻[24]通過使用FSVM算法進行圖像邊緣檢測,有效地降低了噪聲或離群點對分類性能的影響.文獻[25-26]則是分別選擇不同的隸屬度函數(shù),使得新的模糊支持向量機算法邊緣檢測抗干擾性更好,提取邊緣的效果更優(yōu),具有更強的適應性能.
人臉識別主要是提取待識別的人臉圖像的特征信息與數(shù)據(jù)庫中的已知人臉圖像進行對比,得出相關結(jié)論.決定人臉識別的效果如何,通常是選擇合適的特征提取方法和分類器,一般來講常見的特征提取和降維方法有主成分分析(PCA)、獨立成分分析(ICA)以及小波分析等,分類器有最近鄰算法、神經(jīng)網(wǎng)絡,以及SVM算法等.文獻[27]在特征提取與降維階段選擇了ICA算法,而不是傳統(tǒng)的PCA算法,從而消除了數(shù)據(jù)的相關性,此外結(jié)合了FSVM算法,使得實驗性能有了大幅度的提升,大大的提高了人臉識別率.文獻[28]基于PCA算法和ICA算法,提出了基于局部圖像的雙向PCA算法進行特征提取,然后用基于密度的雙隸屬度FSVM算法進行分類,在ORL人臉數(shù)據(jù)庫和AR人臉數(shù)據(jù)庫上的實驗結(jié)果不但在精度上有所提高,而且大大的縮短了實驗的時間,具有很好的借鑒作用.
此外,在遙感圖像分類中,文獻[29]提出了一種新的基于云模型的隸屬度函數(shù)的FSVM算法,與基于距離隸屬度的FSVM的分類結(jié)果相比精度有所提升.在圖像去噪方面,文獻[30]則是結(jié)合小波系數(shù)和FSVM算法,實驗結(jié)果顯示,該組合算法能較好的將噪聲從圖像中出來,從而留下有用的信息.
FSVM算法在生物學上的應用主要集中在以下幾個方面:
4.2.1 基因分類
傳統(tǒng)的基因分類方法包括粗糙集、神經(jīng)網(wǎng)絡、遺傳算法、支持向量機等,文獻[31]提出了基于最小二乘法的模糊支持向量機的基因分類方法,一方面解決了傳統(tǒng)的支持向量機對噪聲和孤立點敏感的問題;另一方面,與傳統(tǒng)的支持向量機而比,最小二乘支持向量機在目標函數(shù)中增加誤差平方和項、以及用等式約束代替不等式約束,求解速度大大加快,實驗結(jié)果表明該方法取得了較高的分類精度.
4.2.2 蛋白質(zhì)結(jié)構(gòu)預測
蛋白質(zhì)結(jié)構(gòu)是指蛋白質(zhì)分子的空間結(jié)構(gòu).按照蛋白質(zhì)的結(jié)構(gòu)層次,可以分為蛋白質(zhì)一級結(jié)構(gòu)、蛋白質(zhì)二級結(jié)構(gòu)、蛋白質(zhì)三級結(jié)構(gòu)和蛋白質(zhì)四級結(jié)構(gòu).文獻[32]提出結(jié)合蛋白質(zhì)序列相似性分析方法和模糊支持向量機算法進行蛋白質(zhì)二級結(jié)構(gòu)預測,實驗結(jié)果發(fā)現(xiàn)預測準確性有所提高.
4.2.3 生物分類識別
模糊支持向量機在生物分類識別上的應用也很廣泛,文獻[33]則是通過對紅蟲、猛水蚤、劍水蚤等浮游生物樣本進行分類,通過提取顏色、能量等作為特征向量,然后采用基于RBF核函數(shù)的FSVM作為分類器,實驗結(jié)果表示,該算法基本能正確識別紅蟲,具有比較好的分類精度.
FSVM算法在一些實際的故障診斷問題中表現(xiàn)出了良好的性能,文獻[34]在處理電力變壓器故障診斷的問題中,采用基于FCM的隸屬度函數(shù),避免了噪聲或離群點的影響,實驗結(jié)果表明FSVM算法比標準的SVM算法和改良IEC比值法具有更優(yōu)的性能.文獻[35]針對目前汽輪機故障診斷中存在的缺陷,提出了變分模態(tài)分解和采用粒子群算法優(yōu)化的FSVM算法相結(jié)合的診斷模型,不僅提高了診斷精度,而且縮短了時間.文獻[36]針對凝汽器工作過程中的故障問題,基于FSVM算法的故障診斷模型與神經(jīng)網(wǎng)絡算法的故障診斷算法對比后具有更高的效率和泛化能力.
此外,在預測方面,文獻[37]結(jié)合FSVM算法和魔密度聚類算法應用于半導體成品率的預測,文獻[38]表明FSVM算法對混凝土構(gòu)件的反向預測方面具有優(yōu)良的性能,文獻[39]提出一種改進的FSVM算法應用于汽輪機熱耗率的預測,表現(xiàn)出很好的泛化能力以及高預測率等.在預警方面,F(xiàn)SVM算法在火災預警[40]、海洋災害風險預警[41]等方面有著廣泛的應用.在文字識別[42]、情感識別[43]、油液磨粒自動識別[44]等方面,F(xiàn)SVM算法都表現(xiàn)出了良好的性能.
FSVM算法在標準SVM算法的基礎上,考慮到噪聲或離群點對算法性能產(chǎn)生的影響,通過選定的隸屬度函數(shù)給每個樣本賦予一個權(quán)重,解決了標準SVM容噪性差的缺點.本文對FSVM算法的發(fā)展現(xiàn)狀、數(shù)學理論基礎、以及常用隸屬度函數(shù)的設計方法做了詳細的論述,最后介紹了FSVM算法在現(xiàn)實領域中的一些應用.目前來看,F(xiàn)SVM在算法的優(yōu)化上,需要從兩個方面進行完善,其一需要提高算法的訓練速度,盡管最小二乘模糊支持向量機在速度上有所提升,但是泛化性能不佳,在處理非線性問題時不能處理大樣本數(shù)據(jù)問題等.其二則是針對FSVM算法的關鍵問題,即隸屬度函數(shù)的設計與選擇,此前關于隸屬度函數(shù)的設計都是根據(jù)具體的情況去選擇適當?shù)碾`屬度函數(shù),因此也設計出了諸多的隸屬度函數(shù),無論是先識別出噪聲或離群點,然后賦予其一個很小的隸屬度值,還是通過基于距離對噪聲或離群點賦予隸屬度,都還沒有一個統(tǒng)一的選擇和設計標準,對于這一方面的改進和完善是需要學者去研究的.