Logo
0

Random Forest

随机森林基于bagging的集成思想,通过对数据集有放回地采样生成若干子数据集,训练多棵决策树来进行分类或回归任务,减少偏差风险,同时降低过拟合

随机森林的优缺点:

优点:

  1. 其对于噪声和异常值有较强的鲁棒性
  2. 不容易过拟合
  3. 可以处理不平衡的数据集

缺点:

  1. 训练时间长
  2. 可解释性较差

GBDT

梯度提升决策树(GBDT)基于boosting的集成思想,通过组合多个弱学习器(决策树)来构建一个强学习器,每一棵新的树都以纠正之前所有树的错误为目标,回归任务中错误为差值,分类任务中为对数似然

Pasted image 20240706175731.png ❗迭代开始时的初始基本树F0F_{0}按如下方式初始化:

  1. 分类任务:数据集的label对数比例 例如: 二分类下,训练集中正样本占70%,负样本占30%,则初始模型的预测值为F0=log(0.70.3)=0.847F_{0}=log(\frac{0.7}{0.3})=0.847,差值为(1-0.847)(实际标签与该样本属于正类的概率之差) 多分类下,假如是3个分类,类别1占0.5,类别2占0.3,类别3占0.2,则初始模型的预测值为F0,0=log(0.50.5)=0F_{0,0}=log(\frac{0.5}{0.5})=0 F0,1=log(0.30.5)=0.5108F_{0,1}=log(\frac{0.3}{0.5})=-0.5108 F0,2=log(0.20.5)=0.9163F_{0,2}=log(\frac{0.2}{0.5})=0.9163 此时,选择某一个类别的占比当作基底即可

  2. 回归任务:数据集的label取均值

Xgboost

Xgboost是对GBDT的具体工程化,都是基于梯度提升框架的机器学习算法,但是存在一些差异化:

  1. 目标函数:GBDT最小化损失函数,但Xgboost在目标函数中加入了考虑叶子节点数量和叶子节点上得分2范数的正则项
  2. 普通的GBDT在优化时主要使用一阶导数信息,Xgboost使用一阶和二阶导数信息
  3. GBDT每棵树的构建是顺序计算,Xgboost在构建单个树的构建过程中使用多线程并行

© 2025 All rights reservedBuilt with DataHub Cloud

Built with LogoDataHub Cloud