本發(fā)明涉及一種基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法及其應(yīng)用
背景技術(shù):
支持向量機(jī)(Support Vector Machine,SVM)是基于統(tǒng)計(jì)學(xué)習(xí)理論(Statistical Learning Theory,SLT)的一種新的機(jī)器學(xué)習(xí)算法。通常應(yīng)用在模式識(shí)別、分類和回歸分析等方面。核函數(shù)是支持向量機(jī)的核心組成部分,通過(guò)引入核函數(shù),將原空間中線性不可分的數(shù)據(jù)樣本映射到高維特征空間中,實(shí)現(xiàn)數(shù)據(jù)的線性分類,克服了傳統(tǒng)機(jī)器學(xué)習(xí)方法存在的維數(shù)災(zāi)難和局部最小化問(wèn)題。
然而支持向量機(jī)的訓(xùn)練過(guò)程實(shí)際上是求解一個(gè)二次規(guī)劃問(wèn)題,其時(shí)間復(fù)雜度為O(n3),由于要存儲(chǔ)核矩陣,其空間復(fù)雜度為O(n2)。所以當(dāng)訓(xùn)練集規(guī)模很大時(shí),即使一般的通用計(jì)算機(jī)也無(wú)法正常處理,因此需要對(duì)傳統(tǒng)的支持向量機(jī)算法進(jìn)行改進(jìn)。于是國(guó)內(nèi)外研究人員提出了一些支持向量機(jī)的簡(jiǎn)化算法。其中大部分基于分解迭代的思想,即將原始的二次規(guī)劃問(wèn)題分解成若干規(guī)模較小的二次規(guī)劃問(wèn)題,包括Vapnik等人提出的分塊(Chunking)算法及Platt提出的串行最小優(yōu)化(Sequential Minimal Optimation,SMO)算法。還有一些思想是通過(guò)選取部分訓(xùn)練集的方法來(lái)降低系統(tǒng)的資源需求,如由Lee和Mangasarian提出的精簡(jiǎn)支持向量機(jī)(Reduced SVM,RSVM)等。
機(jī)器學(xué)習(xí)包含兩個(gè)過(guò)程:訓(xùn)練和測(cè)試。上述的支持向量機(jī)簡(jiǎn)化方法主要針對(duì)的是降低訓(xùn)練過(guò)程的資源消耗,很少考慮測(cè)試過(guò)程的資源需求。在支持向量機(jī)的測(cè)試過(guò)程中,需先存儲(chǔ)所有的支持向量及其對(duì)應(yīng)的拉格朗日系數(shù),而計(jì)算一個(gè)新輸入樣本數(shù)據(jù)的標(biāo)簽時(shí),需計(jì)算輸入樣本與所有支持向量和拉格朗日系數(shù)的乘積,因此測(cè)試過(guò)程對(duì)系統(tǒng)的存儲(chǔ)空間、計(jì)算資源需求也很大。
近年來(lái),無(wú)線傳感器和基于無(wú)線傳感器的穿戴式醫(yī)療監(jiān)護(hù)系統(tǒng)由于其具有的便利性得到了極大的發(fā)展。在無(wú)線傳感器中,無(wú)線通信能耗遠(yuǎn)高于數(shù)據(jù)采集和處理的能耗,因此無(wú)線傳感器節(jié)點(diǎn)使用支持向量機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,將處理后的結(jié)果發(fā)給用戶可以顯著地降低系統(tǒng)的通信能耗。受制造成本、體積等的限制,無(wú)線傳感器節(jié)點(diǎn)的資源有限,其計(jì)算能力和存儲(chǔ)能力遠(yuǎn)低于通用的計(jì)算機(jī), 使得節(jié)點(diǎn)的資源無(wú)法滿足支持向量機(jī)分類過(guò)程所需的硬件資源要求,因此不能在可穿戴裝置等基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上使用支持向量機(jī)模型,限制了醫(yī)療監(jiān)護(hù)系統(tǒng)性能與技術(shù)發(fā)展。
因此,有必要設(shè)計(jì)能應(yīng)用于基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)的支持向量機(jī)模型。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所解決的技術(shù)問(wèn)題是,針對(duì)現(xiàn)有技術(shù)的不足,提出一種基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法及其應(yīng)用,通過(guò)在高性能平臺(tái)上訓(xùn)練得到傳統(tǒng)支持向量機(jī)模型,并采用本方法得到的近似支持向量機(jī)模型進(jìn)行在線預(yù)測(cè),可以降低支持向量機(jī)對(duì)系統(tǒng)的資源需求,將近似模型應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)等基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上進(jìn)行在線分類,擴(kuò)大了支持向量機(jī)的應(yīng)用范圍。
為實(shí)現(xiàn)上述目的,本發(fā)明的解決方案如下:
一種基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,包括以下步驟:
步驟一:給定訓(xùn)練數(shù)據(jù)集T={(xi,yi)|i=1,2,…,l},其中,xi是n維空間上的樣本數(shù)據(jù),yi是與xi對(duì)應(yīng)的類別標(biāo)簽。訓(xùn)練數(shù)據(jù)集T中共有l(wèi)個(gè)樣本數(shù)據(jù),當(dāng)支持向量機(jī)應(yīng)用于分類問(wèn)題時(shí),這些樣本數(shù)據(jù)分屬于兩個(gè)類別,即有yi∈{+1,-1};選擇最佳的核函數(shù)類型和參數(shù),利用訓(xùn)練集中數(shù)據(jù)對(duì)支持向量機(jī)進(jìn)行訓(xùn)練,得到傳統(tǒng)的支持向量機(jī)模型其中,αi*和b*分別是計(jì)算得到的拉格朗日系數(shù)和偏置,xi為支持向量,yi為與xi對(duì)應(yīng)的類別標(biāo)簽,x0為n維未知輸入數(shù)據(jù),x0=[x01,x02,…,x0n],其中,x0k為x0的第k維分量,k=1,…,n;y是模型輸出的與x0對(duì)應(yīng)的類別標(biāo)簽;。
步驟二:選取步驟一中所得支持向量機(jī)模型y的所有支持向量及其拉格朗日系數(shù),將訓(xùn)練數(shù)據(jù)集T中樣本數(shù)據(jù)xj(j=1,2,…,l)依次代入支持向量機(jī)模型y的核函數(shù)計(jì)算,將得到的l個(gè)函數(shù)值記為數(shù)值序列F=[f(x1),f(x2),…,f(xl)]。
步驟三:采用多元多項(xiàng)式擬合方法,利用訓(xùn)練數(shù)據(jù)集T中樣本數(shù)據(jù)和數(shù)值序列F建立超定方程組,求解超定方程組得到多元多項(xiàng)式的系數(shù)α;
步驟四:利用步驟三中求解得到的多元多項(xiàng)式系數(shù)與未知類別標(biāo)簽的n維輸入數(shù)據(jù)x0構(gòu)建多項(xiàng)式,替代支持向量機(jī)模型y的核函數(shù)部分,得到近似的支持向量機(jī)模型y'=sgn[X'α+b*];其中,d為多元多項(xiàng)式的次數(shù),α=(α0,α11,…,α1n,…,αd1,…,αdn)T為多元多項(xiàng)式的系數(shù)。
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,步驟一中所得的傳統(tǒng)支持向量機(jī)模型y的訓(xùn)練方法如下:
對(duì)訓(xùn)練數(shù)據(jù)集T,求解最優(yōu)分類超平面(ω·x)+b=0,使得不同類別的樣本數(shù)據(jù)可以分開(kāi)并保證分類間隔最大。其中,ω為分類超平面的法向量,b是分類超平面的偏移量。
當(dāng)數(shù)據(jù)線性可分時(shí),求解最優(yōu)分類超平面的問(wèn)題轉(zhuǎn)化為求解如下二次規(guī)劃問(wèn)題:
其中,<xi,xj>為兩個(gè)n維數(shù)據(jù)xi和xj的內(nèi)積,即<xi,xj>=xi·xj;αi為引入的拉格朗日系數(shù),C是一個(gè)正常數(shù),稱為懲罰因子,用來(lái)權(quán)衡最大化分類間隔和最小誤差;
解式(3)可得到最終的決策函數(shù),即支持向量機(jī)模型y為:
其中,αi*和b*都可以通過(guò)(1)式求解;αi*為使min后的函數(shù)值最小的αi的取值,選取正的支持向量xj,則這種情況下xi與x0的內(nèi)積<xi,x0>視為核函數(shù)K(xi,x0);
當(dāng)數(shù)據(jù)線性不可分時(shí),支持向量機(jī)通過(guò)引入核函數(shù)K將樣本數(shù)據(jù)映射到高維特征空間,然后在高維特征空間內(nèi)進(jìn)行分類。其最優(yōu)分類超平面的求解問(wèn)題轉(zhuǎn)化為求解如下二次規(guī)劃問(wèn)題:
由式(4)得到最終的決策函數(shù),即支持向量機(jī)模型y為:
其中,αi*和b*都可以通過(guò)(2)式求解。αi*為使得min后函數(shù)值最小的αi的取值,選取正的支持向量xj,則
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,在步驟一中訓(xùn)練支持向量機(jī)時(shí),需選擇使得支持向量機(jī)性能最佳的核函數(shù)類型,選擇方法如下:
應(yīng)用驗(yàn)證方法,從支持向量機(jī)中常用的支持核函數(shù)如多項(xiàng)式核函數(shù)K(xi,x0)=[g(xi·x0)+coef]d、徑向基(RBF)核函數(shù)K(xi·x0)=exp(-g||xi-x0||2)以及Sigmoid核函數(shù)K(xi·x0)=tanh[g(xi·x0)+coef](g和coef是核函數(shù)參數(shù))等函數(shù)中選取核函數(shù),即將核函數(shù)分別帶入進(jìn)行實(shí)驗(yàn)找到使SVM性能最好的核函數(shù)。此外,可將樣本數(shù)據(jù)線性可分視為線性不可分的一種特殊情況,即其核函數(shù)K(xi·x0)=xi·x0。
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,在步驟一中訓(xùn)練支持向量機(jī)時(shí),需選擇使得支持向量機(jī)性能最佳的參數(shù),參數(shù)包括核函數(shù)參數(shù)及懲罰因子C,選擇方法如下:
采用網(wǎng)格搜索(GridSearch)的參數(shù)尋優(yōu)方法對(duì)核函數(shù)參數(shù)及懲罰因子C進(jìn)行選擇,讓支持向量機(jī)參數(shù)在一定范圍內(nèi)取值變化,常用的參數(shù)取值范圍為2^(-5)到2^(5)。對(duì)于取定的參數(shù),利用K-CV方法得到該組參數(shù)的分類準(zhǔn)確率,最終選擇使得測(cè)試集分類準(zhǔn)確率最高的那組參數(shù)作為模型的參數(shù)。
K-CV為一種常用的交叉驗(yàn)證(Cross Validation,CV)方法,把原始數(shù)據(jù)均分為K個(gè)子集,(當(dāng)原始數(shù)據(jù)集不能完全均分時(shí),選擇最大的可均分?jǐn)?shù)據(jù)子集均分,剩余部分作為測(cè)試集),將每一個(gè)子集分別作為一次測(cè)試集,其余的K-1個(gè)子集作為訓(xùn)練集,得到K個(gè)模型,用這K個(gè)模型的測(cè)試集準(zhǔn)確率作為分類器的性能指標(biāo)。
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,步驟三中關(guān)于關(guān)于超定方程組的建立方法如下:
設(shè)n維數(shù)據(jù)xj=(xj1,…,xjn),則xjd=(xj1d,…,xjnd)。對(duì)訓(xùn)練數(shù)據(jù)集T中n維樣本數(shù)據(jù)xj(j=1,2,…,l)和步驟二計(jì)算得到的f(xj),其構(gòu)造的多元多項(xiàng)式方程為 在訓(xùn)練數(shù)據(jù)集T中,若樣本個(gè)數(shù)為l,這樣就得到l個(gè)方程;當(dāng)樣本數(shù)據(jù)維度為n時(shí),要求l>>dn,d為多元多項(xiàng)式次數(shù)。將所得l個(gè)方程組成的超定方程組寫作矩陣形式,有:
F=X·α
其中,F(xiàn)=[f(x1),f(x2),…,f(xl)]T為l個(gè)樣本數(shù)據(jù)按原支持向量機(jī)中核函數(shù)計(jì)算得到的函數(shù)值;是以l個(gè)n維樣本數(shù)據(jù)的各維分量的0到d次冪為元素組成的l行、(1+nd)列的矩陣,α=(α0,α11,…,α1n,…,αd1,…,αdn)T為多元多項(xiàng)式的系數(shù)。
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法,步驟三中多元多項(xiàng)式的次數(shù)是可變的,對(duì)同一訓(xùn)練數(shù)據(jù)集,根據(jù)選擇的多項(xiàng)式次數(shù)的不同,構(gòu)造不同的超定方程組,利用最小二乘法求解出方程組的解,解即為多元多項(xiàng)式系數(shù)α的值。
所述的基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法的應(yīng)用,將步驟四得到的近似的支持向量機(jī)模型y’應(yīng)用于基于經(jīng)濟(jì)型CPU平臺(tái)(例如低功耗MCU)的系統(tǒng),對(duì)未知類別的輸入數(shù)據(jù)進(jìn)行在線分類,得到其類別標(biāo)簽。
在基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上使用近似的支持向量機(jī)模型時(shí),需確定近似的支持向量機(jī)模型y’模型中多元多項(xiàng)式的次數(shù),其選擇方法如下:
首先選擇使得測(cè)試集分類準(zhǔn)確率最高的近似支持向量機(jī)模型,利用與具體硬件對(duì)應(yīng)的系統(tǒng)仿真器或仿真軟件檢測(cè)系統(tǒng)硬件所能提供的資源(根據(jù)具體CPU型號(hào)明確其程序與數(shù)據(jù)存儲(chǔ)空間等硬件資源)是否滿足該模型計(jì)算所需資源;若其所需資源超過(guò)了系統(tǒng)硬件所能提供的資源,則將近似的支持向量機(jī)模型模型中多元多項(xiàng)式的次數(shù)降低一次,直至近似模型的計(jì)算資源小于系統(tǒng)資源。
所述基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)包括無(wú)線傳感器、可穿戴裝置以及便攜式終端。
有益效果:
本發(fā)明公開(kāi)了一種基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法及應(yīng)用,該方法以對(duì)已知支持向量機(jī)模型的核函數(shù)逼近為目標(biāo),運(yùn)用多元多項(xiàng)式擬合的方法,運(yùn)用多元多項(xiàng)式擬合的方法,根據(jù)訓(xùn)練集上樣本點(diǎn)的值,得到超定方程組,并據(jù)此求出多元多項(xiàng)式的表達(dá)式;同時(shí),根據(jù)對(duì)多項(xiàng)式函數(shù)的精度要求和對(duì)硬件的存儲(chǔ)、計(jì)算等系統(tǒng)資源需求,在保證硬件系統(tǒng)資源滿足模型需求的前提下,選擇精確度最高的多項(xiàng)式函數(shù);最后,利用確定的多項(xiàng)式函數(shù)替代核函數(shù)得到近似的支持向量機(jī)模型。本發(fā)明的多項(xiàng)式模型支持向量機(jī)近似方法,簡(jiǎn)化了支持向量機(jī)模型對(duì)未知樣本數(shù)據(jù)進(jìn)行分類時(shí)的計(jì)算過(guò)程,降低了傳統(tǒng)算法的復(fù)雜度和對(duì)系統(tǒng)的資源需求,使其可適應(yīng)具體應(yīng)用系統(tǒng)的不同存儲(chǔ)空間等硬件資源條件。將近似模型應(yīng)用到無(wú)線傳感器、便攜式終端等基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上進(jìn)行在線分類,擴(kuò)大基于支持向量機(jī)的處理方法的應(yīng)用范圍,為穿戴式醫(yī)療監(jiān)護(hù)系統(tǒng)等的發(fā)展進(jìn)步起到促進(jìn)作用。
表1為本發(fā)明方法與傳統(tǒng)支持向量機(jī)對(duì)未知數(shù)據(jù)x進(jìn)行分類時(shí)的資源需求對(duì)比。在傳統(tǒng)支持向量機(jī)的模型中,對(duì)其核函數(shù)而言,對(duì)未知數(shù)據(jù)x計(jì)算輸出f(x)時(shí),需要的參數(shù)為所有的支持向量及其拉格朗日系數(shù);而由多元多項(xiàng)式模型f(x)=X’·α可知,計(jì)算f(x)時(shí),需要的參數(shù)僅為多項(xiàng)式的系數(shù)。因此利用多元多項(xiàng)式代替原模型中核函數(shù)得到近似的支持向量機(jī)模型y'=sgn[X'α+b*],對(duì)未知數(shù)據(jù)x而言,計(jì)算其標(biāo)簽y的運(yùn)算量與支持向量個(gè)數(shù)無(wú)關(guān),僅與多項(xiàng)式的次數(shù)有關(guān),而在支持向量機(jī)中,支持向量的個(gè)數(shù)遠(yuǎn)遠(yuǎn)大于多 元多項(xiàng)式的次數(shù),因此本發(fā)明方法降低了支持向量機(jī)的計(jì)算量,且不再需要存儲(chǔ)支持向量,只需存儲(chǔ)多項(xiàng)式參數(shù),降低了支持向量機(jī)對(duì)系統(tǒng)存儲(chǔ)資源的需求。
表1.本發(fā)明方法與傳統(tǒng)支持向量機(jī)方法對(duì)未知數(shù)據(jù)x進(jìn)行計(jì)算時(shí)的資源需求對(duì)比
附圖說(shuō)明
圖1為本發(fā)明一種基于多元多項(xiàng)式擬合的支持向量機(jī)模型近似方法的流程示意圖
具體實(shí)施方式
以下結(jié)合具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步的描述
如圖1所示,一種基于多元多項(xiàng)式擬合的支持向量機(jī)近似方法及其應(yīng)用,包括以下步驟:
步驟一:給定訓(xùn)練數(shù)據(jù)集T={(xi,yi)|i=1,2,…,l},其中,xi是n維空間上的樣本數(shù)據(jù),yi是xi對(duì)應(yīng)的類別標(biāo)簽。訓(xùn)練數(shù)據(jù)集T中共有l(wèi)個(gè)樣本數(shù)據(jù),當(dāng)支持向量機(jī)應(yīng)用于分類問(wèn)題時(shí),這些樣本數(shù)據(jù)分屬于兩個(gè)類別,即有yi∈{+1,-1};
本實(shí)例選擇UCI(University of California Irvine)提供的heart-scale(心臟病)數(shù)據(jù)集(https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#heart)和breast-cancer-scale(乳腺癌)數(shù)據(jù)集(https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#breast-cancer)。其中heart-scale有270個(gè)病例數(shù)據(jù),數(shù)據(jù)維度為13,每一個(gè)維度包含不同的信息,病例信息有:年齡、性別、胸腔疼痛類型、休息時(shí)血壓、血清膽固醇、空腹血糖含量、靜息心電圖結(jié)果、最高心跳速率、運(yùn)動(dòng)誘發(fā)心絞痛、運(yùn)動(dòng)與休息ST段對(duì)比、ST段斜率、被熒光劑標(biāo)記的血管數(shù),最后一個(gè)數(shù)據(jù)維度為其類別標(biāo)簽指病例是否有心臟病;breast-cancer-scale具有683個(gè)病例數(shù)據(jù),數(shù)據(jù)維度為10,其信息包括:腫瘤厚度、細(xì)胞大小一致性、細(xì)胞形狀一致性、邊緣黏滯性、單一 上皮細(xì)胞大小、原子核裸露程度、染色質(zhì)、細(xì)胞核正常程度、有絲分裂,最后一個(gè)維度作為標(biāo)簽將病例分為良性腫瘤和惡性腫瘤兩類。將兩個(gè)數(shù)據(jù)集都分為兩部分:訓(xùn)練集T和測(cè)試集Te,其中訓(xùn)練集用來(lái)訓(xùn)練得到支持向量機(jī)模型,測(cè)試集用作測(cè)試得到模型的性能。本實(shí)例中,heart-scale數(shù)據(jù)集中選取前220個(gè)數(shù)據(jù)作為訓(xùn)練集,剩余的50個(gè)數(shù)據(jù)作為測(cè)試集;breast-cancer-scale數(shù)據(jù)集中選取前400個(gè)數(shù)據(jù)作為訓(xùn)練集,剩余的283個(gè)數(shù)據(jù)作為測(cè)試集。
對(duì)訓(xùn)練數(shù)據(jù)集T,求解最優(yōu)分類超平面(ω·x)+b=0,使得不同類別的樣本數(shù)據(jù)可以分開(kāi)并保證分類間隔最大。其中,ω為分類平面的法向量,b是超平面的偏移量。
當(dāng)數(shù)據(jù)線性可分時(shí),求解最優(yōu)分類超平面的問(wèn)題轉(zhuǎn)化為求解如下二次規(guī)劃問(wèn)題:
其中,<xi,xj>為兩個(gè)n維數(shù)據(jù)xi和xj的內(nèi)積,即<xi,xj>=xi·xj;αi為引入的拉格朗日系數(shù),C是一個(gè)正常數(shù),稱為懲罰因子,用來(lái)權(quán)衡最大化分類間隔和最小誤差;
解式(5)可得到最終的決策函數(shù)為:
其中,αi*和b*都可通過(guò)(1)式求解,αi*為使min后的函數(shù)值最小的αi的取值,選取正的支持向量xj,則
當(dāng)數(shù)據(jù)線性不可分時(shí),支持向量機(jī)通過(guò)引入核函數(shù)K將樣本數(shù)據(jù)映射到高維特征空間,然后在高維特征空間內(nèi)進(jìn)行分類。其最優(yōu)分類超平面的求解問(wèn)題轉(zhuǎn)化為求解如下二次規(guī)劃問(wèn)題:
由式(6)得到最終的決策函數(shù)為:
其中,αi*和b*都可以通過(guò)(2)式求解。αi*為使得min后函數(shù)值最小的αi的取值,選取正的支持向量xj,則
訓(xùn)練支持向量機(jī)時(shí),需選擇使得支持向量機(jī)性能最佳的核函數(shù)類型,常用的支持核函數(shù)有多項(xiàng)式核函數(shù)K(xi,x0)=[g(xi·x0)+coef]d、徑向基(RBF)核函數(shù)K(xi·x0)=exp(-g||xi-x0||2)以及Sigmoid核函數(shù)K(xi·x0)=tanh[g(xi·x0)+coef],其中,g和coef是核函數(shù)參數(shù)。應(yīng)用驗(yàn)證方法選取核函數(shù),即將核函數(shù)分別帶入進(jìn)行實(shí)驗(yàn)找到使SVM性能最好的核函數(shù)。此外,可將樣本數(shù)據(jù)線性可分視為線性不可分的一種特殊情況,即其核函數(shù)K(xi,x0)=xi,x0。
在實(shí)際處理中,對(duì)heart-scale數(shù)據(jù)集和breast-cancer-scale數(shù)據(jù)集都先后選擇了這三種常用的核函數(shù):RBF核函數(shù)、多項(xiàng)式核函數(shù)、Sigmoid核函數(shù)分別進(jìn)行訓(xùn)練得到對(duì)應(yīng)的支持向量機(jī)模型。
對(duì)支持向量機(jī)進(jìn)行訓(xùn)練時(shí),需選擇使得支持向量機(jī)性能最佳的參數(shù),參數(shù)包括核函數(shù)參數(shù)及懲罰因子C,選擇方法如下:
采用網(wǎng)格搜索(GridSearch)的參數(shù)尋優(yōu)對(duì)核函數(shù)參數(shù)及懲罰因子C進(jìn)行選擇,讓支持向量機(jī)參數(shù)在一定范圍內(nèi)取值變化,常用的參數(shù)取值范圍為2^(-5)到2^(5)。對(duì)于取定的參數(shù),利用K-CV方法得到該組參數(shù)的分類準(zhǔn)確率,最終選擇使得測(cè)試集分類準(zhǔn)確率最高的那組參數(shù)作為模型的參數(shù)。
K-CV為一種常用的交叉驗(yàn)證(Cross Validation,CV)方法,把原始數(shù)據(jù)均分為K個(gè)子集,(當(dāng)原始數(shù)據(jù)集不能完全均分時(shí),選擇最大的可均分?jǐn)?shù)據(jù)子集均分,剩余部分作為測(cè)試集),將每一個(gè)子集分別作為一次測(cè)試集,其余的K-1 個(gè)子集作為訓(xùn)練集,得到K個(gè)模型,用這K個(gè)模型的測(cè)試集準(zhǔn)確率作為分類器的性能指標(biāo)。
步驟二:選取步驟一中所得支持向量機(jī)模型y的所有支持向量及其拉格朗日系數(shù),將訓(xùn)練數(shù)據(jù)集T中樣本數(shù)據(jù)xj(j=1,2,…,l)依次代入支持向量機(jī)模型y的核函數(shù)計(jì)算,將得到的l個(gè)函數(shù)值記為數(shù)值序列F=[f(x1),f(x2),…,f(xl)]。
步驟三:采用多元多項(xiàng)式擬合方法,利用訓(xùn)練數(shù)據(jù)集T中樣本數(shù)據(jù)和步驟二所得函數(shù)值序列F建立超定方程組,求解超定方程組得到多元多項(xiàng)式的系數(shù)α;
設(shè)n維數(shù)據(jù)xj=(xj1,…,xjn),則xjd=(xj1d,…,xjnd)。對(duì)訓(xùn)練數(shù)據(jù)集T中n維樣本數(shù)據(jù)xj和經(jīng)過(guò)步驟二計(jì)算得到的f(xj),其構(gòu)造的多元多項(xiàng)式方程為 在訓(xùn)練數(shù)據(jù)集T中,若樣本個(gè)數(shù)為l,這樣就得到l個(gè)方程;當(dāng)樣本數(shù)據(jù)維度為n時(shí),要求l>>dn,d為多元多項(xiàng)式次數(shù)。將所得l個(gè)方程組成的超定方程組寫作矩陣形式,有:
F=X·α
其中,F(xiàn)=[f(x1),f(x2),…,f(xl)]T為l個(gè)樣本數(shù)據(jù)按原支持向量機(jī)中核函數(shù)計(jì)算得到的函數(shù)值;是以l個(gè)n維樣本數(shù)據(jù)的各維分量的0到d次冪為元素組成的l行、(1+nd)列的的矩陣,α=(α0,α11,…,α1n,…,αd1,…,αdn)T為多元多項(xiàng)式的系數(shù)。
將訓(xùn)練數(shù)據(jù)集樣本T中樣本數(shù)據(jù)和步驟二中計(jì)算得到的對(duì)應(yīng)f(xj)代入多元多項(xiàng)式表達(dá)式得到矛盾方程組,求解矛盾方程組得到多項(xiàng)式系數(shù)α。
多元多項(xiàng)式的次數(shù)是可變的,對(duì)同一訓(xùn)練數(shù)據(jù)集,根據(jù)選擇的多項(xiàng)式次數(shù)的不同,構(gòu)造不同的超定方程組,利用最小二乘法求解出方程組的解,解即為多元多項(xiàng)式系數(shù)α的值。在保證得到的近似支持向量機(jī)模型精確度不低于原模型的前提下,選擇最低次數(shù)的多項(xiàng)式函數(shù),以降低計(jì)算的復(fù)雜度。在實(shí)例中,多元多項(xiàng)式表達(dá)式的次數(shù)先后選擇1、2、3和4得到不同的矩陣X和不同超定方程組, 并進(jìn)行求解。
步驟四:利用步驟三中求解得到的多元多項(xiàng)式系數(shù)與未知類別標(biāo)簽的n維輸入數(shù)據(jù)x0=[x01,x02,…,x0n](其中,x0k為x0的第k維分量,k=1,…,n)構(gòu)建多項(xiàng)式,替代支持向量機(jī)模型y的核函數(shù)部分,得到近似的支持向量機(jī)模型y'=sgn[X'α+b*];其中,d多元多項(xiàng)式的次數(shù),α=(α0,α11,…,α1n,…,αd1,…,αdn)T為多元多項(xiàng)式的系數(shù)。
步驟五:將近似的支持向量機(jī)模型y’應(yīng)用在基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上,對(duì)未知類別標(biāo)簽的數(shù)據(jù)進(jìn)行分類,得到其標(biāo)簽。在基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上使用近似的支持向量機(jī)模型時(shí),需確定近似模型中多項(xiàng)式函數(shù)的次數(shù),其選擇方法如下:
首先選擇使得測(cè)試集分類準(zhǔn)確率最高的近似支持向量機(jī)模型,若其所需計(jì)算資源超過(guò)了系統(tǒng)所能提供的資源,則選擇多項(xiàng)式函數(shù)的次數(shù)低一次的近似模型,直至近似模型的計(jì)算資源要求小于系統(tǒng)所能提供的資源。
實(shí)例1:
利用步驟一中heart-scale數(shù)據(jù)和breast-cancer-scale數(shù)據(jù)的兩個(gè)測(cè)試集來(lái)測(cè)試本發(fā)明得到的近似支持向量機(jī)模型,主要選擇對(duì)測(cè)試集的分類準(zhǔn)確率和分類時(shí)間作為本發(fā)明的評(píng)價(jià)標(biāo)準(zhǔn)。對(duì)測(cè)試集的分類準(zhǔn)確是系統(tǒng)的基本要求,而所需的分類時(shí)間體現(xiàn)了算法的復(fù)雜度及對(duì)系統(tǒng)的資源需求。實(shí)例1是在Matlab R2014a中采用Matlab語(yǔ)言編程進(jìn)行實(shí)驗(yàn),PC的具體配置為Intel Core I5,3.10GHz,4GRAM。
表2和表3對(duì)heart-scale數(shù)據(jù)的測(cè)試集和breast-cancer-scale數(shù)據(jù)的測(cè)試集采用本發(fā)明方法與傳統(tǒng)支持向量機(jī)進(jìn)行分類實(shí)驗(yàn)的結(jié)果進(jìn)行比較,其中,在支持向量機(jī)的訓(xùn)練過(guò)程中,兩個(gè)數(shù)據(jù)集都先后選擇了三種常用的核函數(shù)進(jìn)行訓(xùn)練并選擇一次多項(xiàng)式來(lái)近似核函數(shù)。此外,當(dāng)選擇多元多項(xiàng)式次數(shù)為2、3或4時(shí),其結(jié)果與一次多項(xiàng)式類似。
表2.采用本發(fā)明方法與傳統(tǒng)支持向量機(jī)對(duì)heart-scale數(shù)據(jù)集進(jìn)行分類測(cè)試的結(jié)果比較
表3.采用本發(fā)明方法與傳統(tǒng)支持向量機(jī)對(duì)breast‐cancer‐scale數(shù)據(jù)集的分類測(cè)試結(jié)果比較
通過(guò)上述的比較試驗(yàn)可知,與傳統(tǒng)支持向量機(jī)模型相比,采用本發(fā)明方法得到的近似支持向量機(jī)模型用于樣本在線分類時(shí),計(jì)算時(shí)間大大減低同時(shí)分類的準(zhǔn)確率不低于傳統(tǒng)模型的分類準(zhǔn)確率。兩個(gè)對(duì)比試驗(yàn)的結(jié)果均證明了本發(fā)明方法用于對(duì)未知樣本分類時(shí)能夠在保證近似模型的分類準(zhǔn)確率的同時(shí)大大的提高了計(jì)算速度,增加了算法的實(shí)時(shí)性。
實(shí)例2:
采用breast-cancer-scale數(shù)據(jù)集來(lái)測(cè)試本發(fā)明得到的近似支持向量機(jī)模型在典型的經(jīng)濟(jì)型CPU平臺(tái)MSP430F1611上使用時(shí)的資源消耗。MSP430F1611具有48KB FLASH和10KB RAM。資源消耗主要就是模型對(duì)FLASH和RAM的占用。實(shí)例2是在IAR Embedded Workbench IDE的編譯環(huán)境中用C語(yǔ)言編寫算法程序進(jìn)行軟件仿真。
表4給出了傳統(tǒng)支持向量機(jī)模型與采用本發(fā)明方法得到的近似支持向量機(jī)模型對(duì)典型經(jīng)濟(jì)型CPU平臺(tái)MSP430F1611的資源占用。選擇RBF核函數(shù),通過(guò)對(duì)breast-cancer-scale數(shù)據(jù)集訓(xùn)練得到表4中傳統(tǒng)支持向量機(jī)模型。其中,在用多元多項(xiàng)式對(duì)傳統(tǒng)支持向量機(jī)模型進(jìn)行擬合時(shí),多項(xiàng)式的次數(shù)d先后選擇1、2、3、4,因此對(duì)一個(gè)傳統(tǒng)支持向量機(jī)模型有四個(gè)近似模型。
表4中的資源占用主要指對(duì)系統(tǒng)的RAM和FLASH的資源占用情況,在RAM中存放程序的變量,可以對(duì)其進(jìn)行快速讀取和修改,體現(xiàn)了系統(tǒng)的計(jì)算速度與能力;FLASH的存儲(chǔ)空間包括CODEmemory和CONSTmemory,CODEmemory指的是代碼所占的存儲(chǔ)空間,而CODEmemory則是代表數(shù)據(jù)占用的存儲(chǔ)空間。 表4.本發(fā)明方法與傳統(tǒng)支持向量機(jī)在MSP430F1611上處理樣本數(shù)據(jù)時(shí)的資源占用對(duì)比
實(shí)例2僅對(duì)一個(gè)樣本數(shù)據(jù)進(jìn)行分類,傳統(tǒng)的支持向量機(jī)占用大量的RAM和FLASH,本實(shí)驗(yàn)中選用的MSP430F1611的能夠剛好滿足其RAM占用,但其他典型的經(jīng)濟(jì)型CPU平臺(tái)如MSP430F2616(4KB RAM、92KB FLASH)、MSP430F1610(5KB RAM、32KB FLASH)及MSP430F1612(5KB RAM、55KB FLASH)等就不能滿足其RAM的需求,也就不能在這些硬件上使用傳統(tǒng)的支持向量機(jī)模型。
從表4中數(shù)據(jù)可知,采用本發(fā)明方法得到的近似支持向量機(jī)模型與傳統(tǒng)支持向量機(jī)模型進(jìn)行樣本分類時(shí),對(duì)系統(tǒng)的RAM和FLASH占用大大降低,使得上述RAM無(wú)法滿足使用傳統(tǒng)支持向量機(jī)的MSP430F2616等典型經(jīng)濟(jì)型CPU平臺(tái)也可以使用近似的支持向量機(jī),增加了支持向量機(jī)的應(yīng)用范圍。此外,在本發(fā)明方法得到的近似支持向量機(jī)模型中,隨著選擇的多項(xiàng)式次數(shù)增加,近似模型對(duì)系統(tǒng)RAM和FLASH的需求也會(huì)增加,如MSP430F155(512B RAM、16KB FLASH)就無(wú)法滿足實(shí)例2中多項(xiàng)式次數(shù)大于2的近似模型。因此,在近似支持向量機(jī)模型的次數(shù)選擇時(shí),若使得測(cè)試集分類準(zhǔn)確率最高的近似支持向量機(jī)模型所需計(jì)算資源超過(guò)了系統(tǒng)所能提供的資源,則選擇多項(xiàng)式函數(shù)的次數(shù)低一次的近似模型,直至近似模型的計(jì)算資源小于系統(tǒng)資源。
從上述兩個(gè)實(shí)例可以看出,將本發(fā)明的近似支持向量機(jī)模型應(yīng)用在穿戴式醫(yī)療監(jiān)護(hù)系統(tǒng)等基于經(jīng)濟(jì)型CPU平臺(tái)的系統(tǒng)上,擴(kuò)大了傳統(tǒng)支持向量機(jī)的應(yīng)用范圍,可以判別可疑患者的身體健康狀況,做到早發(fā)現(xiàn),早治療。