曾一平
摘?要:機(jī)器學(xué)習(xí)是數(shù)據(jù)挖掘中比較重要的一個(gè)部分,而機(jī)器學(xué)習(xí)中有一類非常的算法為集成學(xué)習(xí)。集成學(xué)習(xí)主要是使用多個(gè)弱學(xué)習(xí)器進(jìn)行學(xué)習(xí),再使用各種結(jié)合規(guī)則把所有弱學(xué)習(xí)器的結(jié)果進(jìn)行綜合,來(lái)得到一種強(qiáng)學(xué)習(xí)器的學(xué)習(xí)方法。依據(jù)UCI小麥分類數(shù)據(jù)集,在該數(shù)據(jù)集上分別采用了kNN,logsitic,SVM,集成學(xué)習(xí)等方法,分別取得了88%,90%,90%,91%的準(zhǔn)確率,驗(yàn)證了集成學(xué)習(xí)在處理機(jī)器學(xué)習(xí)問題上的優(yōu)異性。
關(guān)鍵詞:UCI小麥分類;KNN;邏輯回歸;SVM;集成學(xué)習(xí)
中圖分類號(hào):TB?????文獻(xiàn)標(biāo)識(shí)碼:A??????doi:10.19311/j.cnki.1672-3198.2019.17.101
0?引言
在機(jī)器學(xué)習(xí)中,對(duì)于分類問題的研究解決了許多與生活息息相關(guān)的問題。而集成學(xué)習(xí)是研究分類問題的優(yōu)質(zhì)方法。集成學(xué)習(xí)分為同質(zhì)集成與異質(zhì)集成,目前來(lái)說,同質(zhì)集成學(xué)習(xí)的應(yīng)用是最廣泛的,而同質(zhì)集成學(xué)習(xí)使用最多的模型是決策樹,主流的機(jī)器學(xué)習(xí)庫(kù)如sklearn,僅僅實(shí)現(xiàn)了同質(zhì)集成學(xué)習(xí)。所以,對(duì)于異質(zhì)集成學(xué)習(xí)進(jìn)行研究也就十分必要。
本研究通過一些機(jī)器學(xué)習(xí)的算法和模型去構(gòu)建一個(gè)程序,能根據(jù)小麥的7個(gè)特征,來(lái)識(shí)別是三種類型小麥中的哪一種類型,從而探究異質(zhì)集成學(xué)習(xí)的方法。
1?數(shù)據(jù)集特征
小麥數(shù)據(jù)集是包含210個(gè)小麥樣本的數(shù)據(jù)集,來(lái)自于UCI官網(wǎng),每個(gè)小麥包括7個(gè)特征,分別為區(qū)域,周長(zhǎng),壓實(shí)度,籽粒長(zhǎng)度,籽粒寬度,不對(duì)稱系數(shù),籽粒腹溝長(zhǎng)度。本研究將根據(jù)該數(shù)據(jù)集,探究異質(zhì)集成學(xué)習(xí)的方法。
為了訓(xùn)練模型和測(cè)試模型,我們把數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集兩部分。對(duì)于我們的UCI小麥數(shù)據(jù)集,共有210個(gè)樣本。我們隨機(jī)挑選出160個(gè)數(shù)據(jù)作為訓(xùn)練樣本,用于模型的訓(xùn)練。剩下50個(gè)數(shù)據(jù)作為測(cè)試樣本,用于模型的測(cè)試。
2?構(gòu)建分類模型
2.1?構(gòu)建kNN模型
2.1.1?基本原理
kNN模型是數(shù)據(jù)挖掘中一種簡(jiǎn)單的分類模型。該模型通過將所有訓(xùn)練集映射在一個(gè)空間中,然后計(jì)算測(cè)試集樣本與所有訓(xùn)練集樣本之間的距離,最后選取k個(gè)與該樣本較近的樣本,經(jīng)過投票原則來(lái)判斷測(cè)試集樣本的類別。
2.1.2?在UCI小麥數(shù)據(jù)集上應(yīng)用kNN模型
在我們的UCI小麥數(shù)據(jù)集上,我們將訓(xùn)練集的160個(gè)樣本映射在空間內(nèi)來(lái)訓(xùn)練Knn模型。在預(yù)測(cè)階段,我們通過計(jì)算測(cè)試集的50個(gè)小麥樣本與訓(xùn)練集的160個(gè)小麥樣本的距離,選取k個(gè)與該樣本較近的樣本,經(jīng)過投票原則來(lái)預(yù)測(cè)小麥的種類。
2.1.3?結(jié)果分析
我們使用了sklearn中的kNN模型函數(shù),在UCI小麥數(shù)據(jù)集上運(yùn)用了kNN模型。經(jīng)過測(cè)試,當(dāng)k= 2,3,4,5時(shí),模型在測(cè)試集樣本上的準(zhǔn)確率分別達(dá)到了86%,84%,86%,88%。最終終當(dāng)k = 5時(shí),在測(cè)試集上的準(zhǔn)確率比較高,達(dá)到了88%,結(jié)果如圖1所示。
2.1.4?kNN模型的優(yōu)缺點(diǎn)分析
kNN模型的優(yōu)點(diǎn)在于模型簡(jiǎn)單易懂,而且設(shè)定的參數(shù)少。不僅如此,隨著k的增大,對(duì)于異常值的敏感度會(huì)下降。但是缺點(diǎn)也是十分明顯,對(duì)測(cè)試樣本分類時(shí)的計(jì)算量大,內(nèi)存開銷大,由于需要對(duì)每一個(gè)測(cè)試集上的樣本都要計(jì)算它到訓(xùn)練集上所有樣本的距離,最終才能計(jì)算出它的K個(gè)最近鄰點(diǎn)。但是由于我們的樣本數(shù)目較少,因此采用kNN模型較其它模型來(lái)看速度相差不多,而且在測(cè)試集上能夠達(dá)到相似的效果。
2.2?構(gòu)建邏輯回歸模型
2.2.1?基本原理
邏輯回歸模型是一種在實(shí)際生產(chǎn)環(huán)境中被廣為使用的模型。在多分類問題中,邏輯回歸的是采用S函數(shù)來(lái)作為我們的假設(shè)函數(shù)。在我們的小麥分類問題中,sigmoid函數(shù)的輸出結(jié)果就是屬于每一類小麥的概率,范圍在[0,1]之間。邏輯回歸的訓(xùn)練過程是在尋找一個(gè)適合的學(xué)習(xí)參數(shù)θ向量,減小模型在訓(xùn)練集上的預(yù)測(cè)誤差,并且在訓(xùn)練的過程中,采用一定的正則化手段,來(lái)削弱模型的過擬合程度。
2.2.2?假設(shè)函數(shù)
邏輯回歸采用S函數(shù)作為假設(shè)函數(shù),如式(1)所示。函數(shù)的輸出范圍為[0,1],對(duì)應(yīng)了小麥屬于某個(gè)種類的概率。公式中的z = θTxX,其中θ是學(xué)習(xí)參數(shù),X在該問題中是每個(gè)小麥樣本的特征取值。
g(z) = 1/(1+e-z)(1)
2.2.3?交叉熵代價(jià)函數(shù)
代價(jià)函數(shù)的引入可以使我們來(lái)對(duì)模型輸出的結(jié)果有一定的評(píng)估。而交叉熵代價(jià)函數(shù)就是分類問題中較為常用的函數(shù),如式(2)所示。其中yi為樣本的實(shí)際標(biāo)簽值,g(θ)為是模型的預(yù)測(cè)結(jié)果,即預(yù)測(cè)屬于每一種小麥的概率值。
J(θ) = -∑yi*log(g(θ))(2)
2.2.4?邏輯回歸的正則化
在訓(xùn)練的過程中,隨著迭代次數(shù)的增加,代價(jià)函數(shù)也會(huì)不斷降低,最終趨于一個(gè)較小的值。代價(jià)函數(shù)越小,說明在訓(xùn)練集上的準(zhǔn)確率越高,但是追求較小的代價(jià)函數(shù)的同時(shí)會(huì)帶來(lái)機(jī)器學(xué)習(xí)中一個(gè)較為常見的過擬合問題。這時(shí)模型雖然在訓(xùn)練集上準(zhǔn)確率較高,但是處理陌生數(shù)據(jù)的能力就會(huì)下降,也就是說,模型在測(cè)試集上的準(zhǔn)確率會(huì)與在訓(xùn)練集上呈現(xiàn)的結(jié)果有很大地偏差。
過擬合問題雖然無(wú)法避免,但是可以在一定范圍內(nèi)緩和過擬合化的程度。這里我們有兩種緩和過擬合模型的方法。第一種是增加訓(xùn)練集樣本的數(shù)量,當(dāng)訓(xùn)練集樣本的數(shù)量增加時(shí),模型可在一定程度上削弱過擬合的程度,但是在實(shí)際情況下,我們無(wú)法去獲取到更多的樣本,或者說是在獲取樣本的過程中代價(jià)過高。因此我們采用了第二種正則化手段來(lái)減輕過擬合。
正則化的基本原理是在代價(jià)函數(shù)上增加一定的正則化約束,從而能得到一個(gè)擬合較為適度的機(jī)器學(xué)習(xí)模型,提高了模型處理陌生數(shù)據(jù)的能力。
2.2.5?在UCI數(shù)據(jù)集上應(yīng)用邏輯回歸模型
在我們的UCI小麥分類問題中,由于小麥種類一共有三類。因此我們無(wú)法直接使用邏輯回歸解決該問題。但是我們可以采用ovr或者ovo等手段,將一個(gè)三分類問題進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化為三個(gè)二分類問題。其實(shí)就是把每種小麥作為一類,把剩下的兩種小麥作為另外一類。在這種情況下,每?jī)蓚€(gè)小麥類別之間訓(xùn)練一個(gè)邏輯回歸分類器。在預(yù)測(cè)小麥種類時(shí),我們將待預(yù)測(cè)類別的小麥特征分別代入三個(gè)S函數(shù)中,然后挑選最大概率的輸出類別,預(yù)測(cè)為未知小麥的類別。
另外,在模型訓(xùn)練時(shí),為了削弱模型中的過擬合程度,我們使用了L2正則化手段,加入了L2正則化項(xiàng)后的代價(jià)函數(shù),如(3)式所示。
J(θ) = -∑yi*log(g(θ)) +∑C|θ|(3)
2.2.6?結(jié)果分析
經(jīng)過訓(xùn)練后,模型最終在測(cè)試集小麥樣本上達(dá)到了90%的準(zhǔn)確率,這個(gè)準(zhǔn)確率在KNN模型的基礎(chǔ)上,提高了兩個(gè)百分點(diǎn)。我們認(rèn)為其主要原因在于我們加入的L2正則化項(xiàng)對(duì)于模型的過擬合程度有一定的削弱,雖然我們采用了ovr手段進(jìn)行了問題轉(zhuǎn)化,引入了“偏斜類”的問題,但是在總體上來(lái)看影響不是很大,從而模型的輸出結(jié)果更為理想。
2.3?構(gòu)建SVM模型
2.3.1?SVM模型基本原理
SVM又叫作支持向量機(jī),在20世紀(jì)末被提出,是一種常見的一種判別分類方法。SVM在機(jī)器學(xué)習(xí)領(lǐng)域,是一個(gè)有監(jiān)督的學(xué)習(xí)模型,被用來(lái)進(jìn)行數(shù)據(jù)分類以及回歸問題。與數(shù)據(jù)挖掘的其他分類模型不同,它能對(duì)陌生數(shù)據(jù)有更好的處理。并且針對(duì)非線性可分?jǐn)?shù)據(jù),有一套核函數(shù)的理論來(lái)處理。由于其出色的性能表現(xiàn),使其生產(chǎn)生活中被廣泛使用。
SVM可以理解為是改進(jìn)了邏輯回歸模型,邏輯回歸的訓(xùn)練過程是找到一個(gè)超平面將不同類別的數(shù)據(jù)劃分開來(lái)。但是由于可能存在無(wú)數(shù)個(gè)線性可分的超平面能夠劃分?jǐn)?shù)據(jù),邏輯回歸并沒有定義這個(gè)超平面的性質(zhì)。但是對(duì)于SVM算法,則定義了這條超平面為所有超平面中距離不同類別間隔最大的一個(gè)超平面。因此,SVM也叫作大間隔邊界分類器。這個(gè)超平面能夠更好的克服敏感點(diǎn)的影響。實(shí)現(xiàn)更強(qiáng)的泛化能力。
2.3.2?核函數(shù)
由于實(shí)際的情況下,大多數(shù)數(shù)據(jù)集為線性不可分,在低緯空間無(wú)法直接找到超平面將不同類別進(jìn)行劃分,因此直接使用邏輯回歸或者SVM等模型進(jìn)行求解。此時(shí)就需要使用核函數(shù)將數(shù)據(jù)從低維空間映射到高維空間,在低維空間的數(shù)據(jù)變換到高維空間后,由于自由度增大而變得線性可分,此時(shí)再運(yùn)用邏輯回歸或者SVM等模型,就可以實(shí)現(xiàn)超平面的劃分。
2.3.3?結(jié)果分析
在SVM模型的訓(xùn)練過程中,我們使用了不同類型的核函數(shù),徑向基核函數(shù),線性核函數(shù)等。最終結(jié)果顯示,當(dāng)使用徑向基核函數(shù)時(shí),效果最好,在測(cè)試集的小麥樣本上取得了90%的準(zhǔn)確率。因此可見,SVM是在分類模型中泛化能力比較強(qiáng)的分類器。
2.3.4?SVM模型優(yōu)缺點(diǎn)分析
SVM是整體性能表現(xiàn)比較優(yōu)秀的一個(gè)分類模型,而且其引入的核技巧,能夠很好的解決數(shù)據(jù)的線性不可分問題。但是SVM對(duì)于小樣本問題以及異常數(shù)據(jù)點(diǎn)比較敏感,在這種情況下,可能無(wú)法訓(xùn)練出一個(gè)較好的分類模型。
2.4?構(gòu)建集成學(xué)習(xí)器
2.4.1?集成學(xué)習(xí)基本原理
在實(shí)際的機(jī)器學(xué)習(xí)問題中,我們期望能夠通過訓(xùn)練集訓(xùn)練出一個(gè)強(qiáng)學(xué)習(xí)器,即準(zhǔn)確率比較高的分類模型。但是現(xiàn)實(shí)情況是,每個(gè)分類模型都有其固有的優(yōu)異性以及局限性,因此,我們往往只能得到多個(gè)不同的弱學(xué)習(xí)器。在這種情況下,集成學(xué)習(xí)的方法被提出。所謂的集成學(xué)習(xí),就是綜合多個(gè)弱學(xué)習(xí)期的預(yù)測(cè)結(jié)果,通過某種結(jié)合策略,來(lái)得到最終的預(yù)測(cè)結(jié)果。在這種情況下,即使某幾個(gè)弱學(xué)習(xí)器給出了錯(cuò)誤的預(yù)測(cè)結(jié)果,只要能保證大多數(shù)的弱學(xué)習(xí)器的預(yù)測(cè)結(jié)果是正確的, 經(jīng)過策略的綜合,我們也能夠得到正確的預(yù)測(cè)結(jié)果。
因此,從集成學(xué)習(xí)的工作原理來(lái)看,要想組成集成學(xué)習(xí)需要兩步:第一步是訓(xùn)練出多個(gè)弱學(xué)習(xí)器,這是組成集成學(xué)習(xí)的基礎(chǔ)。第二步是采用一定的結(jié)合策略,將這些弱學(xué)習(xí)器組合成新的學(xué)習(xí)器,獲得最終的強(qiáng)學(xué)習(xí)器。
2.4.2?集成學(xué)習(xí)之個(gè)體學(xué)習(xí)器
得到個(gè)體學(xué)習(xí)器的方式一般有兩種:第一種方式是從同一種模型得到個(gè)體學(xué)習(xí)器,即是同質(zhì)學(xué)習(xí)器,例如都來(lái)自神經(jīng)網(wǎng)絡(luò)。另外一種方式是從不同模型得到個(gè)體學(xué)習(xí)器,即是異質(zhì)的,比如分別使用kNN,邏輯回歸,SVM的輸出再加以集成。
在目前的實(shí)際運(yùn)用中,同質(zhì)集成學(xué)習(xí)運(yùn)用的較為廣泛,對(duì)異質(zhì)集成的研究比較少,但異質(zhì)集成在特定的問題中,也是一種很好的學(xué)習(xí)方式。因此,我們選擇了異質(zhì)學(xué)習(xí)器作為我們的研究方向。
2.4.3?集成學(xué)習(xí)之結(jié)合策略
2.4.3.1?平均法
對(duì)于機(jī)器學(xué)習(xí)中的回歸問題,常常將所有的輸出結(jié)果進(jìn)行平均后,來(lái)得到最終的強(qiáng)學(xué)習(xí)器的輸出。
最簡(jiǎn)單的方式為算法平均,如(4)式所示。Wi為每個(gè)個(gè)體學(xué)習(xí)器的權(quán)重,最終的預(yù)測(cè)結(jié)果如(5)式所示。H(x)作為集成學(xué)習(xí)器的最終輸出,每個(gè)個(gè)體學(xué)習(xí)器的輸出是hi(x),個(gè)體學(xué)習(xí)器的個(gè)數(shù)是T。
H(x)=1/T∑hi(x)(4)
H(x)=∑wi*hi(x)(5)
2.4.3.2?投票法
對(duì)于機(jī)器學(xué)習(xí)中的分類問題,我們通常利用投票法進(jìn)行預(yù)測(cè)。將所有弱分類器的預(yù)測(cè)結(jié)果進(jìn)行投票來(lái)得到最終的預(yù)測(cè)結(jié)果。
第一種的投票法是相對(duì)多數(shù)投票法,也就是選取T個(gè)弱學(xué)習(xí)器中的預(yù)測(cè)結(jié)果中票數(shù)最多的那一類。如果有大于等于兩個(gè)類別獲得最高票,則就從這些并列得到最高票的類別中隨機(jī)選擇一個(gè)類別作為最終的類別。
第二種的是加權(quán)投票法,將每個(gè)弱分類器的投票結(jié)果乘以一個(gè)權(quán)重,最終把對(duì)所有類別的加權(quán)票數(shù)求和,最大的票數(shù)類別作為最終的類別。
在UCI小麥數(shù)據(jù)集上,我們使用了三個(gè)個(gè)體分類器,KNN模型,邏輯回歸模型,SVM模型,我們把三個(gè)模型的預(yù)測(cè)結(jié)果采用基本投票的方式綜合起來(lái),票數(shù)最多的小麥類別作為預(yù)測(cè)樣本的類別,最終得到準(zhǔn)確率相對(duì)每個(gè)個(gè)體學(xué)習(xí)器更高的強(qiáng)學(xué)習(xí)器。
經(jīng)過對(duì)個(gè)體學(xué)習(xí)器的集成,最終在測(cè)試集小麥樣本上達(dá)到了91%準(zhǔn)確率,對(duì)比單獨(dú)的個(gè)體學(xué)習(xí)期,提升了1個(gè)百分點(diǎn)。雖然只有一個(gè)百分點(diǎn)的提升,但足以證明在采用了異質(zhì)集成學(xué)習(xí)后,模型的性能得到改善。
3?結(jié)語(yǔ)
本文使用UCI小麥數(shù)據(jù)集,在該數(shù)據(jù)集上,分別使用了KNN模型,邏輯回歸模型,SVM模型以及異質(zhì)集成學(xué)習(xí),分別取得了88%,90%,90%,91%的準(zhǔn)確率,模型的性能經(jīng)過異質(zhì)集成學(xué)習(xí)后得到了改善,驗(yàn)證了異質(zhì)集成學(xué)習(xí)的優(yōu)異性。
參考文獻(xiàn)
[1]竇小凡.KNN算法綜述[J].通訊世界,2018,(10):273-274.
[2]王宏濤,孫劍偉.基于BP神經(jīng)網(wǎng)絡(luò)和SVM的分類方法研究[J].軟件,2015,36(11):96-99.
[3]官洪運(yùn),楊益?zhèn)?,吳煒,歐陽(yáng)江坤.基于邏輯回歸模型的火焰檢測(cè)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(10):36-40.