机器学习总结二:boosting之GBDT、XGBT原理公式推导

本文详细介绍了Boosting方法中的决策树、GBDT和XGBoost原理,包括损失函数计算、模型构建流程、泰勒展开优化以及XGBoost中正则化的运用。通过实例和公式推导,深入剖析了如何通过负梯度和结构分数求解最优模型。

一、Bagging之决策树、随机森林原理与案例

二、boosting之GBDT、XGBT原理推导与案例

三、SVM原理推导与案例

四、逻辑回归与反欺诈检测案例

五、聚类之K-means


Boosting

1. 简介

  • 通过在数据上构建多个弱评估器,汇总所有弱评估器的建模结果,以取得比单个模型更好的分类或回归表现。
  • 加法模型,前向分步计算学习。

2. 基本元素

  • 弱评估器f(x):一般为决策树(cart树),不同boosting算法建立新树的过程不同

  • 损失函数L(x,y):衡量模型预测结果与真实结果的差异

  • 集成结果H(x):汇总所用弱评估器的结果进行输出

3. 算法提升流程

    1. 依据上一个弱评估器集成的结果,计算损失函数L(x,y)

L ( y , ∑ k = 1 t − 1 f k ( x ) ) L(y,\sum_{k=1}^{t-1} f_k(x)) L(y,k=1t1fk(x))

    1. 使用L(x,y)自适应的影响下一个弱评估器的构建

f k = t ( x ) f_{k=t}(x) fk=t(x)

    1. 更新弱评估器集成的结果

H ( x ) = ∑ k = 1 t − 1 f k ( x ) + f ( x ) t H(x)=\sum_{k=1}^{t-1} f_k(x)+f(x)_t H(x)=k=1t1fk(x)+f(x)t

注意:

  • 各种boosting算法的不同之处在于使用不同的方式影响后续评估器的构建

4. GBDT原理

  • 4.1 优化目标:新建的树使目标函数越来越小
  • 4.2 泰勒一阶展开式

f ( x + △ x ) ≈ f ( x ) + f ′ ( x ) △ x f(x+\triangle x) \approx f(x)+f'(x)\triangle x f(x+x)f(x)+f(x)x

  • 4.3 GBDT目标函数求解过程

    1. 设定目标函数
      o b j = ∑ i = 1 n L ( y i , y i ^ ) obj =\sum_{i=1}^nL(y_i,\widehat{y_i}) obj=i=1nL(yi,yi )

      n : 所有样本的个数; i : 代表每个样本 n: 所有样本的个数;i:代表每个样本 n:所有样本的个数;i:代表每个样本

    2. 代入树模型
      o b j = ∑ i = 1 n L ( y i , f ( x i ) t − 1 + f ( x i ) t ) obj =\sum_{i=1}^nL(y_i,f(x_i)_{t-1}+f(x_i)_t) obj=i=1nL(yi,f(xi)t1+f(xi)t)

      f ( x i ) t − 1 : 代表前 t − 1 棵树的结果; f ( x i ) t : 代表本轮要新建的树模型 f(x_i)_{t-1}:代表前t-1棵树的结果;f(x_i)_t :代表本轮要新建的树模型 f(xi)t1:代表前t1棵树的结果;f(xi)t:代表本轮要新建的树模型

    3. 将目标函数进行一阶泰勒展开
      o b j ≈ ∑ i = 1 n [ L ( y i , f ( x i ) t − 1 ) + δ ′ L ( y i , f ( x i ) t − 1 ) δ f ( x i ) t − 1 ∗ f ( x i ) t ] obj \approx \sum_{i=1}^n[L(y_i,f(x_i)_{t-1})+ \frac{\delta'L(y_i,f(x_i)_{t-1})}{\delta f(x_i)_{t-1}}*f(x_i)_t] obji=1n[L(yi,f(xi)t1)+δf(xi)t1δL(yi,f(xi)t1)f(xi)t]

      f ( x i ) t : 相当于泰勒泰勒展开式中的 △ x f(x_i)_t:相当于泰勒泰勒展开式中的\triangle x f(xi)t:相当于泰勒泰勒展开式中的x

    4. 因为L(y_i,f(x_i)_{t-1})是定值,新树要使obj减小的必要条件为:
      δ ′ L ( y i , f ( x i ) t − 1 ) δ f ( x i ) t − 1 ∗ f ( x i ) t ≤ 0 \frac{\delta'L(y_i,f(x_i)_{t-1})}{\delta f(x_i)_{t-1}}*f(x_i)_t \leq 0 δf(xi)t1δL(yi,f(xi)t1)f(xi)t0

    5. 上述不等式成立的充分非必要条件为:
      f ( x i ) t = − δ ′ L ( y i , f ( x i ) t − 1 ) δ f ( x i ) t − 1 f(x_i)_t = -\frac{\delta'L(y_i,f(x_i)_{t-1})}{\delta f(x_i)_{t-1}} f(xi)t=δf(xi)t1δL(yi,f(xi)t1)

      即建立的新树拟合结果为前 t − 1 轮预测结果对应的目标函数的负梯度 即建立的新树拟合结果为前t-1轮预测结果对应的目标函数的负梯度 即建立的新树拟合结果为前t1轮预测结果对应的目标函数的负梯度

    6. 最终新树模型生成要求

      • 新树模型拟合上一轮结果的负梯度

      • 使用基尼系数或信息熵,进行最佳分裂点

5. XGBT原理

  • 5.1 优化目标:新建的树使目标函数越来越小
  • 5.2 泰勒二阶展开式

f ( x + △ x ) ≈ f ( x ) + f ′ ( x ) △ x + 1 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值