美文网首页
xgboost slide(二)

xgboost slide(二)

作者: 快乐的小飞熊 | 来源:发表于2017-03-01 00:07 被阅读0次

    这部分主要是介绍回归树和组合:

    回归树(cart)
    1、回归树(也可以叫做分类回归树),加入gbdt是回归树,但是根据最终的回归结果给一个阈值,也可以做分类。
    (1)与决策树的决策规则是一样的。对于cart回归,主要是保证MSE最小来确定分裂点
    (2)在每一个叶子节点都会有一个值,也就是回归结果。
    如上面的图所示:输入年龄,性别等特征,来预测叶子节点的值。

    组合回归树
    如下面的图所示,这个组合由两个回归树构成。
    预测的结果就是每棵树预测结果的和
    注意:这两棵树是串行的。

    组合树方法
    1、非常广泛的用在梯度提升机,随机森林等场景。。。
    多半的数据挖掘竞赛的获胜者都是采用组合方法的一些变换形式。
    2、对于输入的缩放比例具有不变性,所以你不需要很仔细的去做特征归一化。
    3、能够学习特征间更高阶的相互作用,树是有层级的,下一层是基于上一层的,他们之间是有制约关系的,多棵树,就会形成高阶影响关系。
    4、很稳定,用于工业生产

    放入上下文:模型和参数
    1、假设我们有k棵树,然后将这k个树进行组合。回归树就是从属性到分数的映射。
    2、参数:
    (1)包含每棵树的结构以及叶子节点的分数
    (2)之前我们是学习权重,现在我们需要学习树

    在只有一个变量的情况下学习一棵树
    1、我们怎么学习函数呢?
    2、定义目标函数(loss和正则),并且对他们优化
    举个例子
    (1)假设输入为t(时间)上的回归树
    (2)我想预测在特定的时间t,我是否喜欢流行音乐
    从下面的图可以看出来,这有两个时间点,一个是2011.3.1,一个是2010.3.20,所以分为三个区间:
    (1)2010.3.20之前:喜欢音乐的分数是0.2
    (2)2010.3.20-2011.3.1:分数是1.2,原因是遇到女朋友,喜欢浪漫音乐
    (3)2011.3.20之后:分数是1.0

    学习一个阶跃函数
    1、我们需要进行学习的部分
    (1)分裂点
    (2)每段的值
    2、单变量回归树的损失函数
    (1)训练loss:重点关注的是拟合这些点
    (2)正则化:重点关注这个函数的复杂度,比如说分裂点的个数,每段值的L2范数等等。

    学习阶跃函数
    我们看着四幅图能看出什么呢?
    (1)第一张图是我的训练数据,我就是要拟合它
    (2)第二张图是分裂点很多,这样对训练集拟合的很好,但是呢,模型也太复杂了,在测试集上表现不一定好哦方差大
    (3)第三张图发现分裂点找的有点偏了,导致拟合的不准,这样MSE就会变大的,偏差大
    (4)在损失和复杂度上达到了平衡

    回过头来:组合树的目标函数
    1、模型:假设k棵树,用加法模型来表示
    2、目标函数:包括两个部分,训练loss和树的复杂度
    3、定义复杂度的可能形式:
    (1)树的节点数目,树的深度
    (2)叶子节点权重的L2范数
    (3)后面会更加详细的介绍

    目标函数以及启发性学习
    1、当讨论决策树的时候,往往是启发式的:
    (1)根据信息增益找分裂点
    (2)剪枝
    (3)最大树深度
    (4)叶子值的平滑度
    2、大部分启发式都会对目标函数进行良好的映射:
    (1)信息增益--训练loss
    (2)剪枝--节点的正则化
    (3)最大深度--确定函数复杂空间
    (4)叶子值得平滑度--叶子权重的L2正则化
    补充:啥是启发式学习?
    通俗的说:启发式算法是指在一个随机的群体寻优过程中,个体能够利用自身或者全局的经验来制定各自的搜索策略。


    回归树不仅仅是为了回归
    1、回归树组合定义了如何预测分数,它可以被用于分类、回归、排名等等
    2、取决于你怎么去定义目标函数
    (1)对于MSE ---GBDT --- 回归
    (2)logloss ---logitboost----分类

    相关文章

      网友评论

          本文标题:xgboost slide(二)

          本文链接:https://www.haomeiwen.com/subject/djgawttx.html