1.Adboost decision tree
Gradient boosted decision 就是将Adaboost和decision Tree结合起来的算法。
Adaboost是根据前一步求出的g的错误率来提高错误数据在下一笔训练数据里面的权重来不断训练处新g的。
但是decision tree没有权重的概念我们该怎么办呢?我们的方法是根据权重来对数据进行取样,比如错误率本来是10,那么我们就把错误数据的采样概率提高10倍,然后用采样的新数据来训练新的决策树。
但是如果我们总是训练出一个完全的决策树,那么决策树的错误率总是0,那么其在最终结果中的权重都将是无穷大,所以这时不行的,我们采取的方法是:对决策树进行剪枝或者限定树的高度,不训练出一个完全的决策树。
比如说,限制高度为1:
当限制高度为1时,我们不需要做sampling,而是直接将权重带进去,因为一层的决策树就是一个简单的二分问题。
2.optimization of Adaboost
主要计算adaboost权重的来源:
α
t
=
l
n
1
−
ϵ
t
ϵ
t
\alpha_t=ln\sqrt{\frac{1-\epsilon_t}{\epsilon_t}}
αt=lnϵt1−ϵt
有点复杂,我就不写了,用到的时候再去看吧。
3.Gradient boosting