百面機器學習|第十二章集成學習知識點(一)

前言

如果你能找到這里,真是我的幸運~這里是藍白絳的學習筆記,本集合主要針對《百面機器學習——算法工程師帶你去面試》這本書。主要記錄我認為重要的知識點,希望對大家有幫助。

第十二章 集成學習

1、集成學習的種類

  1. 集成學習是一大類模型融合策略和方法的統稱,其中包含多種集成學習的思想。
  • Boosting:Boosting方法訓練基分類器時采用串行的方式,各個基分類器之間有依賴。其基本思想是將基分類器層層疊加,每一層在訓練的時候,對前一層基分類器分錯的樣本,給予更高的權重。測試時,根據各層分類器的結果的加權得到最終結果。
  • Bagging:Bagging方法在訓練過程中,各基分類器之間無強依賴,可以進行并行訓練。為了讓基分類器之間相互獨立,將訓練集分為若干子集。由于個體之間存在差異性,最終做出的判斷不會完全一致。在最終做決策時,每個個體單獨作出判斷,再通過投票的方式作出最后的集體決策。其中很著名的算法是基于決策樹基分類器的隨機森林
  1. 從消除基分類器的偏差和方差的角度來理解Boosting和Bagging方法的差異。基分類器的錯誤率要大于集成分類器,基分類器的錯誤是偏差和方差兩種錯誤之和
  • 偏差主要是由于分類器的表達能力有限導致的系統性誤差,表現在訓練誤差不收斂。Boosting方法通過逐步聚焦于基分類器分錯的樣本,減小集成分類器的偏差。
  • 方差是由于分類器對于樣本分布過于敏感,導致在訓練樣本數較少時,產生過擬合。Bagging方法則是采取分而治之的策略,通過對訓練樣本多次采樣,訓練多個不同模型進行綜合,來減小集成分類器的方差。用簡單多數投票方法來集成結果,超過半數基分類器出錯的概率會隨著基分類器的數量增加而下降

2、集成學習的步驟和例子

  1. 集成學習一般可以分為以下3個步驟:
    (1) 找到誤差相互獨立的基分類器。
    (2) 訓練基分類器。
    (3) 合并基分類器的結果。
    第(3)步合并基分類器的方法有voting和stacking兩種。stacking是用串行的方式,把前一個基分類器的結果輸出到下一個分類器,將所有基分類器的輸出結果相加作為最終的輸出(或用更復雜的方法,將各基分類器的輸出作為特征,用邏輯回歸作為融合模型進行最后的結果預測)。
  2. Adaboost采取了Boosting的思想,對分類正確的樣本降低了權重,對分類錯誤的樣本升高或者保持權重不變。在最后進行模型融合的過程中,也根據錯誤率對基分類器進行加權融合
    另一個非常流行的是梯度提升決策樹,思想是每一棵樹學的是之前所有樹結論和的殘差,這個殘差是一個加預測值后能得真實值的累加量。比如預測年齡,真實年齡是25歲,第一棵樹預測22歲,則第二棵樹將年齡設為3歲去學習。使用殘差繼續學習,就是GBDT中的Gradient Boosted所表達的意思。

3、基分類器

  1. 最常用的基分類器是決策樹,主要有以下3個方面的原因:
    (1) 決策樹可以較為方便地將樣本的權重整合到訓練過程中,而不需要使用過采樣的方法來調整樣本權重。
    (2) 決策樹的表達能力泛化能力,可以通過調節樹的層數來做折中。
    (3) 數據樣本的擾動對于決策樹的影響較大,因此不同子樣本集合生成的決策樹基分類器隨機性較大,這樣的“不穩定學習器”更適合作為基分類器。此外,在決策樹節點分裂的時候,隨機地選擇一個特征子集,從中找出最優分類屬性,很好地引入了隨機性。
  2. 除了決策樹,神經網絡模型也適合作為基分類器,主要由于神經網絡模型也比較“不穩定”,而且還可以通過調整神經元數量、連接方式、網絡層數、初始權值等方式引入隨機性。
  3. Bagging的主要好處是集成后的分類器的方差,比基分類器的方差小,所采用的基分類器最好是本身對樣本分布較為敏感的(即所謂不穩定的分類器),這樣Bagging才能有用武之地。
    線性分類器或者K近鄰都是較為穩定的分類器,本身方差就不大,所以用他們做基分類器Bagging并不能在原有基分類器的基礎上獲得更好的表現,甚至可能因為Bagging的采樣,導致它們在訓練中更難收斂,從而增大了集成分類器的偏差。

4、偏差與方差

  1. 有監督學習中,模型的泛化誤差來源于兩個方面:偏差和方差。
  • 偏差:所有采樣得到的大小為m的訓練數據集訓練出的所有模型的輸出的平均值和真實模型輸出的偏差。偏差通常是由于我們對學習算法作出了錯誤的假設所導致的,比如真實模型是某個二次函數,但我們假設模型是一次函數。由偏差帶來的誤差通常在訓練誤差上就能體現出來
  • 方差:所有采樣得到的大小為m的訓練數據集訓練出的所有模型的輸出的方差。方差通常是由于模型的復雜度相對于訓練樣本m過高導致的,比如一共有100個訓練樣本,而我們假設模型是階數不大于200的多項式函數。由方差帶來的誤差通常體現在測試誤差相對于訓練誤差的增量上
    12-4 偏差與方差示意圖
  1. 從減小方差和偏差的角度解釋Boosting和Bagging的原理:
  • Bagging能夠提高弱分類器性能的原因是降低了方差
  • Boosting能夠提高弱分類器性能的原因是降低了偏差
    Bagging:Bagging是Bootstrap Aggregating的簡稱,意思就是再抽樣,然后在每個樣本上訓練出來的模型取平均。假設有n個隨機變量,方差為\sigma^2,兩兩變量之間的相關性為\rho,則n個隨機變量的均值\frac{\sum X_i}{n}的方差為\rho*\sigma^2+(1-\rho)*\sigma^2/n。在隨機變量完全獨立的情況下(\rho=0),n個隨機變量的方差為\sigma^2/n,也就是說方差減小到了原來的1/n。當然模型之間不可能完全獨立。為了追求模型的獨立性,諸多Bagging的方法做了不同的改進。比如在隨機森林算法中,每次選取節點分裂屬性時,會隨機抽取一個屬性子集,而不是從所有屬性中選取最優屬性,就是為了避免弱分類器之間過強的相關性。
    Boosting:Boosting訓練好弱分類器后,我們計算弱分類器的錯誤或殘差,作為下一個分類器的輸入。這個過程就是在不斷減小損失函數,使模型不斷逼近“靶心”,即使模型偏差不斷降低。(Boosting不會顯著降低方差,因為Boosting的各弱分類器之間是強相關的,缺乏獨立性,所以不會對降低方差有作用)
  1. 泛化誤差、偏差、方差和模型復雜度的關系:
    如下圖所示。對于給定的學習任務和訓練數據集,我們需要對模型的復雜度做合理的假設。如果模型復雜度過低,雖然方差很小,但偏差會很高;如果模型復雜度過高,雖然偏差低,但方差會很高。


    12-4 泛化誤差、偏差、方差和模型復雜度

小結

這是本章的第一部分,主要講了Bagging、Boosting的訓練方法,典型的用到Bagging的方法有隨機森林,典型的用到Boosting的方法有Adaboost、梯度提升決策樹。第一部分還從偏差和方差的角度解釋了Bagging和Boosting的原理。之前雖然知道Bagging和Boosting,但是并沒有想過模型的偏差和方差,這一點非常有啟發。

結尾

如果您發現我的文章有任何錯誤,或對我的文章有什么好的建議,請聯系我!如果您喜歡我的文章,請點喜歡~*我是藍白絳,感謝你的閱讀!

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容