朱 琳,楊本娟
(貴州師范大學數(shù)學科學學院,貴州 貴陽 550025)
分類器是利用已知的數(shù)據(jù)來建立模型,并用這個模型去預測待測數(shù)據(jù)的類別。在監(jiān)督學習中,分類問題是基于訓練數(shù)據(jù)樣本中提供的已知輸出標簽來監(jiān)督的,分類器在學習待測數(shù)據(jù)的同時,主要目標是盡可能地接近真正的未知函數(shù),減少泛化誤差。然而,并不是所有的樣本都能被一個單獨的分類器很好地學習到,在這種情況下,模型的泛化能力降低,分類器在測試集上表現(xiàn)不佳,所以采用多分類器集成技術(shù)為解決該問題提供了思路,若在對同一個樣本進行測試時,不同的基分類器的分類結(jié)果不同,使用一些策略來結(jié)合這些分類器,就可以在一定程度上提高模型的預測能力。Dietterich從統(tǒng)計、計算及表示三個角度分別分析了集成分類器的優(yōu)點;Hansen 等人將多個單神經(jīng)網(wǎng)絡進行集成,得到集成神經(jīng)網(wǎng)絡,并通過實驗證明了其分類效果比任何單一的分類器的更好;劉威等人提出了一種基于遺傳算法的神經(jīng)網(wǎng)絡集成方法,通過實驗證明該方法得出的學習器泛化能力較好,避免過擬合的問題。多分類器集成就是為了彌補各單一分類器之間的缺點,從而提高最終分類器的泛化能力,此外,多分類器集成也被應用到很多領域如圖像分類、醫(yī)療診斷預測、目標識別、入侵檢測等。本文將從集成分類器優(yōu)點、多樣性產(chǎn)生、應用等方面討論。
集成學習通過構(gòu)建并結(jié)合多個學習器來完成學習任務,有時也被稱為多分類器系統(tǒng)。對于集成分類器的生成,常用策略有:平均法、投票法和Stacking。對于數(shù)值型的輸出常用平均法來結(jié)合;投票法集成的模型常用于分類問題;當訓練數(shù)據(jù)很多時,運用Stacking 方法,即用次級學習器去學習初級學習器的輸出,以得到最終的分類模型。Sagi 等人回顧了集成方法,討論了集成學習可從改進流行算法、在原有預測準確率的基礎上將集成模型轉(zhuǎn)換為更簡單全面的模型發(fā)展。Schapire證明了弱學習算法與強學習算法的等價性,該方法的提出,使集成學習成為機器學習的一個重要研究領域。Santucci 等人提出通過對給定分類器的參數(shù)直接定義合適的概率分布,通過隨機抽樣其基分類器的參數(shù)值,來構(gòu)建分類器集成;Koziarski等人針對隨機子空間法的隨機性的不穩(wěn)定,提出了一種確定性子空間方法,以得到更加穩(wěn)定的集成分類器。
在多分類器集成過程中,構(gòu)造具有差異性的基分類器可以提高模型分類精度,多樣化后的分類器泛化能力較好。以下闡述產(chǎn)生分類器的多樣性一些方法:
對于算法參數(shù)的操作,在訓練基分類器之前,一般需對學習算法的參數(shù)進行設置,不同參數(shù)的設置訓練產(chǎn)生不同的分類器,算法參數(shù)的改變也會影響模型的預測精度。Kolen 等人通過實驗證明了初始權(quán)值的設置不同對反向傳播有極高的敏感性。Ren 等人提出一種基于動態(tài)權(quán)值的多分類器集成方法,以減少不可靠決策信息的干擾,提高融合決策的精度。Y.Liu等人提出了負相關學習法,將單個神經(jīng)網(wǎng)絡都通過其誤差函數(shù)中的相關懲罰系數(shù)同時進行交叉訓練,使得集成得到的模型能夠更好地學習這個訓練數(shù)據(jù)。
從對訓練集的輸入操作上來看,研究者們?yōu)榱双@得性能更好的模型,針對不同類型數(shù)據(jù)的特點,采取了不同的數(shù)據(jù)處理方法對數(shù)據(jù)樣本進行操作后再訓練。Bagging 算法通過對數(shù)據(jù)集采樣方法來獲取不同的訓練子集,然后來訓練個體分類器,采用投票法選出分類效果最好的分類器以作為最終預測的分類器。Melville 等人提出了給訓練集人工添加樣本的方法,證明了該方法在訓練數(shù)據(jù)有限時的有效性。Ho提出了隨機子空間法,將初始屬性集中選出多個屬性子集,然后基于屬性子集訓練分類器,對于屬性較多的數(shù)據(jù)集,使用該方法來減少冗余屬性,有效訓練分類器。
對于輸出表示的操作,為減少誤差,Breiman提出了翻轉(zhuǎn)法,即隨機改變一些訓練樣本的標記;輸出調(diào)制法,即對輸出表示進行轉(zhuǎn)化。Dietterich 等人提出了糾錯輸出編碼法(ECOC),將多分類問題轉(zhuǎn)化為多個二分類問題,通過編碼的方式來糾正由單個分類器引起的偏差,以此提高分類精度。Zhou 等人提出了一種n 元糾錯編碼方案(N-ary ECOC),將多分類器分解為多類子問題來解決。
在現(xiàn)實的數(shù)據(jù)中,大多數(shù)據(jù)都是不平衡的,不平衡問題就是在分類時,不同類別的數(shù)據(jù)它們在數(shù)目上的差別較大,對于此類問題,學者們主要從數(shù)據(jù)的預處理及算法的改進等方面來加以解決。針對不平衡數(shù)據(jù)的分類問題,Sun 等人通過對數(shù)據(jù)的隨機分組或聚類等方法來將不平衡的數(shù)據(jù)轉(zhuǎn)化為多個平衡數(shù)據(jù),然后通過對多個平衡數(shù)據(jù)的學習來構(gòu)建不同分類器,用集成規(guī)則來組合分類結(jié)果,通過實驗證明所提出的方法對解決數(shù)據(jù)不平衡問題很有效。章少平等人提出了一種優(yōu)化的支持向量機(SVM)集成分類器模型,來解決不平衡數(shù)據(jù)集分類問題,根據(jù)數(shù)據(jù)集生成相應SVM 模型,優(yōu)化生成的模型參數(shù),利用優(yōu)化后的核函數(shù)和懲罰系數(shù)并行生成SVM 模型,采用投票法來生成最終預測模型。Zhao 等人提出了加權(quán)混合集成方法(WHMBoost),在boosting 算法框架下,通過給采樣方法和基分類器分配權(quán)值,迭代訓練得到最終集成模型。Cao 等人采用代價敏感方法在數(shù)據(jù)和特征層面學習,通過Stacking方法獲得最終分類器。
圖像作為一個重要的信息載體,受到不同因素的影響,要準確識別圖像中的信息確實是一個難題,對一般圖像、遙感圖像、醫(yī)學圖像的分類識別,分類器集成技術(shù)都有了一定的應用。針對卷積神經(jīng)網(wǎng)絡提取特征信息不完整導致圖像分類方法分類精度不高等問題。羅會蘭等人提出一種基于集成學習技術(shù)的SVM 集成的圖像分類方法,與傳統(tǒng)的BOW 模型的圖像分類方法相比較,采用SVM 集成的圖像分類方法明顯提高了分類精度,具有一定的穩(wěn)健性。Zheyun Feng 等人針對圖像不能精確地用一種特征來表示,使用不同的分類器(核回歸和SVM)對不同的特征,以加權(quán)的方式集成分類結(jié)果。對醫(yī)學圖像的分類也提高了疾病的診斷率,為疾病的診斷提供更加有效的病灶信息。胡會會等人提出了一種基于CT 圖像的集成隨機森林模型的肺結(jié)節(jié)良惡性分類鑒別方法。
通過對病人的臨床數(shù)據(jù)的學習構(gòu)建預測模型,對一些疾病的患病率進行預測且取得了顯著效果。建立先驗模型來識別患者,提前通過藥物治療改善病情,為一些慢性疾病的診斷治療做出了很大貢獻,可輔助醫(yī)生做出醫(yī)療診斷。Bashir 等人用集成模型對糖尿病數(shù)據(jù)集進行預測,采用三種決策樹類型ID3、C4.5和CART作為基分類器,比較了多種集成技術(shù),通過實驗證明了Bagging 集成模型表現(xiàn)優(yōu)于其他模型。蔡莉莉等人提出一種基于K 近鄰-隨機森林算法的肝病預測集成模型,采用K 近鄰和隨機森林算法分別構(gòu)建出預測分類器,利用Voting 策略得到集成肝病預測模型;Domor I Mienye 等提出集成方法預測心臟病風險,將數(shù)據(jù)集劃分為子集,用classification and regression tree(CART)訓練子集,基于準確率加權(quán)來集成分類器實驗結(jié)果表明,該方法可以有效地預測心臟病的風險。Dutta 等人用集成分類器預測糖尿病,比較了Voting 和Stacking 兩種集成策略生成模型的性能。Yadav 等人用對甲狀腺疾病進行預測,算法對甲狀腺疾病數(shù)據(jù)訓練后,采用Bagging 集成技術(shù)來構(gòu)建分類器,以提高預測值。
分類器集成模型預測性能比單一分類器模型好,但也存在一些問題,隨著模型復雜度變高,訓練的時間也變長。而且多分類器集成雖然能在一定程度提高模型預測性能,但是基分類器的數(shù)量也并不是越多越好,納入模型的特征也并非越多越好,所以在構(gòu)建模型之前,選用何種方法進行特征篩選,如何生成基分類器、組合策略等是需要考慮的。此外,對于集成模型,隨著其復雜度的提高,特征之間的關聯(lián)性解釋變得更加困難,對于如何解釋模型成為一個值得研究的問題。