專利名稱:一種融合增量學習的支持向量機多類分類方法
技術領域:
本發(fā)明涉及智能信息處理和機器學習技術領域,尤其是一種融合增量學習的支持 向量機多類分類方法。適用于在復雜屬性條件下,通過增量學習的方式對海量信息進行高 效多類分類。
背景技術:
支持向量機(SupportVector Machine)是近幾年發(fā)展起來的一種機器學習方法, 它是基于結構風險最小化原則構建的,具有很強的學習能力和泛化性能,能夠較好地解決 小樣本、高維數(shù)、非線性、局部極小等問題,廣泛的應用于模式分類和非線性回歸。傳統(tǒng)的支 持向量機是針對二類分類問題而提出的,不能直接用于多類分類,但在實際的應用中更多 的是多類分類問題,如何將傳統(tǒng)支持向量分類機推廣到多類分類仍是目前支持向量機領域 研究的熱點。增量學習技術相比于傳統(tǒng)的學習方法具有明顯的優(yōu)越性,主要表現(xiàn)為(1)增量 學習算法可以充分利用歷史的訓練結果,從而減少后繼訓練時間;(2)無須保存歷史數(shù)據(jù) 且可舍棄無用樣本減小訓練集,從而減少了存儲空間的占用;(3)隨著增量學習過程的不 斷進行,所獲得分類器的分類精度將不斷提高。Syed.N(1999年)是最早開始基于支持向量機增量算法研究的學者,在該算 法中給出了增量學習的增加策略,每次增量學習后只保留支持向量,丟棄其他的樣本。 G. Cauwenberghs (2003年)等人提出了在線增量訓練的精確解釋,即增減一個訓練樣本對 Lagrange系數(shù)和支持向量的影響。該算法是有效的,但其缺點是忽略了新增樣本分布對已 有樣本分布的影響,其訓練結果并不令人滿意。蕭嶸等(2001年)提出了一種支持增量學 習的方法ISVM,其訓練集的來源為支持向量、誤分數(shù)據(jù)或有選擇地淘汰一些樣本而來,算法 具有較高的學習精度。C. DomeniconiOOOl年)提出了一種快速支持向量機增量學習算法。 上述的這些算法的學習或存在振蕩現(xiàn)象或因引入的淘汰機制缺乏新增樣本對支持向量集 影響的考慮而導致分類知識丟失。Liao DP等人(2007年)提出一種基于密度法的增量學 習淘汰算法,該方法能準確地提出邊界向量,淘汰掉非邊界向量,有效地淘汰掉無用樣本, 保留重要信息,既保證訓練的精度又提高訓練的速度,計算簡單且易于實現(xiàn)。盡管關于樣本 的增量學習取得上述一些成果,但有關該領域的增量學習方法的研究還處于初級階段,且 都局限于在兩類分類中樣本的增加,然而實際中存在大量的多分類問題,如文本分類、信用 評估、人臉識別等,因此針對多類別增量學習的研究很必要也很重要。目前對支持向量機多類分類算法的研究比較多,包括l-a-Hone-against-rest) 算法.1-a-l (one-against-one)算法、DDAGSVM(directed acyclicraph SVM)算法等。Ying w等人(2006年)在克服上述算法缺點的基礎上提出基于二叉樹的支持向量機多分類算法 (簡稱BTSVM),有較好的分類效果和分類效率,但是該算法的抗干擾能力較差,對訓練數(shù)據(jù) 的要求較高,在一定程度上阻礙了其應用。
發(fā)明內容
本發(fā)明要解決的技術問題是提供一種融合增量學習的支持向量機多類分類方 法,旨在減少樣本的訓練時間、提高分類器的分類精度及抗干擾性。本發(fā)明所采用的技術方案是一種融合增量學習的支持向量機多類分類方法,其 特征在于包括步驟步驟1、在總的樣本中隨機抽取一部分作為訓練樣本集D,另一部分作為測試樣本 集T;步驟2、對訓練樣本集D進行預抽取支持向量,獲得最終的預抽取訓練樣本集PTS, 剩下的訓練樣本作為增量樣本集Btl ;步驟3、用循環(huán)迭代法對預抽取訓練樣本集PTS進行支持向量機訓練,得到多類分 類模型M-SVM ;步驟4、對多類分類模型M-SVM進行二叉樹處理,得到基于二叉樹的支持向量機多 類分類模型BTMSVMq ;步驟5、對多類分類模型BTMSVMtl進行增量學習訓練,得到新的多類分類模型 BTMSVM1 ;步驟6、將步驟1中的測試樣本集T輸入到多類分類模型BTMSVM1進行分類。步驟2中所述的預抽取支持向量按以下步驟進行2. 1、對K類樣本根據(jù)各類樣本的數(shù)量進行由多到少排序,訓練樣本中出現(xiàn)最多的 類為第1類,以此類推,直至第K類,形成分類序列集合{si,s2...sk};2. 2、確定訓練樣本的類型,對于K類的訓練樣本,訓練K-I個支持向量機,第i個 支持向量機以第i類樣本為正的訓練樣本,將第i+1,i+2.....K類訓練樣本作為負的訓練 樣本訓練SVM⑴(i = 1. . . .K-1),第K-I個支持向量機將以第K-I類樣本作為正樣本,以第 K類樣本為負樣本訓練SVM(K-I);2. 3、從訓練樣本集D中的第i類樣本集中選取一個樣本,根據(jù)類均值距離法求其 與第i+Ι類所有樣本間的距離= l,2...k,j = l,2,...k)δ Jjj = I Imi-IiijI ^TiTj
廣,=丄ΣΚ—…丨2!^ Jt1始.華集的均值向量,I ImiIjI I2為i類和j類均值向 其中叫λ丨表不弟ι類樣本
η k=\
量間的距離,r,和&分別為i類及j類的類平均半徑,η,為i類中的樣本數(shù)目,稱δ μ為 i類和i類之間的類均值距離;2. 4、找出這些距離中的最小值及與這個最小距離所對應的第i+Ι類中的樣本,將 其放在預抽取樣本集合PTSO中;2. 5、返回到步驟2. 3,遍歷完訓練樣本集D中第i類中的所有樣本;2. 6、返回到步驟2. 1,遍歷完訓練樣本集D中第i+Ι類中的所有樣本;2. 7、對預抽取樣本集合PTStl中的樣本做唯一化處理,獲得最終的預抽取訓練樣本 集合PTS。步驟3中所述的循環(huán)迭代法按以下步驟進行3. 1、以步驟2最終獲取的預抽取向量集PTS,構造數(shù)據(jù)集的分類超平面;
5
3. 2、利用所得到的分類超平面對訓練樣本集D進行測試,計算訓練樣本集D中樣 本與分類超平面間距離d,以及訓練正確率P ;3. 3、當分類正確率P較小時,減少加入預抽取訓練樣本集PTS中違反 KKT條件(KKT條件是使每個樣本滿足優(yōu)化問題的條件,在本發(fā)明中該條件定義為 at = 0 => y,f(x,) > ι,0<a,<C-兄/(χ,) = 1,α, =C-兄/(χ,)<1。其中非零的 ai
為SV,f(x) =h為SVM分類決策函數(shù),{Xi,yi}為訓練樣本,C為指定常數(shù)??芍猣(x) =0 為分類面,f(x) = 士1為分類間隔面,則a = 0對應的樣本分布在分類器分類間隔面之外, 0<a< C對應的樣本位于分類間隔面之上,a = C對應的樣本位于分類間隔面關于本類的 異側。違背KKT條件等價于yif (Xi) < 1。)的樣本的數(shù)量,以求減少求解二次規(guī)劃問題的 規(guī)模;當分類正確率P較大時,加大加入預抽取訓練樣本集PTS中違反KKT條件的樣本的數(shù) 量,以求減少循環(huán)迭代的次數(shù),并加入到預抽取訓練樣本集PTS中,取代原預抽取訓練樣本 集PTS,作為下次循環(huán)迭代的訓練樣本集;3. 4、當訓練正確率P < 1時,重復3.3 ;當訓練正確率P = 1時跳出循環(huán),結束迭 代,訓練結束,得到多類分類模型M-SVM。步驟4包括4. 1、將步驟3訓練得到的SVM1作為二叉樹的根節(jié)點,將屬于第1類的測試樣本決 策出來;4. 2、將不屬于第1類的樣本通過SVM2繼續(xù)進行分類,依次類推直到SVMim將第K 類樣本訓練完,從而得到基于二叉樹的SVM多類分類模型BTMSVM。。步驟5中所述的增量學習按以下步驟進行5. 1、將增量樣本集Btl輸入BTMSVMtl,將增量樣本集分為滿足BTMSVMtl的KKT條件和 不滿足KKT條件的2個集合;5. 2、對滿足KKT條件的增量樣本集和BTMSVMtl的負例樣本集分別進行密度法淘汰 處理,得到剩余集;5. 3、將剩余集與BTMSVMtl的正例樣本集及增量樣本集的不滿足KKT條件的集合并 得到新增量訓練集B1;5. 4、將新增量訓練集Bl輸入BTMSVMtl進行訓練,得到新的多類分類模型BTMSVMlt5本發(fā)明的有益效果是本方法通過將支持向量機和二叉樹的基本思想相結合,以 類均值距離作為二叉樹的生成算法,讓與其他類相隔最遠的類最先分隔出來,這種方法構 造的最優(yōu)超平面具有較好的推廣性,能有效的避免孤立點帶來的問題,使其具有一定的抗 干擾性,而且只需構造k-Ι個(k為樣本類別總數(shù))支持向量機分類器,測試時并不一定需 要計算所有的分類器判別函數(shù),從而可節(jié)省測試時間。同時將基于密度法的增量學習算法 加入本發(fā)明的多類分類器,在實現(xiàn)多分類能力的同時提升其增量學習的能力。
圖1是本發(fā)明的工作流程圖。圖2是本發(fā)明中BTIMSVM增量學習過程。
具體實施例方式
本發(fā)明融合增量學習的支持向量機多類分類方法按以下步驟進行 步驟1、在總的樣本中隨機抽取一部分作為訓練樣本集D,另一部分作為測試樣本集T。步驟2、對訓練樣本集D進行預抽取支持向量,進一步包括步驟2. 1、對K類樣本根據(jù)各類樣本的數(shù)量進行由多到少排序,訓練樣本中出現(xiàn)最多的 類為第1類,以此類推,直至第K類,形成分類序列集合{si,s2...sk};2. 2、確定訓練樣本的類型,對于K類的訓練樣本,訓練K-I個支持向量機,第i個 支持向量機以第i類樣本為正的訓練樣本,將第i+1,i+2. . . . K類訓練樣本作為負的訓練樣 本訓練SVM⑴(i = 1. . . . K-1),第K-I個支持向量機將以第K-I類樣本作為正樣本,以第K 類樣本為負樣本訓練SVM(K-I);2. 3、從訓練樣本集D中的第i類樣本集中選取一個樣本,根據(jù)類均值距離法求其 與第i+Ι類所有樣本間的距離= l,2...k,j = l,2,...k)
權利要求
一種融合增量學習的支持向量機多類分類方法,其特征在于包括步驟步驟1、在總的樣本中隨機抽取一部分作為訓練樣本集D,另一部分作為測試樣本集T;步驟2、對訓練樣本集D進行預抽取支持向量,獲得最終的預抽取訓練樣本集PTS,剩下的訓練樣本作為增量樣本集B0;步驟3、用循環(huán)迭代法對預抽取訓練樣本集PTS進行支持向量機訓練,得到多類分類模型M SVM;步驟4、對多類分類模型M SVM進行二叉樹處理,得到基于二叉樹的支持向量機多類分類模型BTMSVM0;步驟5、對多類分類模型BTMSVM0進行增量學習訓練,得到新的多類分類模型BTMSVM1;步驟6、將步驟1中的測試樣本集T輸入到多類分類模型BTMSVM1進行分類。
2.根據(jù)權利要求1所述的融合增量學習的支持向量機多類分類方法,其特征在于步驟 2中所述的預抽取支持向量按以下步驟進行2.1、對K類樣本根據(jù)各類樣本的數(shù)量進行由多到少排序,訓練樣本中出現(xiàn)最多的類為 第1類,以此類推,直至第K類,形成分類序列集合{si,s2...sk};2. 2、確定訓練樣本的類型,對于K類的訓練樣本,訓練K-I個支持向量機,第i個支持 向量機以第i類樣本為正的訓練樣本,將第i+1,i+2.....K類訓練樣本作為負的訓練樣本 訓練SVM⑴(i = 1. . . . K-1),第K-I個支持向量機將以第K-I類樣本作為正樣本,以第K類 樣本為負樣本訓練SVM(K-I);2. 3、從訓練樣本集D中的第i類樣本集中選取一個樣本,根據(jù)類均值距離法求其與第 i+Ι類所有樣本間的距離= l,2...k,j = l,2,...k) 5 i,j = I Imi-HijI 2TiTjη其中叫表示第i類樣本集的均值向量,I Imi-Hij I I2為i類和j類均值向量間的 ^ k=\距離,r,和rj分別為i類及j類的類平均半徑,η,為i類中的樣本數(shù)目,稱S i,」為i類和 j類之間的類均值距離;2. 4、找出這些距離中的最小值及與這個最小距離所對應的第i+Ι類中的樣本,將其放 在預抽取樣本集合PTStl中;2. 5、返回到步驟2. 3,遍歷完訓練樣本集D中第i類中的所有樣本; 2. 6、返回到步驟2. 1,遍歷完訓練樣本集D中第i+Ι類中的所有樣本;2.7、對預抽取樣本集合PTStl中的樣本做唯一化處理,獲得最終的預抽取訓練樣本集合PTS。
3.根據(jù)權利要求1所述的融合增量學習的支持向量機多類分類方法,其特征在于步驟 3中所述的循環(huán)迭代法按以下步驟進行3. 1、以步驟2最終獲取的預抽取向量集PTS,構造數(shù)據(jù)集的分類超平面; 3. 2、利用所得到的分類超平面對訓練樣本集D進行測試,計算訓練樣本集D中樣本與 分類超平面間距離d,以及訓練正確率P ;3. 3、當分類正確率P較小時,減少加入預抽取訓練樣本集PTS中違反KKT條件(請解釋一下KKT條件)的樣本的數(shù)量,以求減少求解二次規(guī)劃問題的規(guī)模;當分類正確率P較大 時,加大加入預抽取訓練樣本集PTS中違反KKT條件的樣本的數(shù)量,以求減少循環(huán)迭代的次 數(shù),并加入到預抽取訓練樣本集PTS中,取代原預抽取訓練樣本集PTS,作為下次循環(huán)迭代 的訓練樣本集;·3.4、當訓練正確率P < 1時,重復3. 3;當訓練正確率P= 1時跳出循環(huán),結束迭代,訓 練結束,得到多類分類模型M-SVM。
4.根據(jù)權利要求1所述的融合增量學習的支持向量機多類分類方法,其特征在于步驟 4包括4. 1、將步驟3訓練得到的SVM1作為二叉樹的根節(jié)點,將屬于第1類的測試樣本決策出來;4.2、將不屬于第1類的樣本通過SVM2繼續(xù)進行分類,依次類推直到SVMih將第K類樣 本訓練完,從而得到基于二叉樹的SVM多類分類模型BTMSVM。。
5.根據(jù)權利要求1所述的融合增量學習的支持向量機多類分類方法,其特征在于步驟 5中所述的增量學習按以下步驟進行5. 1、將增量樣本集Btl輸入BTMSVMtl,將增量樣本集分為滿足BTMSVMtl的KKT條件和不滿 足KKT條件的2個集合;5. 2、對滿足KKT條件的增量樣本集和BTMSVM0的負例樣本集分別進行密度法淘汰處 理,得到剩余集;5. 3、將剩余集與BTMSVMtl的正例樣本集及增量樣本集的不滿足KKT條件的集合并得到 新增量訓練集B1;5. 4、將新增量訓練集Bl輸入BTMSVMtl進行訓練,得到新的多類分類模型BTMSVMlt全文摘要
本發(fā)明涉及一種融合增量學習的支持向量機多類分類方法。本發(fā)明的目的是提供一種融合增量學習的支持向量機多類分類方法,旨在減少樣本的訓練時間、提高分類器的分類精度及抗干擾性。本發(fā)明的技術方案是1、在總的樣本中隨機抽取一部分作為訓練樣本集D,另一部分作為測試樣本集T;2、對訓練樣本集D進行預抽取支持向量;3、用循環(huán)迭代法對預抽取訓練樣本集PTS進行支持向量機訓練,得到多類分類模型M-SVM;4、對多類分類模型M-SVM進行二叉樹處理,得到支持向量機多類分類模型BTMSVM0;5、對多類分類模型BTMSVM0進行增量學習訓練,得到模型BTMSVM1;6、將步驟1中的測試樣本集T輸入到多類分類模型BTMSVM1進行分類。本發(fā)明用于通過增量學習對海量信息進行高效多類分類。
文檔編號G06F17/30GK101944122SQ20101028945
公開日2011年1月12日 申請日期2010年9月17日 優(yōu)先權日2010年9月17日
發(fā)明者梅錚, 琚春華, 鄭麗麗 申請人:浙江工商大學