《統計學習方法》閱讀筆記 Ch8 提公升方法

2021-09-27 11:18:11 字數 2170 閱讀 6038

提公升 ( boosting ) 是一種常用的統計學習方法,是整合(ensemble)學習的一種。它通過改變訓練樣本的權重 ( 概率分布 ),學習多個弱分類器 ( 基本分類器 ),並將這些分類器按權重線性組合來構成乙個強分類器提高分類的效能。

核心思想:序列序列訓練弱分類器,每一輪訓練步驟中,通過提高那些被前一輪弱分類器錯誤分類樣本的權值,降低那些被正確分類樣本的權值,使該輪訓練器更加注重上一代的錯誤。然後採取加權表決的方法組合弱分類器。

步驟:-(1)訓練資料集具有均勻的權值分布 d1=(w11,…,w1i,…,w1n),每個w初始為1/n。

-(2)m=1…n:

—(a)對於每輪/個弱分類器gm,使用帶權值dm的樣本進行訓練。

—(b)首先計算錯誤率

—(c)根據錯誤率,計算gm在最後線性組合中的權重alpha:

觀察上式發現em越大,alpha越小,也就是錯誤率越大的弱分類器在最後的表決中權重越小

—(d)再更新樣本的權重分布dm+1,用於下一輪分類器的訓練:

其中

zm是歸一化因子

觀察dm的更新計算,發現gm誤判的樣本的權值wm+1會高,這樣,gm+1就會更注重該樣本(或者說該樣本如果在gm+1中還判錯,損失會很大)

adaboost 演算法也可以理解成模型為加法模型,損失函式為指數函式,學習演算法為前向分步演算法的二類分類學習方法。

adaboost是以指數函式為損失的前向分步演算法。參考西瓜書。指數函式最小化,由於推理得到最優貝葉斯錯誤率,那麼分類錯誤率也能最小化。

前向分步演算法我認為是一種boost的總結演算法,adaboost是他的特例。

考慮加法模型:

其中 b(x,γm) 為基函式,γm 為基函式的引數,βm 為基函式的係數。在給定損失函式 l(y,f(x)) 的條件下,學習加法模型就是求解損失函式極小化問題

前向分步演算法求解的想法是:從前往後,每一步只學習乙個基函式及其係數,優化

得到引數 βm 和 γm,更新,簡化優化複雜度,逐步逼近優化目標。最終得到加法模型。

提公升樹叫boosting tree

提公升樹是模型為加法模型,演算法為前向分布演算法,基函式為決策樹的提公升方法。分類使用二叉分類樹,回歸使用二叉回歸樹(是不是cart演算法?)

提公升樹用於分類:adaboost中的弱分類器使用二叉分類樹。

提公升樹用於回歸:

–如果將輸入空間劃分為j(切分變數)個互不相交的區域,並且在每個區域上確定輸出的常量 cj(平均值),那麼樹可表示為(這一步是cart最小二乘回歸樹的生成):

引數為對提公升樹採用前向分布演算法

每一步的損失函式為:

r是殘差(理解為上一步回歸樹擬合的剩餘)。

也就是說後一步回歸樹的擬合使用的不是樣本的實際值,而是上一步剩餘的殘差(真實值減去前幾步**值)。理解可見例8.2

梯度提公升樹是著名的gbdt(gradient boosting decision tree)。使用最速下降,利用損失函式的負梯度在當前模型的值

作為回歸問題中的殘差近似值。

每一步以此來估計回歸樹葉結點區域以擬合殘差的近似值,並利用線性搜尋估計葉結點區域的值使損失函式最小化,然後更新回歸樹即可。

筆記 《統計學習方法》 8 提公升方法

提公升 boosting 要解決的兩個問題 1 每一輪如何改變訓練資料的權值和概率分布 2 弱分類器如何組合成乙個強分類起 adaboost的做法 1 提高被前一輪弱分類器錯誤分類樣本的權值,而降低哪些被正確分類樣本的權值 2 弱分類器的組合,採用加權多數表決的方法 4.adaboost演算法 略 ...

統計學習方法8 提公升方法

先初始化所有輸入的輸出結果,假設為a。計算實際的結果與a差值,累加所有樣本的這個差值。得到損失函式。求出使該損失函式最小的a。在確定了a的基礎上,將所有樣本輸出值與a做差,得到殘差1,作為新的樹的樣本依據。初始化第二顆樹的輸出結果為b,以得到的殘差1為基礎,將b與殘差1做差並類和,得到這一次的損失函...

統計學習方法 提公升方法

在分類問題中,通過改變訓練樣本的權重,學習多個分類器,並將這些分類器線性組合,提高分類的效能 1.1 提公升方法adaboost演算法 1.1.1 提公升方法的基本思路 對於乙個複雜任務來說,將多個專家的判斷進行適當的綜合得出的判斷比任何乙個專家單獨的判斷好。三個臭皮匠頂個諸葛亮 強可學習 在概率近...