序
本次以及后續(xù)幾次博客將陸續(xù)記錄關于集成學習模型的相關知識點。
Ensemble概述
集成學習 就是構造若干模型并用它們的(加權預測/投票)值用于對新樣本的預測。類似于多個決策者進行同一個決策责循。通常來說集成的效果要好于單個模型,當特征,數(shù)據(jù)陨溅,單個模型做到瓶頸時,多模型帶來的提升很明顯绍在。
衡量集成學習效果的指標為:
1)準確性
每個基學習器需要有一定的學習能力门扇,也就是其準確性要有所保證,一般在0.5以上
2)多樣性
基學習器之間需要有一定的差異偿渡,這樣集成的效果才會好
類別
目前集成學習大致分為4種:
1)bagging
基學習器之間不存在強依賴性臼寄,通過有放回地重采樣得到多組訓練集,然后在不同訓練集上訓練得到一個基學習器
2)boosting
基學習器之間存在強依賴性溜宽,通過對上一個基學習器在數(shù)據(jù)集上表現(xiàn)來修改樣本權重吉拳,使得下一個基學習器更加關注被錯分的樣本。
3)Stacking
通過K-floder訓練不同的基模型适揉,以基模型的預測輸出作為新的特征留攒,重復多倫
4)Blending
與stacking有點相似,不同在于blending中選取一個固定的驗證集嫉嘀,我們事先在訓練集上訓練n個基模型炼邀,然后同時對驗證集驗證,再投票或加權平均最終確定其預測值為多少剪侮。
集成學習為何有效
首先我們需要回歸到學習問題的本質:假設樣本從分布p(x, y)中采樣得到拭宁,我們的目標是從所有可能的函數(shù)空間 H 中找到最佳的假設函數(shù)h(x),來使得我們的損失函數(shù)的期望值最小。
那么從誤差減少這一本質來看集成學習杰标,可以從一下三個方面進行解釋:
- 模型誤差
○ 由于我們通常在子空間搜索兵怯,而不是整個空間H中搜索,因此會存在模型誤差在旱。
○ 因為假設空間是人為規(guī)定的摇零,而實際中很多時候我們的實際目標假設不在原始的假設空間中,那么如果我們?nèi)藶榈刂付◣讉€假設空間桶蝎,并通過模型將其進行集成驻仅,一定程度上可以緩解模型誤差。 - 統(tǒng)計誤差
○ 對于一般的訓練任務而言登渣,都是通過樣本采樣來極小化誤差噪服,往往需要搜索很大的假設空間,但是訓練集的樣本數(shù)不足以支撐模型能夠精確地學習到目標假設胜茧,這個時候學習到的就是僅僅是滿足訓練集的假設粘优,也就是所謂的過擬合,因此呻顽,通過將多個學習器學習到的假設進行結合雹顺,一定程度上可以緩解統(tǒng)計誤差。 - 優(yōu)化誤差
○ 一般來說廊遍,學習到一個最優(yōu)的NN模型或是DT模型已經(jīng)被證明是一個NP-hard問題嬉愧,因為優(yōu)化過程往往會陷入局部最優(yōu)解,因此喉前,多模型集成一定程度上更加逼近真實解没酣。