梯度提升

Python 中的集成方法

Román de las Heras

Data Scientist, Appodeal

梯度提升机简介

目标函数

  1. 初始模型(弱学习器):$y\sim f_1(X)$
  2. 新模型拟合残差:$y-f_1(X)\sim f_2(X)$
  3. 新的加性模型:$y\sim f_1(X)+f_2(X)$
  4. 重复 $n$ 次或直到误差足够小
  5. 最终加性模型:$$y\sim f_1(X)+f_2(X)+ ... +f_n(x)=\sum_{i=1}^{n} f_i(X)$$
Python 中的集成方法

等价于梯度下降

函数与残差

梯度下降:

损失函数

梯度

残差 = 负梯度

负梯度

Python 中的集成方法

梯度提升分类器

梯度提升分类器

from sklearn.ensemble import GradientBoostingClassifier
clf_gbm = GradientBoostingClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
  • n_estimators
    • 默认:100
  • learning_rate
    • 默认:0.1
  • max_depth
    • 默认:3
  • min_samples_split
  • min_samples_leaf
  • max_features
Python 中的集成方法

梯度提升回归器

梯度提升回归器

from sklearn.ensemble import GradientBoostingRegressor
reg_gbm = GradientBoostingRegressor(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
Python 中的集成方法

开始提升!

Python 中的集成方法

Preparing Video For Download...