1. Boosting
Boosting: Reweighing the sample
for t = 1,...,T:
. construct distribution Dt on {1,...,m}
. find weak hypothesis ("rule of thumb")

with small errorεt
 \ne y_i] = \sum_{h_t(x_i) \ne y_i}{D_t(i)}$$)
.output final hypothesis. Hfinal
Ada Boost
Ada Boost通過調整樣本的權重,來重視誤分類樣本的影響。在下一個model中使用帶權重的樣本來訓練新的弱分類器。Ada boost使用誤差來計算權重的更新比例。
constructing Dt .
 = \frac{1}{m}$$)
given Dt and ht
 \
& \exp^{- \alpha t} & \text{ if } y_i=h_t(x_i)
\end{aligned}
\right.$$)
where Zt = normalization constant
 > 0$$)
final hypothesis:
 =sgn ( \sum_t{\alpha_t h_t(x)} ). $$)
Bootstrap也有類似思想,它在每一步迭代時不改變模型本身,也不計算殘差,而是從N個instance訓練集中按一定概率重新抽取N個instance出來(單個instance可以被重復sample),對著這N個新的instance再訓練一輪。由于數據集變了迭代模型訓練結果也不一樣,而一個instance被前面分錯的越厲害,它的概率就被設的越高,這樣就能同樣達到逐步關注被分錯的instance,逐步完善的效果。Adaboost的方法被實踐證明是一種很好的防止過擬合的方法,但至于為什么則至今沒從理論上被證明。
2. Gradient Boost
Begin-
= \arg \ min_\rho \sum_{i=1}^{N} L(y_i, \rho)$$)
For m = 1 to M do:-  }{\partial F(x_i)}]{F(x)} = F{m-1}(x), i = 1,N $$)
- ]^2 $$)
-  + \rho F(x_i;\alpha_m)) $$)
-
= F_{m-1}(x) + \rho_m h(x; \alpha_m)$$)
endForend
3. GBDT
GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一種迭代的決策樹算法,該算法由多棵決策樹組成,所有樹的結論累加起來做最終答案。它在被提出之初就和SVM一起被認為是泛化能力(generalization)較強的算法。近些年更因為被用于搜索排序的機器學習模型而引起大家關注。
GBDT的核心就在于,每一棵樹學的是之前所有樹結論和的殘差,這個殘差就是一個加預測之后能的真實值的累加量。GBDT中所用的樹是回歸樹,而不是分類樹。分枝時窮舉每一個feature的每個閾值找最好的分割點,衡量最好的標準不再是最大熵,而是最小化均方差--即(每個樣本的真實值 - 預測值)^2 的總和 / N,或者說是每個人的預測誤差平方和除以N。GBDT的核心在于累加所有樹的結果作為最終結果,而分類樹的結果顯然是沒辦法累加的。
PS: 熵
