XGBoost

1.XGBoost算法原理

XGBoost是GDBT算法的应用,GDBT是根据损失函数负梯度来进行拟合每一个弱学习器,然后运用加法模型,将每个弱学习器的结果以加权累加的形式输入到现有的模型中。

而XGBoost也是用的是CART树作为弱学习器,但是它不是根据gini或者均方误差来进行特征选择,而是重新定义了树的特征选择计算的损失函数,根据一阶函数和二阶函数的和最小来进行特征选择。并且在特征选择的时候添加了正则化,剪枝,约束了节点。

2.损失函数

2.1算法的模型:一个算法有其组成的模型,XGBoost就是用若干个决策树组成的。

但是目前树的参数未知,特征选择未知,节点输出结果未知,需要根据损失函数最小,来求解这些参数,而得到最优的树,进而组成最优的模型。


2.2损失函数:这里面添加了正则项,这样可以在寻找最佳模型参数的同时进行剪枝。

现在对训练误差和正则项的具体表达式表示都不知道。

2.3最小化损失函数,根据数据集来训练模型,得到最佳参数。

模型的参数就树的结构,但是一次同时训练n棵树得到其的参数不太现实,我们采用加法模型,一次训练一颗树,令每棵树都让损失函数最小即可。

例如:训练第t棵树,那么t-1棵树的损失函数是 确定的。


第i棵树的模型

第i棵树的损失函数:


用泰勒展开式展开损失函数:



泰勒展开式后的损失函数


损失函数的一阶导数,二阶导数。

把里面确定的值(常量去掉)


xgboost的正则项为:

为什么这样形式:简单,有效。

带入损失函数中得:


又 f(Xi)是决策树得结构,决策树得模型为:


用cart树模型替换掉,跟新损失函数:


最终得到:


对叶子节点上的得分求偏导,得各个叶子节点得最佳值wj,求得最佳损失函数为


这个表明可以用训练集的一阶,二阶导数的和来进行特征选择。



5.对缺失值处理

通常情况下,我们人为在处理缺失值的时候大多会选用中位数、均值或是二者的融合来对数值型特征进行填补,使用出现次数最多的类别来填补缺失的类别特征。

但是xgboost模型可以处理缺失值,或者说可以允许缺失值的存在。

:缺失值的处理将其看与稀疏矩阵的处理看作一样。在寻找split point的时候,不会对该特征为missing的样本进行遍历统计,只对该列特征值为non-missing的样本上对应的特征值进行遍历,通过这个技巧来减少了为稀疏离散特征寻找split point的时间开销。在逻辑实现上,为了保证完备性,会分别处理将missing该特征值的样本分配到左叶子结点和右叶子结点的两种情形,计算增益后选择增益大的方向进行分裂即可。可以为缺失值或者指定的值指定分支的默认方向,这能大大提升算法的效率。如果在训练中没有缺失值而在预测中出现缺失,那么会自动将缺失值的划分方向放到右子树。

伪代码:

6.优缺点

优点:

1.可以并行,速度快,因为用到的是一阶,二阶导数。

2.在特征选择时就进行了正则化约束。

3.能够自动处理缺失值。


8.sklearn参数



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容

  • sklearn、XGBoost、LightGBM的文档阅读小记 文章导航 目录 1.sklearn集成方法 1.1...
    nightwish夜愿阅读 12,626评论 1 49
  • 之前介绍过梯度下降法与牛顿法,GBDT与XGBoost就与这两种方法有关。 boosting(包括GBDT、XGB...
    小松qxs阅读 24,123评论 0 31
  • 1.引子 XGBoost在机器学习领域可谓风光无限,作为从学术界来的模范生,帮助工业界解决了许多实际问题,真可...
    散落一地的蓝阅读 3,517评论 1 28
  • 如果说,自恋是人类最本质的需求,那么这个需求衍生出来的,也是非常直接和本质的需求,就是当“我”发出了声音,这声音可...
    ElingHo期待的美好日常阅读 193评论 0 0
  • 【摘要】 我时常因为敏感焦虑压力封闭自己的内心,我从来不愿意给别人带来麻烦和负能量,所以在和朋友的相处中我也从来不...
    蓝笙儿阅读 528评论 0 0