標籤:機器學習 post lan 相對 tar blank origin 方法 知識
整合學習背後的思想是將不同的分類器進行組合得到一個元分類器,這個元分類器相對於單個分類器擁有更好的泛化效能。比如,假設我們從10位專家那裡分別得到了對於某個事件的預測結果,整合學習能夠對這10個預測結果進行組合,得到一個更準確的預測結果。
後面我們會學到,有不同的方法來建立整合模型,這一節我們先解決一個基本的問題:為什麼要用整合學習?她為什麼就比單個模型效果要好呢?
本書是為初學者打造的,所以整合學習這裡我們也只關注最基本的整合方法:投票法(majority voting)。投票法意味著我們在得到最後的預測類別時,看看哪個類別是大多數單分類器都預測的,這裡的大多數一般是大於50%。更嚴格來說,投票法只適用於二分類,當然他很容易就擴充到多分類情況: 多數表決(plurality voting).
展示了一個投票法的例子,一共10個基本分類器:
我們先用訓練集訓練m個不同的分類器, 這裡的分類器可以是決策樹、SVM或者LR等。我們當然也可以用同一種分類器,只不過在訓練每一個模型時用不同的參數或者不同的訓練集(比如自主採樣法)。隨機森林就是一個採用這種策略的例子,它由不同的決策樹模型構成。這圖展示了用投票策略的整合方法步驟:
投票策略非常簡單,我們收集每個單分類器的預測類別,將票數最多的作為預測結果:
以二分類為例,類別class1=-1, class2=+1, 投票預測的過程如下, 把每個單分類器的預測結果相加,如果值大於0,預測結果為正類,否則為負類:
讀到這裡,我想大家都有一個疑問:憑啥整合學習就比單分類器效果好?道理很簡單(一點點組合數學知識),假設對於一個二分類問題,有n個單分類器,每個單分類器有相等的錯誤率,並且單分類器之間相互獨立,錯誤率也不相關。 有了這些假設,我們可以計算整合模型的錯誤機率:
如果n=11,錯誤率為0.25,要想整合結果預測錯誤,至少要有6個單分類器預測結果不正確,錯誤機率是:
整合結果錯誤率才0.034哦,比0.25小太多。繼承結果比單分類器好,也是有前提的,就是你這個單分類器的能力不能太差,至少要比隨機猜測的結果好一點,至少。
從可以看出,只要單分類器的表現不太差,整合學習的結果總是要好於單分類器的。
Python機器學習中文版目錄(http://www.aibbt.com/a/20787.html)
轉載請註明出處,Python機器學習(http://www.aibbt.com/a/pythonmachinelearning/)
Python機器學習:7.1 整合學習