張 丹,周水生,張文夢
(西安電子科技大學 數學與統計學院,陜西 西安 710126)
支持向量機(Support Vector Machines,SVM)作為處理二分類問題的一種重要方法,已被廣泛應用于各個領域[1-4]。不同于傳統的支持向量機,最小二乘支持向量機(Least Squares Support Vector Machines,LSSVM)是基于一組等式約束提出的,只需通過求解一個線性方程組即可得到閉式解,而不是求解一個對偶的二次規劃問題[5],從而加快了訓練速度。目前,LSSVM已廣泛應用于模式識別[6]、故障診斷[7]、圖像分類[8]和偏微分方程求解[9]等領域。然而,LSSVM易受離群點和噪聲的影響。為了解決離群點和噪聲對LSSVM的影響,SUYKENS等[10]提出了加權最小二乘支持向量機(Weighted Least Squares Support Vector Machines,WLSSVM),通過為每個樣本點分配不同的權值來降低影響,提高模型的魯棒性。YANG等[11]提出了一種魯棒的最小二乘支持向量回歸機(Robust Least Squares Support Vector Machines,RLSSVM),該方法同時最小化全局模型誤差的方差和均值,實驗表明可以有效降低噪聲對模型的影響。MA等[12]提出了一種新的魯棒最小二乘支持向量分類器(Robust Least Squares Support Vector Classifier,RLSSVC),通過最小化各類模型誤差的均值和方差來提高分類器的魯棒性。CHEN等[13]將最小二乘損失函數換成截斷損失函數,提出稀疏的魯棒最小二乘支持向量機(Sparse Robust Least Squares Support Vector Machines,SRLSSVM)降低了噪聲的影響,提高了模型的魯棒性。此外,LIN等[14]首次提出了模糊支持向量機(Fuzzy Support Vector Machines,FSVM),為每個樣本點賦予不同的隸屬度值,使不同的樣本點對最優分離超平面有不同的貢獻。通過對離群點和噪聲賦予低的隸屬度,降低了離群點和噪聲對分離超平面的影響。對于FSVM算法,其關鍵問題是如何設計隸屬度函數。對于隸屬度的確定,TANG[15]提出了一種新的模糊函數,通過計算一類的樣本點到另一類樣本點邊界的距離,有效地區分支持向量和噪聲。BATUWITA等[16]提出基于三種距離的線性和指數模糊函數,并將其用于不平衡數據的分類。LIU[17]在此基礎上提出了新的高斯模糊函數,實驗表明,其分類效果良好。TAO等[18]基于空間一致性原則提出了基于親和力和類概率的模糊支持向量機,可以有效減小離群點和噪聲對模型的影響。FAN等[19]通過計算樣本的高階類概率提出了基于熵的模糊支持向量機,利用樣本點熵的信息來確定樣本點的隸屬度。然而,上述模糊值的提出,均基于樣本點對其所在類的隸屬程度,未考慮樣本點與另一類的關系。
為了更加細致地刻畫樣本點的不確定程度,ATANASSOV[20]提出了直覺模糊集,包含了樣本點的隸屬度、非隸屬度及猶豫度三方面信息。哈明虎等[21]基于直覺模糊集提出了直覺模糊支持向量機,通過樣本的分布特征確定樣本的隸屬度和非隸屬度,將樣本直覺模糊化,再利用支持向量機對直覺模糊化的樣本進行分類。在直覺模糊支持向量機中,樣本點對最優分離超平面的貢獻由直覺模糊集的兩個參數(隸屬度和非隸屬度)給出,從而在一定程度上減少了噪聲和離群點的影響。HA等[22]提出了一種新的基于直覺模糊集和核函數的模糊支持向量機(Intuitionistic Fuzzy Support Vector Machines,IFSVM),對處理離群點和噪聲問題表現優越。REZVANI等[23]將直覺模糊數引入雙支持向量機模型,得到直覺模糊雙支持向量機。該方法根據樣本點的得分函數來評價樣本點對分離超平面的貢獻,這種方法可以區分支持向量和噪聲,改進了傳統的基于樣本點類中心的模糊支持向量機將支持向量賦予低的模糊值的缺點。上述直覺模糊數的給出方式可以很好地減少噪聲和離群值的影響,但是也有其不足之處。計算隸屬度時,類中心是基于所有樣本點計算的,而離群點可能會導致類中心偏移;非隸屬度的計算依賴參數的選取,對于分布稀疏的樣本點,若半徑選取不合適,則會造成計算不準確。
針對上述問題,基于直覺模糊集,筆者提出了新的隸屬度函數和非隸屬度函數來確定樣本點的直覺模糊數。通過更新樣本點的類中心與球面減少離群點的影響,使得隸屬度更加準確,同時采用核k近鄰方法計算非隸屬度函數,避免了鄰域內樣本點稀疏導致樣本點非隸屬度不準確的問題。然后根據隸屬度與非隸屬度計算得分函數來為樣本點分配模糊值,通過對離群點和噪聲賦予很低的模糊值來降低其對分類模型的影響。進一步將提出的新的模糊值用于LSSVM模型,用來減少離群點和噪聲對LSSVM的影響,從而提升模型的魯棒性。
(1)
其中,ξi是第i個樣本的誤差,φ(xi)是一個將xi映射到高維特征空間的非線性函數,C是懲罰因子。
通過求解Karush-Kuhn-Tucker(KKT)條件可以得到如下線性方程組:
(2)
其中,I∈Rl×l是單位陣,e=(1,1,…,1)T是分量為1的矩陣,Y=(y1,y2,…,yl)T表示標簽向量,Z=[φ(x1)Ty1,…,φ(xl)Tyl]T表示特征矩陣與標簽的乘積,α=(α1,α2,…,αl)T是拉格朗日乘子。通過求解式(2)可以得到問題的解:
(3)
1.2.1 直覺模糊集
定義1設X是一個非空集合,則稱下式為模糊集[20]:

(4)

定義2設χ是一個給定論域,則χ的一個直覺模糊集[20]定義為
A={(x,μA(x),νA(x))|x∈X} ,
(5)
其中,μA(x)和νA(x)分別為x∈X的隸屬度函數和非隸屬度函數,其中μA∶X→[0,1],νA∶X→[0,1]且有0≤μA(x)+νA(x)≤1成立。x∈X的得分函數[22]可以定義為
(6)
隸屬度函數體現了x對集合X的隸屬程度,隸屬程度越高,隸屬度越大;非隸屬度函數體現了x不屬于集合X的程度。在處理分類問題時,隸屬度通常指樣本點對其所在類的隸屬程度,體現了樣本點與所在類的關系;非隸屬度通常用樣本點與其他類的關系來體現樣本點不屬于其所在類的程度。得分函數利用樣本點的隸屬度與非隸屬度值給出了樣本點的分數值,可以用來比較同一類中不同樣本點的隸屬程度。
1.2.2 直覺模糊支持向量機
(1) 隸屬度函數定義為
(7)
其中,δ>0為參數,r+、r-和C+、C-是正負類點的半徑和類中心。
(2) 非隸屬度函數衡量了樣本點鄰域內異類樣本點與鄰域內所有樣本點的關系,其定義為
ν(xi)=(1-μ(xi))ρ(xi) ,
(8)
并滿足0≤μ(xi)+ν(xi)≤1,且ρ(x)定義為
(9)
其中,τ>0是參數。
根據樣本點的隸屬度和非隸屬度函數,定義其得分函數為
(10)
基于上述直覺模糊值的支持向量機模型為
(11)
其中,ξi是第i個樣本的誤差,φ(xi)是一個將xi映射到高維特征空間的非線性函數,C是懲罰因子。
在上述隸屬度的定義中,樣本點的類中心是基于所有樣本點來計算的,受離群點的影響,得到的類中心可能是不準確的。在計算大多數樣本點的類中心時,應考慮離群點的影響。計算樣本點的非隸屬度時,對于分布稀疏的樣本點,若鄰域半徑τ選取過小,則會導致鄰域內樣本點數量較少,計算得到的非隸屬度不準確。
在已有的研究中,定義了很多經典的模糊函數,如文獻[16-17]中提出的3種模糊函數:
(12)
(13)
(14)
對于距離也有不同的定義方式,如在文獻[16]中介紹了3種距離:① 樣本點到自己類中心的距離,記為dcen;② 樣本點到預估分離超平面的距離,記為dsph,預估的分離超平面是所有樣本點的中心;③ 樣本點到分離超平面的距離,記為dhyp,該距離先訓練一次傳統的支持向量機,再計算樣本點到分離超平面的距離。
這些模糊函數的提出有一定的局限性:
(1) 上述模糊值是基于距離給出的,但是相同距離的訓練樣本點對分離超平面的貢獻不一定相同,因此僅基于距離提出的模糊值不能準確描述訓練樣本點對其所在類的隸屬度。
(2) 基于到樣本點類中心的距離得到的模糊值可能是不準確。樣本點的類中心是基于該類所有的樣本點計算的,受離群點的影響,得到的類中心不一定是準確的,因此用該類中心的距離計算的模糊值也可能是不準確的。在計算類中心時,應盡可能避免離群點的影響。
(3) 上述模糊值的給出都是在樣本點的輸入空間,模糊值描述了樣本點在輸入空間中的數據特征,而分類時往往是在高維空間中進行,將輸入空間中得到的模糊值用于高維空間分類是不合理的。根據空間的一致性原則,應利用樣本點在高維空間中的數據特征給出模糊值,再在高維空間中進行分類。
由上述分析可知,已有的模糊值函數并不能很好地描述樣本點的分布信息。為此筆者提出一種新的直覺模糊最小二乘支持向量機,結合樣本點隸屬度與非隸屬度信息,賦予樣本點更為合理的模糊值,從而提高分類準確率。
給出了樣本點的隸屬度函數與非隸屬度函數,再根據其得分函數給出最終模糊值,并將其用于改進LSSVM模型,得到一種新的直覺模糊最小二乘支持向量機(New Intuitionistic Fuzzy Least Squares Support Vector Machines, NIFLSSVM)。
為了減少離群值和噪聲對模型的影響,選擇合適的模糊函數是至關重要的?,F有的模糊值大多是基于樣本點的隸屬度函數給出的,未考慮樣本點的非隸屬度?;谥庇X模糊集給出了描述樣本點與所在類的關系隸屬度函數和樣本點與其他類的關系非隸屬度函數,根據其得分函數得到最終直覺模糊數。此外,基于空間一致性原則,在高維空間中給出樣本點的直覺模糊數。
2.1.1 隸屬度函數
隸屬度函數通常用于衡量樣本點對其所在類的隸屬程度,隸屬程度越高,隸屬度的值越大。隸屬度函數的計算往往需要利用樣本點到其類中心的距離及其所在類的半徑。目前,對于類中心和類半徑的計算大多是基于所有樣本點的,得到的球面包含了所有樣本點。但是受離群點和噪聲的影響,類中心和類半徑的值可能是不準確的,從而計算得到的隸屬度也可能不準確。因此在計算類中心和類半徑時,可以考慮大部分樣本點的類中心和類半徑,以減少影響。因此通過更新樣本點的類中心和類半徑,可以得到包含大部分樣本點的球面,來降低離群點和噪聲的影響。具體方法如下。
首先計算高維空間中所有樣本點到各自類中心的距離:
(15)

根據文獻[24]中對離群值的定義,找出可能的離群點和噪聲,這些可能的離群點和噪聲滿足以下條件:
d≥Q3+1.5Q,
(16)
Q=Q3-Q1,
(17)
其中,Q1為d0的第1位四分位數,Q3為d0的第3位四分位數。
去掉滿足式(16)和式(17)的離群點和噪聲,重新計算類中心和距離:
(18)
d±=‖φ(x)-C±‖ ,
(19)
此時得到的類中心是基于大多數樣本點的。
然后計算隸屬度為
(20)
其中,r±=max(d±)為樣本點到類中心距離的最大值,表示正負類的半徑。
為了體現更新類中心和類半徑對去除離群點和噪聲的作用,隨機生成一組數量為160的人工數據。首先找到正類樣本點的類中心和類半徑,得到包含所有樣本點的球面,再對類中心和類半徑進行更新,得到包含大部分樣本點的球面,結果如圖1所示。圖1(a)中的類半徑是基于所有樣本點的,可以看出,受離群點的影響,初始的類半徑很大,這可能導致計算得到的隸屬度不準確。圖1(b)中,通過計算樣本點到原始類中心的距離識別出離群點,得到更新后基于大多數樣本點的類半徑和類中心,使得計算得到的模糊值更準確。

(a) IFSVM
2.1.2 非隸屬度函數
衡量樣本點的某個鄰域內異類樣本點與鄰域內所有樣本點關系的非隸屬度函數,很大程度上依賴于鄰域半徑的選取。對于樣本點稀疏的情況,若半徑選取不當,就會造成非隸屬度不準確。而核k近鄰方法不會受到樣本點分布稀疏的影響,能夠保證非隸屬度的準確性。因此,采用核k近鄰的方法來計算樣本點的非隸屬度函數。具體做法如下:
對于樣本點xi,先找到其在核空間中的k近鄰{xi1,xi2,…,xik},核空間中樣本點之間的距離計算公式為
(21)

計算非隸屬度函數:
ν(xi)=(1-μ(xi))ρ(xi) ,
(22)

采用核k近鄰方法計算樣本點的非隸屬度,可以避免樣本點分布稀疏,且非隸屬度函數鄰域因子選取不恰當時,造成樣本點非隸屬度的不準確。在圖1所示的人工數據上,分別找出正類樣本中的邊界樣本點A,噪聲B以及正常樣本點C的鄰域與k近鄰,具體見圖2。

(a) IFSVM
根據隸屬度與非隸屬度函數,得到如下直覺模糊集:
T={(x1,y1,μ1,ν1),…,(xm,ym,μm,νm)} ,
(23)
其中,μi,vi分別表示樣本點xi的隸屬度與非隸屬度。定義其得分函數如下:
(24)
式(24)中將隸屬度小于非隸屬度(μi LSSVM模型易受離群點和噪聲的影響,結合模糊支持向量機的思想,通過給離群點和噪聲賦予更小的模糊值,可以減少離群點和噪聲對模型的影響。因此,筆者將提出的模糊值用于改進LSSVM模型,得到新的直覺模糊最小二乘支持向量機(NIFLSSVM),其模型被表示為 (25) 其中,si為樣本點xi的模糊值。 通過求解KKT條件可以得到如下線性方程組: (26) (27) 綜上所述,把訓練過程總結到算法1。 算法1NIFLSSVM算法。 輸入:訓練樣本S={(x1,y1),…,(xm,ym)},yi={+1,-1},罰參數C,核參數δ及近鄰數k。 輸出:w。 ② 根據式(16)剔除樣本點中的離群點,重新計算樣本點的類中心C±和距離d±。 ③ 利用式(20)計算樣本點的隸屬度μ(xi)。 ④ 找出樣本點的k個近鄰里異類樣本點的數量,利用式(22)計算樣本點的非隸屬度v(xi)。 ⑤ 根據μ(xi)與v(xi),利用式(24)計算樣本點最終的模糊值s(xi)。 ⑥ 如式(25)所示,訓練NIFLSSVM模型得到w。 筆者提出的NIFLSSVM算法在計算隸屬度時,為了避免離群點的影響,采用了更新類中心和類半徑的方法,相比已有的隸屬度計算方法,用文中算法計算的隸屬度更準確;計算非隸屬度時,采用核k近鄰的方法,可以自適應地選取半徑計算非隸屬度值,相比已有的非隸屬度函數的計算方法,文中算法計算得到的非隸屬度充分利用樣本點分布特征,防止樣本點被誤判為噪聲或離群點,得到的非隸屬度值更合理。在計算模糊值時,采用得分函數結合樣本點的隸屬度與非隸屬度給出最終的模糊值,充分利用樣本點信息,提高了分類模型的準確性。進而將新的直覺模糊值與LSSVM模型相結合,得到了比FSVM模型訓練速度更快的NIFLSSVM算法。 為了驗證筆者提出算法的有效性,選取了1組人工數據和12個真實數據集進行實驗。實驗環境為Windows 7系統,8 GB內存,Intel(R)Core(TM)i7 4790 CPU的電腦,編程環境為Matlab R2018b。 為了直觀地檢驗算法有效性,在人工數據集上進行實驗。隨機生成300個人工數據,選取200個數據進行訓練,其余數據用作測試集。對訓練集中的正類樣本點采用標簽反轉的方式隨機添加10%的噪聲,得到帶有噪聲的人工數據集。將文獻[23]中提出的直覺模糊數用于改進LSSVM模型,得到IFLSSVM算法,與筆者提出的NIFLSSVM算法進行對比。先在原始的人工數據集上進行訓練,得到未加噪聲的分離超平面,再在帶有噪聲的數據集上進行訓練,得到新的分離超平面,分別比較兩種算法的性能。兩種算法在訓練集上的分類結果見圖3??梢钥闯?,添加10%的噪聲后,IFLSSVM的分離超平面的偏移較大,而NIFLSSVM的分離超平面幾乎保持不變,說明NIFLSSVM可以有效減少離群點和噪聲對分離超平面的影響。此外,IFLSSVM和NIFLSSVM在未添加噪聲的測試集上的準確率均為98%,在添加噪聲的測試集上的準確率分別為97.5%和98%。NIFLSSVM的測試準確率更高,可以更好地識別出噪聲和離群點。 (a) IFLSSVM 使用UCI數據集來評估NIFLSSVM的性能。從UCI數據庫選取12個數據集,相關數據集的詳細信息見表1。對于所有的數據集,隨機選取80%的樣本作為訓練集,剩余20%用于測試。所有的實驗數據均進行歸一化處理。實驗分為兩部分,節3.2.1中將文中算法與現有的魯棒性算法進行對比,通過添加不同比值的噪聲來對比模型的魯棒性;節3.2.2中,將筆者提出的直覺模糊數與現有的模糊值進行對比,通過給LSSVM模型設置不同的模糊值來比較不同模糊值的優劣。 表1 數據集基本信息 在所有實驗中,采用高斯核函數K(x1,x2)=exp(-σ‖x1-x2‖2),選取核參數σ∈{2-5,2-4,…,24,25},懲罰參數C∈{10-5,10-4,…,104,105}。同時采用五折交叉驗證和網格參數尋優選取最優參數,所有實驗在同一條件下重復10次求平均值統計結果。 3.2.1 與魯棒性算法對比 為了驗證筆者提出算法的魯棒性,將NIFLSSVM與LSSVM、WLSSVM[10]、RLSSVC[12]、SRLSSVM[13]算法進行比較。對于RLSSVC,其正則化參數λ1、λ2的取值范圍為{10-6,10-5,…,10-1,100}。在SRLSSVM中,設置平滑參數為p=104,停止標準ε=10-2,λ∈{10-1,100,…,104,105},核參數σ∈{2-8,2-7,…,23,24}。對于NIFLSSVM,參數k的取值范圍為k∈{5,7,9,11,13}。 實驗分為兩部分:第1部分在真實數據集上對比5種算法的測試準確率,具體結果見表2;第2部分,為了進一步分析算法的魯棒性,在數據集上分別添加5%、10%、15%、20%的噪聲進行實驗,計算上述5種算法在測試集上的準確率,實驗結果見圖4。 表2 在真實數據集上的實驗結果對比 % 從表2可以看出,在大部分數據集上,WLSSVM、SRLSSVM、RLSSVC及NIFLSSVM算法的分類結果要優于LSSVM。同時相比于WLSSVM、SRLSSVM和RLSSVC,NIFLSSVM算法在大部分數據集上分類性能更好。就平均精度而言,NIFLSSVM要優于其余算法。實驗結果表明,筆者提出的NIFLSSVM算法,通過給離群點和噪聲賦予低的模糊值,可以有效減少離群值和噪聲的影響,進而提高分類準確率。 由圖4可以看出,隨著噪聲所占比值的增大,所有算法的性能均有所下降。SRLSSVM算法在大部分數據集上,隨著噪聲占比的增大,準確率變化不大,說明該算法更穩定,但其在數據集上整體的分類效果不佳。RLSSVC和WLSSVM算法隨著噪聲比值增加,準確率下降的趨勢明顯。在Sonar數據集上,RLSSVC的分類結果比LSSVM、WLSSVM及SRLSSVM更好,與NIFLSSVM相差不大。而NIFLSSVM在Tictactoe及Satimage兩個數據集上分類性能一般,在其余數據集上測試準確率則要優于其余算法。實驗表明,NIFLSSVM在添加了不同比值噪聲的數據集上表現良好,可以有效減少離群點和噪聲的影響。 圖4 真實數據集上添加不同比值噪聲的實驗結果對比 3.2.2 與模糊支持向量機算法對比 將筆者所提模糊值與已有的模糊值進行比較。將文獻[23]中提出的直覺模糊數結合LSSVM模型,得到IFLSSVM算法。將文獻[17]中提出的模糊函數用于LSSVM模型,得到FLSSVM算法。在如表1所述的數據集上進行實驗,驗證算法的有效性。分別對比FLSSVM,IFLSSVM與NIFLSSVM的測試準確率與訓練時間,實驗結果見表3。 表3 與模糊支持向量機算法對比的實驗結果 從表3可以看到,NIFLSSVM算法的分類結果要優于FLSSVM和IFLSSVM算法,而IFLSSVM在大部分數據集上的分類效果要優于FLSSVM。這是因為直覺模糊數既考慮了樣本點對其所在類的隸屬度,又考慮了樣本點的非隸屬度,得到的模糊值更為準確。而筆者提出的直覺模糊數,可以得到更為準確的隸屬度與非隸屬度,進而可以更加準確地識別出離群點和噪聲。就訓練時間而言,FLSSVM訓練時間更長,這是因為FLSSVM需要提前訓練一次LSSVM。而相比于IFLSSVM,NIFLSSVM訓練時間稍長,這是因為NIFLSSVM需要更新類中心。 3.2.3k值對性能的影響 為了研究k值對NIFLSSVM算法分類性能的影響,在表1所述的12個真實數據集上進行了實驗,研究當k取不同值時測試準確率的變化。設置k的取值范圍為k∈{5,7,9,11,13},其余參數設置為由交叉驗證得到的最優參數,實驗結果見圖5。 從圖5可以看出,k值的變化對大部分數據集的測試準確率影響不大,主要原因是用k值計算樣本點的非隸屬度時,對正常樣本點而言,非隸屬度值很小或者為0,因此在最后計算模糊值時由隸屬度起主導作用;對于噪聲點,計算出的非隸屬度大于隸屬度,模糊值會被賦為0。由于非隸屬度對樣本點模糊值的影響較小,因此k值對最終的測試準確率影響較小。但是k值對于Haberman數據集的影響較大,這可能是數據集的數據分布導致的。此外還可以看出,大部分數據集在k=7時,測試準確率較高。 圖5 測試準確率隨k值變化結果圖 筆者提出了一種新的直覺模糊最小二乘支持向量機(NIFLSSVM),充分利用樣本點的隸屬度與非隸屬度信息為其分配直覺模糊數,通過對離群點和噪聲分配低的模糊值來降低其對分類模型的影響,提高模型的魯棒性。在人工數據集和UCI數據集上的實驗表明,NIFLSSVM相比于其他魯棒性算法有更好的性能,與不同的模糊值相比,筆者提出的直覺模糊數表現更好。但是在計算直覺模糊數時,耗時較長,需要改進。2.2 新的直覺模糊最小二乘支持向量機

3 實驗結果分析
3.1 人工數據集

3.2 UCI數據集





4 結束語