胡靈芝
(陜西中醫(yī)學(xué)院基礎(chǔ)醫(yī)學(xué)院, 陜西 咸陽 712046)
標準的支撐向量機因具有數(shù)學(xué)形式簡單、幾何解釋直觀、全局最優(yōu)、學(xué)習(xí)速度快、泛化能力優(yōu)良、適合處理高維數(shù)據(jù)等特點而被成功地用于許多分類和回歸的問題中.在醫(yī)學(xué)上,利用模式識別技術(shù)對不同的病情癥狀進行正確的分類和識別時,常用的算法是支撐向量機.但在不同的研究領(lǐng)域,根據(jù)其樣本和要求的不同,應(yīng)采用不同的訓(xùn)練方法,現(xiàn)以舌色、腫瘤等幾個例子說明不同領(lǐng)域中所用到的不同的支撐向量機訓(xùn)練過程.
支撐向量機是基于線性可分情況下的最優(yōu)超平面提出的,其基本思想概括為:首先通過非線性變換將輸入空間變換到一個高維空間,然后在這個新空間中求最優(yōu)線性超平面,而線性變換是通過核函數(shù)實現(xiàn)的.
線性支撐向量機的算法如下:
(1)用H=D[A-e]定義矩陣H;
非線性支撐向量機的算法如下:
(1)選擇一個核函數(shù)K(A,A′);
(2)用算式定義G=D[K-e];
(3)計算拉格朗日乘子v;
(4)用K(x′,A′)Dμ-γ=K(x′,A′)DDK(A,A′)′Dv+e′Dv=(K(x′,A′)K(A,A′)′+e′)Dv=0得到非線性SVM分類超平面;
構(gòu)造支撐向量機分類器首先要確定核函數(shù)的類型,采用不同的核函數(shù)將導(dǎo)致不同的支撐向量算法,目前得到的核函數(shù)形式主要有: 線性核函數(shù):K(x,y)=(x·y)、 多項式核函數(shù):k(x,y)=(x·y+1)p、 高斯核函數(shù):k(x,y)=exp(-γ|x-y|2)、S型核函數(shù):k(x,y)=tan(kx·y-δ).
舌診是中醫(yī)四診中望診的重要內(nèi)容,是中醫(yī)臨床診斷的主要依據(jù)之一.傳統(tǒng)的舌診是根據(jù)中醫(yī)醫(yī)生觀察來診斷病情的,診斷結(jié)果和醫(yī)生的知識水平、診斷經(jīng)驗密切相關(guān).為了有一個確切的診斷依據(jù),必須將舌診客觀化,即解決舌診的模糊性和不確定問題.計算機數(shù)字圖像處理技術(shù)在這一方面具有獨特的優(yōu)勢.
針對舌色、苔色分類與識別不僅要求具有較高的識別率,而且要求經(jīng)過的分類器個數(shù)盡可能少的特點,在訓(xùn)練分類器的過程中,根據(jù)部分類別之間的線性可分,另一部分類別線性不可分的特點,采用不同的核函數(shù).對于線性可分的兩類問題如果采用非線性核函數(shù),不僅計算量大,而且獲得的支撐向量比較多,從而會影響識別速度和正確識別率,為此可優(yōu)先采用線性核函數(shù),在兩類問題線性不可分的情況下,采用非線性核函數(shù).如何判斷兩類問題是否線性可分可歸結(jié)為求解如下問題:
其中α為拉格朗日系數(shù)矢量,αi為各個樣本所對應(yīng)的拉格朗日系數(shù),C為懲罰項,yi為樣本對應(yīng)的類別標號(1或-1),Q為核函數(shù)矩陣,N為樣本總數(shù).所得兩類分類器為:
當αi=C,f(x)<0的樣本,稱為錯分樣本.采用線性核函數(shù)對樣本訓(xùn)練完畢后,判斷其是否存在錯分樣本,存在即線性可分,否則線性不可分.
核函數(shù)的參數(shù)選取采用交叉驗證法.如樣本量為750,則屬于15類,每兩類組合為100個樣本,把這100個樣本分為5組,每次取出一組作為測試數(shù)據(jù),其他4組作為訓(xùn)練數(shù)據(jù),以此類推,可得核函數(shù)參數(shù)p1=10,懲罰因子C=100,平均正確識別率為93.87%.
通常臨床根據(jù)腫瘤的形態(tài)、內(nèi)部回聲分布等超聲圖像的特征對腫瘤進行良惡性的識別.利用超聲圖像的特征進行腫瘤良惡性的識別可采用支撐向量機.利用支撐向量機解決此類問題采用的是非線性算法,先求得其標準線性SVM如下:
s.t.D(Aω-eγ)+y≥e,y≥0
相應(yīng)的線性分類器為:
通過優(yōu)化分類面的方向和位置來確定最優(yōu)分類面,得到新的支撐向量機如下:
s.t.D(Aω-eγ)+y=e
為了得到非線性分類器,將ω=A′Dμ代入上面限制條件中,并用非線性核函數(shù)K(A,A′)代替AA′,得到下式:
s.t.D(K(AA′)Dμ-eγ)+y=e
以下用K代替K(A,A′),得到如下的拉格朗日函數(shù)(v為拉格朗日乘子):
從KKT條件得出γ,μ,y及拉格朗日乘子v,即
(1)
非線性SVM分類面可以從線性分類面的公式中推導(dǎo)出來,即x′A′Dμ-γ=0. 用K(x′,A′)代替式中的內(nèi)積x′A′,并將式(1)中的μ和γ代入,得到如下非線性SVM分類超平面,即
K(x′,A′)Dμ-γ=K(x′,A′)DDK(A,A′)′Dv+e′Dv=(K(x′,A′)K(A,A′)′+e′)Dv=0
相應(yīng)的非線性SVMS分類器為:
可以使用上式對腫瘤樣本進行分類,當良性腫瘤樣本超過惡性腫瘤樣本時,此算法的分類精度明顯下降,反過來亦如此.
此處的核函數(shù)可選擇高斯核函數(shù),以達到較好的泛化能力和較少的參數(shù)調(diào)整.
腎結(jié)石病發(fā)病率近年來呈上升趨勢,同時由于該病的復(fù)發(fā)率比較高,因此探討腎結(jié)石病的形成原因?qū)χ委熀皖A(yù)防具有重要的意義.SVM作為一種新型的機器學(xué)習(xí)工具被用于進行腎結(jié)石的分類.
在實際訓(xùn)練過程中,如采用2 501個樣本,可隨機分成兩類:用于調(diào)整模型參數(shù)的2 000個樣本的訓(xùn)練集和用于評估預(yù)測能力的501個樣本的測試集.實現(xiàn)SVM的計算程序可寫入R文件中,用專用編譯器編譯,并在微機上運行.當參數(shù)C=1 000,核函數(shù)變量為1,支撐向量的數(shù)目為17時,SVM的分類準確度達到了99.95%,可見SVM對分類問題有很好的適應(yīng)性.
線性分類器是基于數(shù)據(jù)輸入空間實現(xiàn)分類,而非線性分類器則是基于高維特征空間用核函數(shù)代替非線性映射來實現(xiàn)分類,為非線性預(yù)測提供了可能.在處理不同類型的數(shù)據(jù)時,應(yīng)先分析數(shù)據(jù)的空間特征,判定是否線性可分,進而采用恰當?shù)乃惴?,選擇不同的核函數(shù),以減少病情癥狀分類和識別的計算量,提高速度.支撐向量機在醫(yī)學(xué)上除了上述幾個應(yīng)用領(lǐng)域之外,還可用于藥物設(shè)計、蛋白質(zhì)結(jié)構(gòu)預(yù)測、基因識別、血細胞的分類、定量構(gòu)效關(guān)系數(shù)據(jù)分析等等.
參考文獻
[1] 張新峰.多類支撐向量機在中醫(yī)舌質(zhì)、舌苔分類和識別的應(yīng)用研究[J].電路與系統(tǒng)學(xué)報,2004,9(5):110-113.
[2] 王 冰.基于線性判別式和支撐向量機的腎結(jié)石分類方法[J].蘭州大學(xué)學(xué)報,2006,42(2):77-80.
[3] Burbidge R,Totter M,Buxton B,etal.Drugdesign by machine learning:support vector machines for pharmaceutical data analysis[J].Computer Chem.,2001,(26):5-14.
[4] 邊肇祺,張學(xué)工.模式識別[M].北京:清華大學(xué)出版社,2000.
[5] 衛(wèi)保國,王愛民.一種新的多類模式識別支撐矢量機[J].模式識別與人工智能,2002,15(2):178-181.