adaboost 演算法有多種推導方式,比較容易理解的是基於"加性模 型" (additive model),即基學習器的線性組合
即每乙個個體學習器會有乙個用於累加的權值,該權值是根據個體學習器的準確性來確定的,通過最小化個體學習器的加權損失得來(後面會推導).
演算法流程的推導過程:
1).指數損失函式的可行性證明
指數損失函式的表示式為:
h(x)是最終學得的整合學習器,而f(x)是樣本的真實標記
在根據期望的公式,將其展開為8.5.1:
因此想要使8.5.1最小,對其求h(x)的偏導為:
偏導置0
因此,h(x)作為最終的**輸出,使用符號函式作為標記時,會有結果:
這復合貝葉斯最優分類器的情況.因此,當使用指數損失函式時,也可以使得分類錯誤率最小化.
由於指數損失函式時0/1損失函式的替代損失函式,且其連續可微,因此使用其作為優化目標.
2).基分類器權重的確定
對每乙個基分類器,除去第乙個是由初始的資料發布得到,其他的都需要根據每一輪的資料分布情況學得h(t)以及其權值α(t).學習的目標是最小化當前基學習器的加權指數損失,使其貢獻的損失最小:
公式推導過程:
第二行是對每乙個樣本的展開,即如果判對,累積前一半的損失,如果判錯,累積後一半
第三行則是在整體分布下展開,即對所有樣本,根據準確率和錯誤率累積
再將準確率由錯誤率ε(t)表示得到最終式子
因此,α(t)的選擇就是損失函式對其求偏導置0可以得到8.11的更新公式:
3).樣本分佈的更新公式及ht(x)學習演算法
由於每一輪都會在原來的整合函式ht-1(x)上累加乙個ht(x)
因此,在每次學習完乙個ht-1(x)後都希望下一次的ht(x)在下一次的學習時,能夠將當前累積的ht-1(x)分類器的錯誤進行糾正,即最小化損失函式:
也就是當前個體學習器的損失加上前面t-1輪整合學習器的損失最小
對exp(-f(x)ht(x))泰勒展開得到:
其中 f(x)^2 = ht(x)^2 = 1
此時理想的ht(x)為:
對其進行化簡:
先將8.13帶入
由於是求最小值,將常數項省略,並將-1係數去除轉為求最大值:
最後一行的分母是增加了乙個常數項(上一輪的損失),不影響最終h的取值
此時將式子中的h(x)無關項定義在分布dt(x)中,得到等價期望函式:
其意義在於,直接根據原始樣本分佈求8.14的最小值會比較複雜,將其轉換為在乙個分布上求取8.16會使個體學習器的訓練變得簡單,並且只需每一輪訓練時根據上一輪的學習器情況獲得當前的分布8.15即可
而對於8.16,還可以繼續化簡,由於h(x)和f(x)都只有兩種取值,因此可以將f(x)h(x)再化簡:
由於8.15是原始d(x)和dt(x)的關係,其計算時需要使用當前的整合學習器計算每乙個樣本在初始分布上的**值,判對樣本出現率乘exp(-1),判錯乘exp(1),分母是可以按照整合學習器的整體判錯率來計算的.
而在迭代的優化過程中,可以將其轉換為和上一輪分布的關係:
其中第二行迭代變換為:
ht(x) =ht-1(x) + αt*ht(x)
此時的更新就只需要對當前的個體分類器在dt上的分布進行判斷.
待解決問題:
為什麼一定要化為迭代更新,而不是直接用初始分布更新呢?
8.15也需要對整合學習器的**結果依次判斷,8.19也需要進行這樣的判斷,即求損失期望
那為什麼還要轉換為迭代更新.
可能是因為在8.19,後面的常數項直接就使用規範化因子(統計當前分布的權值和得到)代替了,因此不用每一輪都計算整合函式的**值.
西瓜書筆記3
續上一章的模型和模型評估後,這個線性模型是乙個具體模型。它的優點在於簡單易建,能夠作為非線性非線性模型的基礎。而它的本質就是應用函式進行資料的結果 關於線性回歸,是對樣例特徵做線性加權,輸出 結果,盡量使得 結果和真實輸出值之間的均方誤差最小化。這裡涉及到乙個特徵屬性的量化問題,有些屬性可以直接量化...
西瓜書閱讀筆記1
根據已有的知識經驗,形成模型。並根據模型來感知未知的新事物的過程。身高體重 膚色18070黃 17562 白18580黑 樣本 上面 中,每一行就是乙個樣本。乙個樣本包含了一種事物的完整屬性,這些屬性不重複。資料集 所有的樣本的總和,稱為資料集。特徵 例如,身高就是一種特徵,膚色也是一種特徵。也可以...
機器學習西瓜書筆記
概念 致力於通過計算的手段,利用經驗來改善系統自身的效能。其中,經驗以資料的形式存在。基本術語 資料集 記錄的集合。示例 樣本 每條記錄,關於乙個事件或物件的描述,反應事件或物件在某方面的表現或性質的事項。屬性 特徵 一條記錄 乙個樣本由多個屬性 特徵組成。屬性值 屬性或特徵的值。示例對應於乙個座標...