AdaBoost-DTree
根據AdaBoost的思想,
我們希望在生成多個分類器 的時候,增加一個類似於adaboost的權重 ,即 ,在最後組成最終分類器 的時候,增加權重 ,這是整體的思路。
那麼現在的問題是如何嵌入一個,使得 ,注意到之前的Random-Forest等算法中的 僅僅是 .
如上圖所示,本來加入 應該是在 中進行的,但是這不一定能很好地解出,所以這裏講其看成一個black box。注意到 在adaboost是怎麼引進來的,他是由boost抽樣引進的,所以,我們採用紅框所示的抽樣方法。即對每一組數據 按 的比例概率來抽取,這樣的話可以近似地處理 且不用改最優化的框架(僅僅是“改”了數據)。
權重 仍採用和adaboost一樣的操作。
adaboost-DT用於二分類問題
如上更新,注意到由於是二分類問題 是±1,那麼 可以有很好地表達式,這個結果和我們要回傳的 長得十分類似。
如上圖所示,用一種粗糙的解釋,實際上上上圖中橙色框的部分表示的是一種類似於SVM中的margin,我們希望margin越大越好,即如上圖灰色框所示,我們最終希望 越下越好,那麼我們可以再弱一些,我們希望能deresases .
採用的是GD,對exp在原點附近泰勒展開後得知我們需要使得 最小化,其中 是變量,進一步化簡,
這裏的推導說明,實際上最小化 相當於最小化 ,所以推來推去,我們發現了最好的 實際上就是可以通過adaboost來解決的,即 由 和 來獲得,忘記的同學可以回到adaboost去查看。
得到最優的 之後,接下來,我們要處理最優的步長,由上面的推導,我們能得出最優的步長就是 !實在是震精!
Gradient Boosting for Regression
推廣上面adaboost-DT的loss項,可以推廣到一般形式,下面將考慮regression問題,即考慮squared-error。
按照上面的推導的話遇到了一個問題,如果要min只要直接取 就好了,不過實際上 僅僅是代表一個方向而已(想一想GD),長度應該是由步長控制的,所以,我們嘗試對 做點限制,增加一個 項
通過配方,我們發現了一個驚人的事實,如果假設 是線性的話,那麼直接對 做LR即可以得到一個最優解!
得到最優 之後,考慮步長,稍微做點代數邊形,我們發現一個事實,最優的步長也是可以通過線性迴歸獲得,而且是一元!
對算法重新總結一下即