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