机器学习之XGBOOST全面理解

一:目标函数

  1. 训练损失正则化项两部分
    在这里插入图片描述
    (1)L:代表损失函数,常见的损失函数
    平方损失函数:
    逻辑回归损失函数:
    (2)y^ : xgboost是一个加法模型,因此预测得分是每棵树打分之和。
    (3)正则项:k棵数的复杂度之和。
  2. 第t棵树
    第t次迭代驯练的模型是ft(x)
  3. 泰勒展开式
    x 对应前t-1棵数,^x相当于第t棵树。
    定义损失函数关于y’(t-1)的一阶偏导数 gi 和二阶偏导数hi
    去掉全部常数项,得到目标函数
  4. 定义一棵树
    q代表一棵树的结构,q(x)代表样本落到哪个叶子结点。
  5. 定义树的复杂度
    叶子结点的个数叶子结点权重向量的L2范数
  6. 叶子结点归组
    Gj :叶子结点j 所包含样本一阶偏导数 累加之和,是常量
    Hj :叶子结点j 所包含样本二阶偏导数 累加之和,是常量
  7. 求解树结构权重及其最优obj的目标值
  8. :树的分裂细节
    1.是否会带来信息增益选择是否分裂
    Gain=Obj(L+R)-(Obj(L)-Obj®>0
    2.寻找最佳分裂点
    特征预排序+缓存
    XGBoost在训练之前,预先对每个特征按照特征值大小进行排序,然后保存为block结构,后面的迭代中会重复地使用这个结构,使计算量大大减小。
    3.停止生长
    (1)Gain<0
    (2) 达到最大深度
    (3)叶子结点的样本权重小于某个阈值

Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成;Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等学习器上效用更为明显。
偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值