美文网首页石晔
xgboost 原理个人理解解读

xgboost 原理个人理解解读

作者: yesski | 来源:发表于2018-11-15 22:04 被阅读0次

    目前推荐排序线上模型采用基于xgboost得打分模型,来实现个性化的推送,现就模型得原理部分进行梳理

    https://blog.csdn.net/guoxinian/article/details/79243307

    大部分的图是从这个链接来得,这个链接也是转载的别人得,但是找不到原出处了

    现就谈自己得理解

    xgboost是个前向相加模型,这也是boost得本质,后一棵树在前一棵树得基础上进行优化

    在说xgboost之前就要说gbdt,gbdt实际是xgboost原理得一个特殊化,具体gbdt得原理见下面这个链接

    https://blog.csdn.net/zpalyq110/article/details/79527653

    在看完gbdt得连接以后,对于下面得推导就会很熟悉,我们继续xgboost得理解

    目标函数+detla f(x) 得优化问题,自然用到泰勒展式

    xgboost就是用到了二阶导,gbdt用到了一阶导得形式

    上面是先讲解了泰勒展示, 如果对上面泰勒展式很熟悉,直接到下面这个图

    就是对叶子节点进行了编号,给每个叶子节点一个权重,

    然后将训练误差和树结构复杂度 加一起成为最后得目标函数

    我得心魔

    从而得到了重要性,但是对于重要性,有人有异议,所以没办法做

    石晔:

    在XGBoost中提供了三种特征重要性的计算方法:

    ‘weight’ - the number of times a feature is used to split the data across all trees.

    ‘gain’ - the average gain of the feature when it is used in trees

    ‘cover’ - the average coverage of the feature when it is used in trees

    石晔:

    三种方法计算得出的 特征值, 一般哪种更合理?

    害怕孤独的兔子先生:

    这个特征重要性的参考性不是很大,如果要用的话gain比较好用一些

    石晔:

    为啥这个特征重要性的参考性不是很大呢, 非深度学习模型里面,这个用的比较多的一个原因 也是能得到他的特征重要性,从而做特征筛选?》

    害怕孤独的兔子先生:

    特征筛选有好多种方式,xgb中的特征重要性与特征对模型的提高性联系并不是很大,有时候很重要的特征也只提高一点点模型,不重要的特征反而能提高很多,这都是很常见的情况

    石晔:

    那除了特征重要性以外,大佬你现在用的多的方式 是哪个呢

    害怕孤独的兔子先生:

    使用皮尔逊系数或者单特征比较看提高用的比较多

    石晔:

    单特征比较看, 是指 用一个特征去训练 然后看效果

    害怕孤独的兔子先生:

    用基础特征加一个特征

    石晔:

    ok

    石晔:

    皮尔逊系数  这种的, 只能看基础的线性相关性

    石晔:

    相当于是从基础特征里面找相关性吗?

    石晔:

    一般很多特征都是非线性关系, 用皮尔逊系数,没啥用呢

    害怕孤独的兔子先生:

    嗯,所以筛选的时候会用到很多方式,也可以一个一个特征去掉看效果,综合多种方法用吧

    相关文章

      网友评论

        本文标题:xgboost 原理个人理解解读

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