XGB算法梳理

XGBoost是一种高效的梯度增强树工具,常用于数据挖掘比赛。它基于GBDT算法,通过正则化、损失函数优化和并行化实现,处理缺失值能力强。算法通过不断添加树并优化目标函数,适用于回归和分类问题。在sklearn中,XGBoost有特定的参数设置。
摘要由CSDN通过智能技术生成

引言

XGBoost(eXtreme Gradient Boosting)是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,如果你的算法预测结果不好,赶紧试试XGBoost吧。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN, MPI, Sungrid Engine等各个平台上面运行,并且保留了单机并行版本的各种优化,使得它可以很好地解决于工业界规模的问题。

XGBoost其实是对前面所讲的GBDT算法的一种改良实现,主要包括了正则化、损失函数、学习策略、并行实现等一些方面。

1、算法原理

算法思想就是不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数,去拟合上次预测的残差。当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数,最后只需要将每棵树对应的分数加起来就是该样本的预测值。
在这里插入图片描述
 注:w_q(x)为叶子节点q的分数,f(x)为其中一棵回归树

如下图例子,训练出了2棵决策树,小孩的预测分数就是两棵树中小孩所落到的结点的分数相加。爷爷的预测分数同理。

在这里插入图片描述

2、损失函数

对于回归问题,我们常用的损失函数是MSE,即:
在这里插入图片描述
对于分类问题,我们常用的损失函数是对数损失函数:
在这里插入图片描述
XGBoost目标函数定义为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值