專利名稱:一種用于解決多分類問題的糾錯svm分類方法
技術(shù)領(lǐng)域:
本發(fā)明屬于模式識別和機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域,涉及到一種利用數(shù)字通信中的糾錯 編碼算法將多個SVM (Support Vector Machine 支持向量機(jī))進(jìn)行有效地組合,以使得組
合后的SVM網(wǎng)絡(luò)具有糾正其中部分SVM所發(fā)生的局部性錯誤的能力,從而提高其整體 的分類性能。
背景技術(shù):
SVM (Support Vector Machine,支持向量機(jī))是一種基于結(jié)構(gòu)風(fēng)險最小化準(zhǔn)則的
最優(yōu)神經(jīng)網(wǎng)絡(luò)分類器模型,在模式識別、機(jī)器學(xué)習(xí)等領(lǐng)域獲得了廣泛應(yīng)用。SVM本身是 針對二分類問題提出來的,對于解決二分類問題是最優(yōu)的,但對于解決多分類問題并不 能得到最優(yōu)分類結(jié)果。在現(xiàn)有的方法中,是通過將多個SVM單元進(jìn)行組合來解決多分類 問題的。但如何進(jìn)行組合,在理論上目前尚沒有最優(yōu)的方法,一般是在分類性能和所采 用的SVM單元的數(shù)量二者之間進(jìn)行適當(dāng)?shù)钠胶?。因此,探索新穎高效的SVM組合方法 具有重要的理論意義和應(yīng)用價值。目前,在SVM神經(jīng)網(wǎng)絡(luò)領(lǐng)域的研究主要集中在(1)探索應(yīng)用不同的非線性 和函數(shù),采用不同的學(xué)習(xí)訓(xùn)練算法;(2)在各種分類識別、智能計算、或機(jī)器學(xué)習(xí)問題 中進(jìn)行應(yīng)用;(3)已提出了一些用于多分類的SVM組合方法,其中典型的組合方法有 M-ary模型、“一對多”模型、及“一對一”模型。其中,M-ary模型所需要的SVM 單元最少,僅為「log2M]個(其中M為類別數(shù)),“一對多”模型需要M個SVM單元。 在這兩種組合方法中,當(dāng)其中某一個SVM單元發(fā)生分類錯誤時,則將造成整個最終分類 結(jié)果發(fā)生錯誤,因此其容錯性能較差。而由于在實(shí)際數(shù)據(jù)中總是存在各種誤差,因此難 免會有某個(或某些)SVM單元發(fā)生錯誤。對于“一對一”模型,所需要的SVM單元 的數(shù)量為M2量級,隨著待分類數(shù)的增加所需要的SVM數(shù)量呈平方律增長,這對于實(shí)際 應(yīng)用是非常不利的因素。雖然“一對一”模型在有些情況下具有一定的容錯性能,但實(shí) 際上,這種容錯能力是通過以高倍冗余的SVM單元的數(shù)量來換取的。由此可見,若能研 究出更好的SVM組合方法,以較少的冗余量來換取更強(qiáng)的容錯性是十分有意義的。
發(fā)明內(nèi)容
本發(fā)明提出一種用于解決多分類問題的糾錯SVM分類方法來實(shí)現(xiàn)多分類功能 (稱為糾錯SVM網(wǎng)絡(luò)),用于降低所需SVM單元的冗余數(shù)量、提高整個組合系統(tǒng)的容錯 能力。本發(fā)明的技術(shù)方案是一種用于解決多分類問題的糾錯SVM分類方法(以下簡稱為糾錯SVM網(wǎng)絡(luò)), 包括糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)、糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)。在糾錯SVM網(wǎng)絡(luò)的訓(xùn)練 系統(tǒng)中包括編碼器、訓(xùn)練樣本集劃分器、n個SVM單元訓(xùn)練器(SVM單元訓(xùn)練器-i,i = 1,…,n);糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)中包括n個SVM單元(SVM單元-i,i = 1,…,n)、解碼器。糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)是用于訓(xùn)練糾錯SVM網(wǎng)絡(luò)的,這個訓(xùn)練過程也即是 該糾錯SVM網(wǎng)絡(luò)的設(shè)計過程。在糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)中,編碼器的輸入為訓(xùn)練 樣本特征矢量集SF,在編碼器中首先按某個特定的編碼算法產(chǎn)生一套n比特的二進(jìn)制碼 字,將輸入的訓(xùn)練樣本特征矢量集中的每個矢量都賦給一個碼字作為其代號,由此產(chǎn)生 了一套對應(yīng)的特征矢量集Se,在3。中每個特征矢量都帶有一個編碼代號,將3。輸出給訓(xùn) 練樣本集劃分器,訓(xùn)練樣本集劃分器將根據(jù)Se中每個特征矢量所帶的編碼代號將Se重新 劃分,生成n個特征矢量集S,(i= 1,…,n),并將第i個特征矢量集S,輸出給SVM單 元訓(xùn)練器_i(i = l,…,n)。在SVM單元訓(xùn)練器-i中,將依據(jù)已有的SVM學(xué)習(xí)算法對 其進(jìn)行訓(xùn)練,收斂后得到輸出SVM單元_i(i= 1,…,n)。全部n個SVM單元訓(xùn)練器 中都進(jìn)行同樣的訓(xùn)練操作,全部n個SVM單元訓(xùn)練器都收斂后,則完成了該糾錯SVM網(wǎng) 絡(luò)的訓(xùn)練設(shè)計過程。糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)是直接用于實(shí)際待分類樣本的特征矢量進(jìn)行分類運(yùn)算 的。在該系統(tǒng)中,其中的n個SVM單元(SVM單元-i,i = 1,…,n)即是在糾錯SVM 網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)中經(jīng)過上述的訓(xùn)練操作后所得到的收斂后的n個SVM單元。該系統(tǒng)中各 個SVM單元的輸入同時都為某個待分類的樣本特征矢量Xf,第i個SVM單元(SVM單 元-i,i=l,…,n)對Xf進(jìn)行計算,產(chǎn)生輸出1^01=1,…,n),送給解碼器。在解碼 器中,首先用!!個?。苛Χ?,…,n)構(gòu)成一個n比特的二進(jìn)制碼字B= (b^+bj,然后 采用與編碼器相配套的解碼算法對B進(jìn)行解碼,最后輸出為經(jīng)過糾錯運(yùn)算后的解碼結(jié)果 Yd。于是,由Yd所代表的類別即為該糾錯SVM網(wǎng)絡(luò)對輸入樣本矢量Xf的分類結(jié)果。本發(fā)明的效果和益處是通過將數(shù)字通信中的糾錯編碼方法引入到二分類SVM 單元的組合方案中,使組合后的SVM網(wǎng)絡(luò)可以象當(dāng)前最先進(jìn)的數(shù)字通信系統(tǒng)那樣具有檢 錯和糾錯能力,同時這種SVM網(wǎng)絡(luò)所需要的SVM單元數(shù)量也比較小(遠(yuǎn)遠(yuǎn)少于“一對 一”模型所需要的SVM單元的數(shù)量,甚至還少于“一對多”模型所需要的SVM單元的 數(shù)量),而且其糾錯能力和SVM單元數(shù)量還可以根據(jù)具體應(yīng)用問題的需要來預(yù)先進(jìn)行設(shè) 計和置定。
附圖是糾錯SVM網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,其中圖1是糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng), 圖2是糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)。
具體實(shí)施例方式以下結(jié)合技術(shù)方案和附圖詳細(xì)敘述本發(fā)明的具體實(shí)施例。首先運(yùn)行圖1所示的糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng),實(shí)施例步驟如下步驟1 針對一個所要解決的M類分類問題,首先選擇出兩個合適的整數(shù)值n 和1,使其滿足C「log2M] + 2/ + l,其中n為所要用的SVM單元的個數(shù),「log2M]表示為 log2M的上確界整數(shù),1為可由設(shè)計者決定該糾錯SVM網(wǎng)絡(luò)所要達(dá)到的糾錯個數(shù)。步驟2:依據(jù)數(shù)字通信中的糾錯編碼理論,選擇一個合適的編碼算法可以使其 最小漢明距離為21+1,在本發(fā)明中推薦使用BCH碼(Bose,Chaudhuri,HocquenghemCode)。在編碼器中用該編碼算法產(chǎn)生一套二進(jìn)制碼字(記為丨C(k)}),并將輸入的訓(xùn)練 樣本特征矢量集的每個矢量都賦給一個不同的碼字C(k)作為其代號,由此產(chǎn)生一套 對應(yīng)的特征矢量集se,將se輸出給訓(xùn)練樣本集劃分器。步驟3 在訓(xùn)練樣本集劃分器中,根據(jù)Se中每個特征矢量所帶的編碼值將Se重 新劃分,生成n個特征矢量集S,(i = 1,…,n),該步驟的具體做法是對于每個S,,都
是由兩個子集構(gòu)成,即《={(S^,S}) },其中$是由Sc中特征矢量的編碼C(k)的第i
位比特值為0的全部特征矢量構(gòu)成,$是由Se中特征矢量的編碼C(k)的第i位比特值為 1的全部特征矢量構(gòu)成。全部n個、都按此方法構(gòu)成(i= 1,…,n)。然后將第i個特 征矢量集、輸出給SVM單元訓(xùn)練器_i(i= 1,…,n)。步驟4:在SVM單元訓(xùn)練器_i中,將依據(jù)已有的SVM學(xué)習(xí)算法(例如采用 SMO (Sequential Minimal Optimization)學(xué)習(xí)算法)用特征矢量集S,作為訓(xùn)練樣本對其進(jìn)行
訓(xùn)練,收斂后得到的SVM模型即作為其輸出SVM單元_i(i = l,…,n)。在全部n個 SVM單元訓(xùn)練器中都進(jìn)行同樣的訓(xùn)練操作,全部收斂后,則完成了該糾錯SVM分類器的 訓(xùn)練過程,也由此完成了其設(shè)計過程。下述步驟為運(yùn)行圖2所示的糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)。步驟5 從該步驟開始是用已經(jīng)訓(xùn)練(或設(shè)計)好的糾錯SVM分類器來實(shí)現(xiàn)分 類操作。在糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)(圖2)中,所用的n個SVM單元(SVM單元-i,
i = 1,…,n)即是在糾錯SVM分類器的訓(xùn)練系統(tǒng)(圖1)中經(jīng)過從步驟1到步驟4的訓(xùn) 練操作所得到的收斂后的n個輸出SVM單元_i(i = 1,…,n)。設(shè)Xf為某個待分類的 樣本特征矢量,將其同時輸入給全部n個SVM單元。步驟6: SVM單元_i對Xf進(jìn)行計算,產(chǎn)生輸出1^01=1,…,n),送給解碼器。
在該步驟中,全部n個SVM單元均進(jìn)行同樣的計算操作。步驟7:在解碼器中,首先用nfbjzl,…,n)構(gòu)成一個n比特的二進(jìn)制碼 字B = (bib2...bn),然后采用與編碼器相對應(yīng)的解碼算法(例如采用BCH解碼算法)對B 進(jìn)行解碼,輸出經(jīng)過糾錯運(yùn)算后的解碼結(jié)果Yd。于是,由Yd所代表的類別即為該糾錯 SVM網(wǎng)絡(luò)的工作系統(tǒng)對輸入樣本矢量Xf的分類結(jié)果。
權(quán)利要求
1. 一種用于解決多分類問題的糾錯SVM分類方法,包括糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)、 糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng);在糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)中包括編碼器、訓(xùn)練樣本集劃 分器、η個SVM單元訓(xùn)練器;糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)中包括η個SVM單元、解碼 器;其特征在于糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)用于訓(xùn)練糾錯SVM網(wǎng)絡(luò),完成該糾錯SVM網(wǎng)絡(luò)的設(shè)計 過程;糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)用來完成分類操作過程,該系統(tǒng)是由糾錯SVM網(wǎng)絡(luò)的 訓(xùn)練系統(tǒng)訓(xùn)練好的η個SVM單元并以相同的網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)成。在糾錯SVM網(wǎng)絡(luò)的訓(xùn)練 系統(tǒng)中,依據(jù)數(shù)字通信中的糾錯編碼理論,選擇一個具有糾錯能力的編碼算法產(chǎn)生一套 η比特二進(jìn)制碼字,將輸入的訓(xùn)練樣本特征矢量集中每個矢量都賦給一個碼字作為其代 號,由此產(chǎn)生一套對應(yīng)的特征矢量集Se,訓(xùn)練樣本集劃分器根據(jù)該編碼代號將Se重新劃 分,生成η個特征矢量集S1;在SVM單元訓(xùn)練器-i中以S1為訓(xùn)練樣本以SVM學(xué)習(xí)算法 進(jìn)行訓(xùn)練,全部收斂后,完成該糾錯SVM網(wǎng)絡(luò)的訓(xùn)練過程;在糾錯SVM網(wǎng)絡(luò)的工作系 統(tǒng)中,所用的η個SVM單元是在糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)中經(jīng)過訓(xùn)練且收斂后所得到 的η個SVM單元并以相同的結(jié)構(gòu)來構(gòu)成網(wǎng)絡(luò);對于某個待分類的樣本特征矢量Xf,該系 統(tǒng)中的第i個SVM單元直接對Xf進(jìn)行計算,產(chǎn)生輸出b1;送給解碼器。在解碼器中,首 先用η個1^構(gòu)成一個η比特的二進(jìn)制碼字B= (b^...^),然后采用與編碼器相配套的解 碼算法對B進(jìn)行解碼,輸出是經(jīng)過糾錯運(yùn)算后的解碼結(jié)果Yd;于是,由Yd所代表的類別 即作為該分類方法對輸入樣本矢量Xf的分類結(jié)果。
全文摘要
本發(fā)明公開了一種用于解決多分類問題的糾錯SVM分類方法,屬于模式識別和機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域。其特征是由糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)和糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)組成。糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)由編碼器、訓(xùn)練樣本集劃分器、n個SVM單元訓(xùn)練器組成;糾錯SVM網(wǎng)絡(luò)的工作系統(tǒng)由經(jīng)過糾錯SVM網(wǎng)絡(luò)的訓(xùn)練系統(tǒng)訓(xùn)練好的n個SVM單元、解碼器組成。本發(fā)明利用數(shù)字通信中的糾錯編碼算法將多個SVM進(jìn)行有效地組合,使得組合后的SVM網(wǎng)絡(luò)具有糾正其中部分SVM單元所發(fā)生的分類錯誤的能力,而且需要使用的SVM單元的數(shù)量較少,從而使該分類方法的綜合性能得到提高。
文檔編號H04L1/00GK102013946SQ20101052841
公開日2011年4月13日 申請日期2010年11月1日 優(yōu)先權(quán)日2010年11月1日
發(fā)明者王成波, 趙泰洋, 郭成安 申請人:大連理工大學(xué)