王志遠,吳成浩,王 正,張亞峰,王 佳
(北京送變電有限公司,北京 102401)
經(jīng)顱多普勒超聲(TCD)是一種無創(chuàng)性檢查腦血管疾病的方法,廣泛用于早期篩查和診斷腦卒中患者的顱內動脈疾病[1]。通過對TCD數(shù)據(jù)的研究和分析,可以有效幫助臨床醫(yī)生診斷疾病,提高診斷質量和效率。支持向量機(Support Vector Machine,SVM)是一種基于統(tǒng)計理論的機器學習方法。它具有很好的泛化能力,在面對非線性、小樣本和高維數(shù)據(jù)時具有很好的實用性。在這種情況下,它表現(xiàn)出良好的分類效果,被廣泛用于各種醫(yī)療數(shù)據(jù)的處理。然而,SVM的固有機制決定了它對訓練樣本的噪聲點特別敏感。這些噪聲和異常都會導致SVM的分類不佳。同時,大部分TCD醫(yī)學數(shù)據(jù)在分類過程中都是正面和負面的。在不平衡的情況下,少數(shù)類(正類)通常包含大量的信息,但支持向量機對少數(shù)類的識別較差,導致分類性能差。其次支持向量機對噪聲和孤立點敏感的特性,也大大影響最終的分類結果。
針對以上問題,文獻[2]首先提出用模糊支持向量機(Fuzzy Support Vector Machine,F(xiàn)SVM)為訓練樣本提供不同的權重。文獻[3]根據(jù)正負樣本數(shù)目的比值來對懲罰因子進行設置,有效解決了樣本分布不均勻的問題。文獻[4]設置參數(shù),動態(tài)調整選取訓練樣本的范圍,同時對樣本進行預處理,有效地避免了孤立點對最優(yōu)的分類超平面所造成的影響。文獻[5]提出了一種基于不同懲罰因子的方法(Different Error Costs,DEC),該算法以正負樣本數(shù)目的比值作為平衡因子,并據(jù)此調整數(shù)據(jù)集的不平衡性。這種方法沒有考慮到樣本點周圍的疏密性對分類超平面的影響。文獻[6]提出了一個雙邊加權模糊支持向量機,并應用到信用評分領域。文獻[7]通過預選有效候選支持向量縮減訓練樣本集規(guī)模,提高訓練效率。文獻[8]提出了模糊支持向量機模式分類改進算法并用于動脈硬化病分類。本文提出一種新的FSVM算法,考慮到每個樣本鄰近區(qū)域的樣本分布狀況以及樣本集的不平衡程度,設定控制值靈活的控制樣本集的范圍,減弱野值點的影響并有效突出支持向量的作用,提高了識別準確率。
s.t.yi[w·φ(xi)+b]-1+ξi≥0,
ξi≥0,i=1,2,3,…,n
(1)
式中C+,C-為常數(shù),分別代表正負類樣本的懲罰因子。為求解式(1),通過拉格朗日函數(shù),得出其對偶規(guī)劃為:
maxw(α)=
(2)
約束條件為:
(3)
式(2)中k(xi,xj)=φ(xi)φ(xi)T為核函數(shù)。傳統(tǒng)支持向量機分類方法如圖1所示,模糊支持向量機相比于傳統(tǒng)SVM的優(yōu)勢在于能夠根據(jù)樣本點對分類超平面貢獻程度給樣本賦予不同權重,實現(xiàn)分類超平面的優(yōu)化。
圖1 SVM分類表示圖
傳統(tǒng)的隸屬函數(shù)旨在減少異常值和噪聲點對最優(yōu)分類器超平面的影響,它們中的大多數(shù)都是根據(jù)樣本到類內中心的距離來設計的?;镜脑O計思想是根據(jù)樣本到類中心距離的遠近來進行權值賦予。隨著距離的增加,賦予的權重值變小,這種對樣本賦予權重的方法是不準確的,因為它忽略了遠離類中心的支持向量的影響,如圖2所示,支持向量(圖中粗體部分)由于距類別中心的距離較遠而被賦予較小的權重,使得分類超平面偏離最優(yōu)超平面,并且由于距類內中心的距離不同,這些對分類超平面貢獻一樣的支持向量卻被賦予了不一樣的權重,所以傳統(tǒng)的隸屬函數(shù)設計有其不足之處。
圖2 根據(jù)樣本到類中心的距離進行隸屬度函數(shù)設計
首先對支持向量進行預選,根據(jù)決策中起決定性作用的支持向量通常位于類邊界的原則,相對于同類樣本,其距離類中心是相對比較遠的。其次通過對過兩類中心的且與兩類類中心連線垂直的平面做平移,平移距離為本類樣本點到類中心的最遠距離,也就是最大半徑值,設置靈活控制因子進行調整,排除野值和噪聲點,最后達到有效對樣本權值實現(xiàn)精確賦予優(yōu)化分類超平面的作用。
記正負類訓練樣本類中心分別為c1、c2。以w=c1-c2為法向量,分別求解過c1、c2的兩個類內超平面:
(4)
(5)
此時,正負類中樣本點到另一類類內超平面距離為:
(6)
正負類中樣本點到平移過后的類內超平面距離:
(7)
計算兩類類中心的距離:
(8)
基于樣本到過樣本類中心超平面隸屬度函數(shù)計算公式為:
(9)
(10)
圖3 隸屬度函數(shù)設計方法示意圖
由以上分析可以看出,本文所提出的模糊隸屬度函數(shù)設計方法具有如下優(yōu)勢:
(1)通過靈活設置半徑控制因子可將樣本進行預處理,優(yōu)化樣本集,給噪聲點賦予較小的隸屬度值,使其不影響分類結果。
(2)將正類樣本點到過平移后的負類中心超平面的距離bi+與T值進行比較,可以將實線圓以內的樣本點分為兩部分,能夠對每個樣本點進行精確賦值,使得支持向量被賦予更大的權值,減弱非支持向量的作用,突出支持向量對分類超平面的貢獻。
(3)通過求樣本到過類中心超平面的距離對其進行權值賦予的方式大大解決了傳統(tǒng)樣本到類中心距離設計方法導致的樣本賦值不準確的問題。
對于非平衡情感數(shù)據(jù)集,本文采用不平衡數(shù)據(jù)學習中的Se、Sp、Gm來評價分類效果[10],其定義為:
(11)
其中,TP、FN、TN、FP分別代表分類正確的正樣本、分類錯誤的負類樣本、分類正確的負類樣本以及分類錯誤的正類樣本的個數(shù),Se、Sp分別代表分類器正確預測正負類樣本的比率,但很多時候具有高Se的分類器不一定有高的Sp,故引入幾何均值Gm來評價分類器性能,Gm越大,分類效果越好。
本實驗運行在單機Windows 7系統(tǒng)上,機器配置為:Intel(R) Core(TM) i5-3570CPU @ 3.40 GHz。算法采用MATLAB軟件進行測試。先將數(shù)據(jù)做歸一化處理,然后選擇2/3的數(shù)據(jù)作為訓練樣本,剩下的1/3數(shù)據(jù)用作測試樣本。
本文采用高斯徑向基核函數(shù)作為分類器核函數(shù),并將本文隸屬度設計方法RFSVM與文獻[7]中的OFSVM算法以及文獻[8]中ZFSVM隸屬度設計方法做比較,將其應用于TCD醫(yī)療數(shù)據(jù)。收集和整理1 572例來自人民醫(yī)院的經(jīng)顱多普勒超聲數(shù)據(jù),其中包括1 226 例正常人,91例斑塊患者以及255例狹窄患者,很顯然患者數(shù)據(jù)與正常人數(shù)據(jù)之間存在著不平衡關系,其原始數(shù)據(jù)波形如圖4~圖6所示。
圖4 正常人TCD信號
圖5 斑塊患者TCD信號
圖6 狹窄患者TCD信號
通過與醫(yī)學專家的磋商,在左側頸內動脈、右側頸內動脈、左側椎動脈和右側椎動脈4個部位采樣以獲得PSV(最大收縮速度)、EDV(舒張末期流速)、RI(阻力指數(shù))、深淺程度和年齡情況等18個特征值,然后歸一化提取特征值。將斑塊和狹窄患者數(shù)據(jù)作為正類樣本,正常數(shù)據(jù)被認為是負類樣本。分別比較本文隸屬度設計方法RFSVM、文獻[7]中的OFSVM算法以及文獻[8]中ZFSVM隸屬度設計方法的Gm值。
根據(jù)文獻[5]的結果,當C-/C+的值等于n+/n-時(n+、n-分別表示正負樣本的個數(shù)),DEC算法效果最優(yōu),文中將正類懲罰因子C+設置為C,負類懲罰因子C-設置為C×n+/n-。
表1給出了對狹窄患者與正常人、斑塊患者與正常人做分類的實驗結果比較。
表1 三種算法的TCD數(shù)據(jù)集比較
為能更加直觀地反映本文算法與另外兩類算法的對比結果,將表1顯示為圖表形式,如圖7和圖8所示。
圖7 狹窄與正常人分類比較結果
圖8 斑塊與正常人分類比較結果
從圖7和圖8中可以看出,本文提出的RFSVM算法在對TCD醫(yī)療數(shù)據(jù)做分類時具有較好的性能,特別是在改善正類(少類樣本)識別結果方面。當不平衡程度比為4.8時,相比較ZFSVM算法和OFSVM算法,本文算法對少類樣本的識別結果分別提升了11.27%和5.48%,整體性能Gm值提升了4.82%和2.57%。隨著不平衡率的增加,當不平衡程度比為13.47時,相比較ZFSVM算法和OFSVM算法,其對少類樣本的識別結果分別提升了7.25%和2.63%,整體性能Gm值分別提升了3.58%和0.5%。
為解決傳統(tǒng)模糊支持向量機存在分類敏感和對支持向量賦予隸屬度值不夠精確等問題,本文提出了一種改進的模糊支持向量機算法,通過靈活設置半徑控制因子優(yōu)化訓練樣本范圍,預選支持向量,將正類樣本點到過平移后的負類中心超平面的距離和正負樣本類中心距離值進行比較,將實線圓以內的樣本點分為兩部分,并對每一部分樣本點精確賦值,同時剔除野值和噪聲點,使得支持向量被賦予更大的權值,突出其對分類超平面的貢獻。實驗表明,本文提出的RFSVM算法在對TCD醫(yī)療數(shù)據(jù)的識別性能上有著顯著的提高。但本文方法需要人工設置半徑控制因子參數(shù),設置參數(shù)時可能會把部分有效樣本也剔除出去。下一步的工作是更加系統(tǒng)地研究參數(shù)與隸屬度函數(shù)的關系,找到更為便捷的參數(shù)設置方法。