史雙睿
(北京師范大學第二附屬中學,北京,100088)
分類模型的研究在機器學習中具有重要的意義。而集成學習作為提高分類模型性能的方法也廣泛被使用。集成學習又分為同質集成學習與異質集成學習,目前在機器學習界,大多數采用同質集成學習,包括一些主流的機器學習框架,如sklearn,都只實現了同質集成學習。因此,對于異質集成學習進行探索就有了重要意義。
本研究依據具體的Iris鳶尾花卉識別實例,探究異質集成學習的方法。
Iris是機器學習中一個常見的數據集,其用于鳶尾花卉分類,數據集共包含150個樣本,每個樣本包括花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特征,樣本共具有三個花卉類別,分別為Iris Setosa(山鳶尾)、Iris Versicolour(雜色鳶尾),以及Iris Virginica(維吉尼亞鳶尾)。本研究將根據該數據集,探究異質集成學習的方法。
Iris數據集的預處理一共包含兩個步驟:
(1)特征編碼:第一個步驟需要將Iris Setosa(山鳶尾)、Iris Versicolour(雜色鳶尾),以及Iris Virginica(維吉尼亞鳶尾)這三種類別的花卉映射成0,1,2 三個類別數字,映射后的數據才能參與模型的訓練。
(2)shuラe處理:由于Iris數據集的前100個數據只包含0,1 兩個類別的花卉,后50個數據全部為第2個類別的花卉。所以我們需要對著150個數據進行隨機打亂后才能進行訓練。
為了模型的訓練與模型的性能檢驗,我們需要把數據集分為訓練集和測試集兩部分。對于Iris數據集,一共具有150個樣本。我們隨機挑選出100個數據作為訓練集,用于訓練模型。剩下50個數據作為測試集,用于檢驗訓練出的模型的性能好壞。
2.1.1 基本原理
kNN分類算法是一種臨近算法,也是分類技術中最簡單的方法之一。該方法在確定分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。在訓練階段,模型通過將所有訓練集映射在一個特征空間內。在預測階段,模型將所有待分類的樣本,通過計算與訓練集的距離,挑選出最近的k個距離,在這k個訓練集樣本中,通過簡單的投票原則,來決定待分類樣本的預測類別。
2.1.2 在Iris數據集上應用kNN模型
在我們的Iris數據集上,我們通過將訓練集的100個樣本映射在一個四維特征空間內來實現kNN模型的訓練。在預測過程,我們計算測試集的50個樣本與訓練集的100個樣本的距離,從中挑選出最近的k個距離,然后采用投票原則來確定測試集樣本的花卉種類。
2.1.3 結果分析
我們通過sklearn中的kNN模型包,在Iris數據集上運用了kNN模型。通過改變不同的k取值,觀察在測試集上的準確率。經過測試,當k = 2,3,4,5時,模型在測試集上的準確率分別為86%,92%,88%,92%。當k = 3或5時,在測試集上的準確率達到最高92%。
2.1.4 kNN模型的優(yōu)缺點分析
kNN模型的優(yōu)點在于模型比較簡單,結果也比較直觀。但是缺點是當訓練集樣本非常大時,由于要計算每個測試集樣本與整個訓練集的距離,所以速度會明顯的降低。但是由于我們的樣本數目只有150個,因此采用kNN模型一方面計算速度很快,另一方面在測試集上能夠取得不錯的性能。
2.2.1 基本原理
邏輯回歸模型是機器學習中一種常見的分類模型,其主要運用在二分類中。在多分類問題中,可以運用ovr或者ovo等策略將多分類問題轉化為多個二分類問題來使用邏輯回歸。邏輯回歸的基本原理是采用sigmoid函數來作為我們的預測函數。在我們的鳶尾花卉分類問題中,sigmoid函數的輸出就是屬于每一類花卉的概率,范圍在[0,1]之間。邏輯回歸在訓練的過程中,通過不斷的最小化交叉熵代價函數,來尋求一個合適的學習參數θ向量,來使模型在訓練集上的誤差相對較小,同時在訓練的過程中,通過加入一定的正則化項,來緩解模型的過擬合。
由于本研究為三分類問題,要對邏輯回歸進行調整。這其中有兩種方法:
(1)根據每個類別,都建立一個二分類器,帶有這個類別的樣本標記為1,帶有其他類別的樣本標記為0。假如我們有K個類別,最后我們就得到了K個針對不同標記、普通的邏輯回歸分類器。
(2)修改損失函數,讓其適應多分類問題。這個損失函數不再籠統(tǒng)地只考慮二分類非1即0的損失,而是具體考慮每個樣本標記的損失。
2.2.2 假設函數
邏輯回歸采用sigmoid作為假設函數,如式1所示。假設函數的值域為[0,1],對應了事件發(fā)生的概率。其中z =θTxX,θ是模型需要學習的參數,X在該問題中對應每個花卉樣本的特征向量。即z是每個花卉樣本所有特征的線性組合。
2.2.3 交叉熵代價函數
為了衡量模型的性能,需要在訓練的過程中引入代價函數。對于機器學習中的分類問題而言,最常用的代價函數是交叉熵代價函數,如式2所示。其中yi為樣本的真實分布,g(θ)為模型給出的預測值,即預測屬于每一種花卉的概率值。模型在訓練的過程中通過梯度下降法,不斷的調整θ的值,來使模型在訓練集上的代價函數不斷的降低,不斷的對模型進行優(yōu)化。
2.2.4 邏輯回歸的正則化
在訓練的過程中,代價函數會隨著迭代次數的增加而不斷的降低,最終穩(wěn)定在一個比較小的值。代價函數越小,說明對訓練集擬合的越好,但是會帶來機器學習中一個常見的問題,即模型陷入過擬合。此時模型雖然能夠很好的擬合訓練集,但是對于未知數據的泛化能力會比較低,也就是說,模型在測試集上的準確率會比較低。
對于機器學習中出現的過擬合問題,不存在一種手段能夠完全解決。只從在一定程度上緩解。緩解過擬合的常用手段有兩種。一種是增加訓練集樣本的數量,當訓練集樣本的數量增加時,模型可在一定程度上緩解過擬合,但是通常在實際情況下,我們很難去獲取到更多的樣本,或者說是獲取更多樣本的成本太高。所以我們一般采用第二種手段,即正則化,來緩解模型的過擬合。
正則化的基本思想是通過在代價函數的基礎上,對學習到的參數向量進行一定的限制,使學習到的參數向量不會很大,從而能得到一個相對比較簡單的機器學習模型,提高了模型的泛化能力。
常用的正則化手段有L1正則化和L2正則化,L1正則化是在代價函數的基礎上,對學習參數進行L1范數限制,L2正則化則是對學習參數進行L2范數限制。L1正則化相對于L2正則化更容易產生稀疏解,偏向于得到一個更簡單的模型。
2.2.5 在Iris數據集上應用邏輯回歸模型
在我們的Iris鳶尾花分類問題中,由于花卉種類一共有三類。因此我們無法直接應用邏輯回歸。但是我們可以采用ovr手段,將一個三分類問題轉化為三個二分類問題。也就是分別把每種花卉作為一類,把剩下的兩種花卉作為另外一類。在這種劃分下,在每兩個類別之間訓練一個二分類器,也就得到了相應的三個判別函數。在預測階段,我們將未知類別的花卉特征分別代入三個分類器中,然后取最大概率分類器的類別,作為未知花卉的類別。
同時,在訓練的過程中,我們加入了L2正則化項,來緩解模型的過擬合問題。加入了正則化項的代價函數,如3式所示。
2.2.6 結果分析在經過若干時間的訓練后,模型最終在測試集上達到了80%的準確率,這個準確率相對于KNN模型來講,性能相差很大。其主要原因在于一般邏輯回歸模型通常適用于二分類,在我們采用ovr手段把三分類問題轉換為多個二分類問題的同時,會引入機器學習中另外一個比較常見的“偏斜類”
問題,即不同類別的樣本數目相差比較大,會使訓練出的模型性能不是很好。
2.3.1 SVM模型基本原理
支持向量機(support vector machine,SVM),它最初于20世紀90年代由Vapnik提出,是機器學習中一種十分強大的分類模型。與數據挖掘中的其他分類模型相比,具有較好的泛化能力。而且針對非線性可分數據,擁有一套先進的理論方法來處理。由于其優(yōu)秀的分類性能,在機器學習領域成為了研究的熱點。在學術界,不斷的有新的理論被提出。近年來,與SVM相關的方法,在人臉識別,手寫識別,文本分類中得到了廣泛的應用,并且取得了很好的效果[1]。
SVM可以簡單的理解為是對邏輯回歸模型的改進,對于邏輯回歸來講,是尋找一個超平面,把兩類數據在特征空間中劃分開來,對于線性可分的數據集來講,可能存在無數個超平面將數據劃分開來,而邏輯回歸只是尋找到其中的某一個超平面。而對于SVM來講,則是在這眾多超平面中,尋找到最優(yōu)的一個超平面,這里的是最優(yōu)是指到兩類樣本點的間隔都相對較大。這個最優(yōu)的分隔超平面可以使模型的泛化能力更強。
2.3.2 核函數
簡單來講,核函數的作用即為將數據從低維空間映射到高維空間。 因為在低維空間線性不可分的數據,在高維空間很可能是線性可分的,此時再運用SVM即可實現最優(yōu)劃分。實際應用中,可以利用參數來限制維度,以減小計算量。
在實際的數據集中,最常見的還是線性不可分的數據集,此時SVM無法直接使用,需要引入帶核函數的SVM。核函數的作用主要是將在低維特征空間中線性不可分的數據映射到高維特征空間中,在高緯空間中,原本線性不可分的數據就有可能成為線性可分的數據。
2.3.3 結果分析
我們最終在Iris花卉數據集上嘗試使用不同的核函數,如線性核函數,高斯核函數,多項式核函數等。在經過多輪迭代之后,最終在測試集上得到了92%的準確率。由此可見,SVM是泛化能力比較強的一種分類模型。
2.4.1 集成學習基本原理
在人工智能的有監(jiān)督學習中,我們希望學習到一個穩(wěn)定的強大的強學習器,但是實際情況往往不那么理想,我們可能會得到若干個在不同的方面存在著不同缺陷的弱學習器。而集成學習就是組合這里的多個弱監(jiān)督模型以期得到一個更好更全面的強監(jiān)督模型,集成學習的思想就是綜合多個弱監(jiān)督模型的優(yōu)點,根據多個弱監(jiān)督模型的決策結果來得到最終的決策結果。這樣即使某一個弱分類器得到了錯誤的預測,那么其他的分類器也能將錯誤糾正過來。
集成學習器分為兩種。第一種就是所有的個體學習器都是一個種類的,即同質的。比如都是決策樹個體學習器,神經網絡個體學習器等。第二種是所有的個體學習器不全是一個種類的,即異質。目前來說,同質個體學習器的應用是最廣泛的,一般常說的集成學習的方法都是指的同質個體學習器。而同質個體學習器使用最多的模型是CART決策樹和神經網絡。
因此,從集成學習的基本思想我們可以知道,集成學習一共分為兩步。第一步是得到多個基本的學習器,第二步是采用一定的策略,把第一步得到的學習器結合起來,得到最終的學習器。
2.4.2 集成學習之個體學習器
在機器學習中通常有兩種方式得到個體學習器,第一種方式是所有的個體學習器來自于同一個模型,即是同質學習器,例如都來自CART樹,或者都來自神經網絡。另外一種方式是所有的個體來自于不同的模型,即是異質的,比如個體學習器分別來自KNN,SVM,邏輯回歸等。
目前在機器學習領域,一般都采用基于同質學習器的集成學習。我們所說的集成學習在默認情況下都是指同質集成學習器。對同質學習器的研究也比較多,對異質學習器的研究比較少。但異質學習器同樣作為一種重要的集成學習策略,被廣泛使用。
2.4.3 集成學習之結合法
2.4.3.1 平均法
對于機器學習中的回歸問題,比較常用的方法是將若干個基本學習器的輸出求平均值來得到最終分類器的輸出。
比較常用的求平均值的方法有算法平均和加權平均。最簡單的為算法平均,如4式所示。如果每個個體學習器有一個權重wi,則最終的預測如5式所示。其中H(x)為集成學習器的最終輸出,hi(x)為每個個體學習器的輸出,T為集成的個體學習器的個數。
2.4.3.2 投票法
對于分類問題,一般采用投票法進行決策。每個弱分類器給出自己的判別結果,然后將所有的結果進行綜合得到最終決策。
最簡單的投票法是相對多數投票法,也就是我們常說的少數服從多數,也就是T個弱學習器的對樣本x的預測結果中,數量最多的類別cici為最終的分類類別。如果不止一個類別獲得最高票,則隨機選擇一個做最終類別。
稍微復雜的投票法是絕對多數投票法,也就是我們常說的要票過半數。在相對多數投票法的基礎上,不光要求獲得最高票,還要求票過半數。否則會拒絕預測。
更加復雜的是加權投票法,和加權平均法一樣,每個弱學習器的分類票數要乘以一個權重,最終將各個類別的加權票數求和,最大的值對應的類別為最終類別。
2.4.4 在Iris花卉數據集上應用異質集成學習
在Iris花卉數據集上,我們采用了三個個體學習器,分別是KNN模型,邏輯回歸模型,SVM模型,把這三個學習器采用基本投票策略的方式結合起來,票數最多的花卉類別作為預測樣本的類別,最終得到了一個準確率更高更強大的學習器。
經過在測試集上進行測試,最終在測試集上達到了94%準確率,相對于單個個體學習器的最高只達到了92%而言,提升了2個百分點。這充分說明了在采用異質集成學習后,融合后的模型的性能得到了提升,取得了一定的效果。
本文對Iris鳶尾花卉數據集,分別采用了單獨的個體學習器KNN,邏輯回歸,SVM以及異質集成學習,把單獨的個體學習器在測試集地上的準確率從92%,80%,92%提升到了融合后的94%,充分說明了異質集成學習在該問題上取得了效果,也證明了異質集成學習和同質學習一樣,具有廣泛的應用前景。