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