【8.8】XGBoost

XGBoost: Extreme Gradient Boosting
CART: decision tree with real value associated with each of the leaves
random forests and boosted trees are really the same models(tree ensemble); the difference arises from how we train them


CART ensemble.png


tree ensemble.png

Boost trees的训练思路

每次训练一棵树

\hat{y}_i^t是第t步的预测值,采取每次训练一棵树的策略:
\hat{y}_i^t = \hat{y}_i^{t-1} + f_t(x_i)
每次训练的树都要达到最小化目标函数的目的,\Omega是正则化函数:
obj_t = \sum l(y_i, \hat{y}_i) +\sum \Omega(f_t)\\ = \sum l(y_i, \hat{y}_i^{t-1} + f_t(x_i))+\Omega(f_t)+constant
如果损失函数l选择MSE,则
obj_t = \sum l(2(\hat{y}_i^{t-1}-y_i) f_t(x_i)+f^2_t(x_i))+\Omega(f_t)+constant
但是并不是所有的损失函数都像MSE这么方便处理,因此,Boost选择泰勒展开的方式一般化目标函数的求解
obj_t = \sum[l(y_i, \hat{y}_i^{t-1}) + g_if_t(x_i)+\frac{1}{2}h_if_t^2(x_i)]+\Omega(f_t)+constant\\ g_i = \partial_{\hat{y}_i^{t-1}}l(y_i, \hat{y}_i^{t-1})\\ h_i = \partial^2_{\hat{y}_i^{t-1}}l(y_i, \hat{y}_i^{t-1})
因此,Boost的目标函数简化为:
\sum[g_if_t(x_i)+\frac{1}{2}h_if_t^2(x_i)]+\Omega(f_t)

Boost所使用的正则化函数

(前一部分是树叶的个数,后一部分是树叶打分的分布)


图片.png

目标函数简化

综上,得到Boost在优化第t棵树时的目标函数为:
obj_t = \sum[g_iw_{q(x)}+\frac{1}{2}h_iw^2_{q(x)}]+\gamma T + \frac{1}{2}\lambda \sum w_j^2\\ =\sum_{j=1}^T [(\sum_{q(x_i)=j}g_i)w_j +\frac{1}{2}(\sum_{q(x_i)=j}h^2_i+\lambda)w_j^2] + \gamma T \\ = \sum_{j=1}^T [G_j w_j +\frac{1}{2}(H_j+\lambda)w_j^2] + \gamma T
q(x_i)固定时,可以解出:
w_j^* = -\frac{G_j}{H_j+\lambda}\\ obj_t^* = \frac{1}{2}\sum_{j=1}^T\frac{G^2_j}{H_j+\lambda}+\gamma T
因此,最后的优化问题变成了,找到最小化obj_t^*的树结构q(x_i)

每次增加一个节点

对上面算出的obj_t^*,可以看到,每次训练一个分类节点,得到的score为:


图片.png


图片.png

随机森林

随机森林实际上是一种特殊的bagging方法,它将决策树用作bagging中的模型。
首先,用bootstrap方法生成m个训练集,然后,对于每个训练集,构造一颗决策树.
在节点找特征进行分裂的时候,并不是对所有特征找到能使得指标(如信息增益)最大的,而是在特征中随机抽取一部分特征,在抽到的特征中间找到最优解,应用于节点,进行分裂。
随机森林的方法由于有了bagging,也就是集成的思想在,实际上相当于对于样本和特征都进行了采样,所以可以避免过拟合。

树很适合做集成

因为树能表示复杂结构,一般可认为树的结果是无偏的,但是这又带来了它的高方差
因此树做bagging获益极大

随机森林与Boost tree的区别

随机森林中每棵树是独立训练出来的,而boost tree则是一颗一颗addictively训练的
他们俩都是ensemble(集成),但是集成的思路是完全不同的

https://www.jianshu.com/p/fb86a032df54

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论