摘 要:機器學(xué)習(xí)的分類算法廣泛的應(yīng)用于解決與數(shù)據(jù)分類有關(guān)的問題。文章基于理論分析詳細(xì)地描述了常用的幾種機器學(xué)習(xí)分類算法,并闡述了各種分類算法的優(yōu)缺點。通過比較各種分類算法在不同屬性的數(shù)據(jù)的誤分類率,為在具體數(shù)據(jù)中的分類選擇提供了一定的理論基礎(chǔ)。
關(guān)鍵詞:機器學(xué)習(xí) 分類算法 屬性 誤分類率 分類選擇
引 言
隨著信息技術(shù)和數(shù)據(jù)庫技術(shù)的迅猛發(fā)展,人們可以非常方便廉潔地獲取和存儲大量的數(shù)據(jù)。對這些龐大而又不同屬性的數(shù)據(jù),正確的處理和分類就顯得尤為的重要。分類是找出數(shù)據(jù)庫中一組數(shù)據(jù)對象的共同特點并按照分類模式將其劃分為不同的類,其目的是通過分類模型,將數(shù)據(jù)庫中的數(shù)據(jù)項映射到某個給定的類別。
目前機器學(xué)習(xí)有很多分類算法可以對數(shù)據(jù)進(jìn)行分類,但是針對不同的屬性的數(shù)據(jù)選擇一個好的算法在實際應(yīng)用中具有重要意義。評價一個分類算法好壞的指標(biāo)有很多,如誤分類率,準(zhǔn)確度,查全率,查準(zhǔn)率,計算復(fù)雜度,計算速度,可解釋性,可伸縮性,穩(wěn)定性等等,本文主要根據(jù)分類算法的誤分類率來進(jìn)行判斷。
1、相關(guān)研究介紹
1.1 決策樹分類(C4.5)
決策樹是一種典型的分類方法,首先對數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策對新數(shù)據(jù)進(jìn)行分析。本質(zhì)上決策樹是通過一系列規(guī)則對數(shù)據(jù)進(jìn)行分類的過程。
C4.5算法的優(yōu)點:
優(yōu)點:產(chǎn)生的分類規(guī)則易于理解,準(zhǔn)確率較高。
缺點:C4.5只適合能駐留于內(nèi)存的數(shù)據(jù)集,當(dāng)數(shù)據(jù)很大時程序無法運行。
1.2 Adaboost分類
Adaboosting是在整個訓(xùn)練集上維護(hù)一個分布權(quán)值向量,用賦予權(quán)重的訓(xùn)練集通過弱分類算法產(chǎn)生分類,即分類器,然后計算它的錯誤率,用得到的錯誤率去更新分布權(quán)值向量,對錯誤分類的樣本分配更大的權(quán)值,正確分類的樣本賦予更小的權(quán)值。
Adaboosting的優(yōu)缺點:
優(yōu)點:不要求產(chǎn)生的單個分類器有較高的識別率;
缺點:會產(chǎn)生過擬合現(xiàn)象,不夠穩(wěn)定。
1.3 隨機森林分類
隨機森林分類是由很多決策樹模型組成的組合分類模型。在給定集合下,每個決策樹分類模型都有一票投票來選擇最優(yōu)的分類結(jié)果。隨機森林的基本過程:首先,利用bootstrap抽樣從原始訓(xùn)練集抽取 個樣本,且每個樣本的樣本容量都與原始訓(xùn)練集一樣;其次,對 個樣本分別建立 個決策樹模型,得到 種分類結(jié)果;最后,根據(jù) 種分類結(jié)果對每個記錄進(jìn)行投票表決決定最終分類。
隨機森林的優(yōu)缺點:
優(yōu)點:通過對許多分類器進(jìn)行組合,它可以產(chǎn)生高準(zhǔn)確度的分類器
缺點:在某些噪聲較大的分類問題上會出現(xiàn)過擬合現(xiàn)象;
1.4 神經(jīng)網(wǎng)絡(luò)分類
神經(jīng)網(wǎng)絡(luò)是一種模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能的數(shù)學(xué)模型或計算模型。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、隱層和輸出層。神經(jīng)網(wǎng)絡(luò)的原理是把上層節(jié)點的值加權(quán)平均到下層節(jié)點,最終到輸出層節(jié)點,然后誤差大小反饋回前面的層,再重新加權(quán)平均,如此反復(fù)訓(xùn)練,直到誤差在允許范圍之內(nèi)。
神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點:
優(yōu)點:而且學(xué)習(xí)規(guī)則簡單,便于計算機實現(xiàn);具有很強的魯棒性。
缺點:難于精確分析神經(jīng)網(wǎng)絡(luò)的各項性能指標(biāo);體系結(jié)構(gòu)的通用性差。
1.5 樸素貝葉斯分類方法
樸素貝葉斯分類方法是貝葉斯分類模型中一種最簡單、有效而且在實際應(yīng)用中很成功的分類方法。它假定特征向量的各分量間相對于決策變量是相互獨立的,此假定雖然在一定程度上限制了樸素貝葉斯分類的適用范圍,但在實際應(yīng)用中,卻大大降低了它的復(fù)雜性。
樸素貝葉斯分類方法的優(yōu)缺點:
優(yōu)點:算法邏輯簡單,且易于實現(xiàn);算法實施的時間和空間開銷小。
缺點:類條件獨立性假設(shè)在現(xiàn)實世界中經(jīng)常不能滿足。
2、數(shù)據(jù)收集
本文采用了三個不同屬性的數(shù)據(jù)集,數(shù)據(jù)來源于UCI Machine Learning Repository網(wǎng)站。這些數(shù)據(jù)集中有的有缺失值,也有分為兩類,三類甚至四類的。每個數(shù)據(jù)的具體情況如下:
2.1 Irish Educational Transitions Data
這個數(shù)據(jù)來源于Greaney and Kelleghan。該數(shù)據(jù)有500個觀測值和6個變量,其中Certif為因變量,包含兩個分類類別:1和2,屬于類別1的樣本有278個,屬于類別2的樣本有222個,其余變量是自變量。我們將試圖用5個自變量來預(yù)測作為因變量的Certif的類別。
2.2 Wine Data
這個數(shù)據(jù)來源于意大利一個地區(qū)的三個不同品種的葡萄酒的化學(xué)分析的結(jié)果,該數(shù)據(jù)一共有178個觀測值,14個變量。其中Class為因變量,包含三個分類類別:1、2和3,屬于類別1的樣本有59個,屬于類別2的樣本有71,屬于類別3的樣本有48個,其余13個變量為自變量。我們將試圖用13個自變量來預(yù)測作為因變量的Class的類別。
2.3 Breast Cancer data
這個數(shù)據(jù)來源于Dr. William H. Wolberg。該數(shù)據(jù)一共有569個觀測值,32個變量,這些變量分別是:ID、Diagnosis和30個具體的關(guān)于乳腺癌的數(shù)量變量。其中Diagnosis為因變量,包含兩個分類類別:M和N,屬于類別M的樣本有212個,屬于類別N的樣本有357個。我們將試圖用30個關(guān)于乳腺癌的自變量來預(yù)測作為因變量Diagnosis的類別。
3、實驗結(jié)果及分析
本文是用R軟件去實現(xiàn)數(shù)據(jù)結(jié)果,包括數(shù)據(jù)中缺失值處理和有些對實驗沒有直接關(guān)系的變量的處理(如數(shù)據(jù)中的ID),對上面的數(shù)據(jù)進(jìn)行了整個數(shù)據(jù)的分類判別和五折交叉驗證,分析結(jié)果如表1(其中神經(jīng)網(wǎng)絡(luò)是通過調(diào)節(jié)參數(shù)得到的最好的情況):
由上面的實驗結(jié)果可以看出:Adaboost、隨機森林和神經(jīng)網(wǎng)絡(luò)方法都有比較好的分類結(jié)果,而決策樹和樸素貝葉斯方法表現(xiàn)相對較差。在實驗結(jié)果中,神經(jīng)網(wǎng)絡(luò)也表現(xiàn)出了很好的結(jié)果,這樣的結(jié)果卻是在實驗過程中把神經(jīng)網(wǎng)絡(luò)的隱藏層的節(jié)點調(diào)節(jié)到一定程度后出現(xiàn)的,這樣做其實大大的增加了計算的復(fù)雜度,也使得實驗運行的時間變得很長。因此,當(dāng)對一組新的數(shù)據(jù)集進(jìn)行分類的時候,如果數(shù)據(jù)集的分類屬性較小,且數(shù)據(jù)集包含的樣本也較小時,我們可以先考慮像Adaboost、隨機森林和神經(jīng)網(wǎng)絡(luò)等誤分類率較好的算法;如果數(shù)據(jù)集的分類屬性較小但樣本較大時,我們則可以先考慮神經(jīng)網(wǎng)絡(luò)、Adaboost等分類算法;如果數(shù)據(jù)集的分類屬性較大,那么我們可以先考慮像Adaboost、隨機森林等這些比較穩(wěn)定的算法,當(dāng)然,在條件允許的情況下,神經(jīng)網(wǎng)絡(luò)也是很好的算法,因為它具有很強的魯棒性。另外,文中的樸素貝葉斯方法表現(xiàn)不是太好,這也和數(shù)據(jù)集本身的特點有關(guān),當(dāng)數(shù)據(jù)集樣本之間的相關(guān)性很小時,也可以考慮樸素貝葉斯方法,因為它的性能比較穩(wěn)定,健壯性也比較好。
4、小結(jié)
文中介紹了幾種機器學(xué)習(xí)的分類算法,以及他們的優(yōu)缺點。通過誤分類率來比較各種分類算法在不同屬性數(shù)據(jù)上的分類效果。在實際應(yīng)用中,要根據(jù)不同的需要,根據(jù)不同算法的不同特點,結(jié)合各項分類算法的指標(biāo),采取合適的方法,才能較好地解決具體應(yīng)用問題。另外,文中只比較了一些數(shù)據(jù)的分類效果,對一些數(shù)據(jù)中的分類選擇提供了一定的理論基礎(chǔ),而對于數(shù)據(jù)集更大(成千甚至上萬),分類屬性也更大,分類類別更多的問題,將在以后的工作中作深入的研究。
參考文獻(xiàn):
[1]I.H. Witten, E. Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann,2005.
[2]托爾戈 (Luis Torgo)、李洪成、陳道輪、吳立明.數(shù)據(jù)挖掘與R語言[M].機械工業(yè)出版社.2013-04.
[3]M.Jordan, J.Kleinberg, B.Scholkopf. Pattern Recognition and Machine Learning[M]. 2006.
[4]吳喜之著.復(fù)雜數(shù)據(jù)統(tǒng)計方法——基于R的應(yīng)用[M].北京:中國人民大學(xué)出版社.2013.9.
[5]Coetes C, Vapnik V. Support network[J].Machine Learning,1995,20(3):273-297.
[6]Zhang, Ling, Zhang, Bo, Yin, Hai-feng. An alternative covering design algorithm of multi-layer neural network. Journal of Software, 1999, 10(7):737-742.
[7]Frank,A.Asuncion,A.(2010) UCIMachineLearning Repository [http://archive. ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.