更多內容請關注微信公眾號:
一、整合學習介紹
整合學習要回答的兩個問題:
怎麼學習基模型? 怎麼綜合所有基模型的預測結果?
常見框架有三種:
Bagging
並行:各個基模型之間不存在強依賴關係,代表是隨機森林演算法。
每個基模型基於對訓練集進行有放回抽樣得到子訓練集(0.632 取樣法)進行訓練。
使用投票法綜合基模型的預測結果,票數最多的類別為預測類別。
Boosting
序列:基模型之間存在強依賴關係,必須序列生成。
每個基模型都會在前一個基模型學習的基礎上進行學習。
綜合方式為加權法。
Stacking
序列。
先用全部資料訓練好基模型,然後基模型對每個訓練樣本進行的預測,其預測值將作為訓練樣本的特徵值,得到新的訓練樣本,然後基於新的訓練樣本進行訓練得到下一個基模型,得到最終預測結果。
為什麼整合學習會好於單個學習器呢?
訓練樣本可能無法選擇出最好的單個模型。
假設能找到最好的模型,但由於演算法運算的限制無法找到最優解,只能找到次優解,採用整合學習可以彌補演算法的不足。
可能演算法無法得到最優解,而整合學習能夠得到近似解。例如:最優解是一條對角線,而單個決策樹得到的結果只能是平行於座標軸的,但是整合學習可以去擬合這條對角線。
二、從方差和偏差的角度理解整合學習
2.1 什麼是方差與偏差
偏差:描述樣本擬合出的模型的預測結果的期望與樣本真實結果的差距,要想偏差表現的好,就需要複雜化模型,增加模型的引數,但這樣容易過擬合。
方差:描述樣本上訓練出來的模型在測試集上的表現,要想方差表現的好,需要簡化模型,減少模型的複雜度,但這樣容易欠擬合。
在整合學習框架中,通過計算模型的期望和方差,我們可以得到模型整體的期望和方差。為了簡化模型,我們假設基模型的期望為,方差為,模型的權重為,兩兩模型間的相關係數為。
因為整合學習是加法模型,那麼有:
模型的總體期望:
模型總體方差(利用協方差的性質,協方差與方差的關係):
模型的準確度可由偏差和方差共同決定:
我們可以使用模型的偏差和方差來近似描述模型的準確度;
Bagging:
整體模型的偏差與基模型近似,而隨著模型的增加可以降低整體模型的方差,故其基模型需要為強模型;
Boosting
整體模型的方差近似等於基模型的方差,而整體模型的偏差由基模型累加而成,故基模型需要為弱模型。
一句話總結:Bagging 和 Stacking 中的基模型為強模型(偏差低,方差高),而Boosting 中的基模型為弱模型(偏差高:在訓練集上準確度低;方差高:防止過擬合能力強)。
2.2 Bagging的偏差與方差
對於Bagging來說,每個基模型的權重等於且期望近似相等,所以可以得到:
通過上式可以得到:
整體模型的期望等於基模型的期望,這也就意味著整體模型的偏差和基模型的偏差近似。 整體模型的方差小於等於基模型的方差,當且僅當相關性為 1 時取等號,隨著基模型數量增多,整體模型的方差減少,從而防止過擬合的能力增強,模型的準確度得到提高。但是,模型的準確度一定會無限逼近於 1 嗎?並不一定,當基模型數增加到一定程度時,方差公式第一項的改變對整體方差的作用很小,防止過擬合的能力達到極限,這便是準確度的極限了。
在此我們知道了為什麼 Bagging 中的基模型一定要為強模型,如果 Bagging 使用弱模型則會導致整體模型的偏差變大,而準確度降低。
隨機森林是經典的基於 Bagging 框架的模型,並在此基礎上通過引入特徵取樣和樣本取樣來降低基模型間的相關性,在公式中顯著降低方差公式中的第二項,略微升高第一項,從而使得整體降低模型整體方差。
2.3 Boosting 的偏差與方差
對於 Boosting 來說,由於基模型共用同一套訓練集,所以基模型間具有強相關性,故模型間的相關係數近似等於 1,針對 Boosting 化簡公式為:
通過上式可以得到:
整體模型的方差等於基模型的方差,如果基模型不是弱模型,其方差相對較大,這將導致整體模型的方差很大,即無法達到防止過擬合的效果。因此,Boosting 框架中的基模型必須為弱模型。 此外 Boosting 框架中採用基於貪心策略的前向加法,整體模型的期望由基模型的期望累加而成,所以隨著基模型數的增多,整體模型的期望值增加,整體模型的準確度提高。
基於 Boosting 框架的GBDT模型中基模型也為樹模型,同隨機森林一樣,也可以對特徵進行隨機抽樣來使基模型間的相關性降低,從而達到減少方差的效果。