GBDT入门学习

简介: 决策树A decision tree is a machine learning model that builds upon iteratively asking questions to partition data and reach a solution.结点:feature分支:决策叶子:结果痛点:过拟合     即在validation dataset 上表现好,但在test data

决策树

A decision tree is a machine learning model that builds upon iteratively asking questions to partition data and reach a solution.

结点:feature

分支:决策

叶子:结果

痛点:

过拟合     即在validation dataset 上表现好,但在test dataset上表现差

Ensemble Learning集成学习

a model that makes predictions based on a number of different models. 

优点:由于集成不同模型,集成学习更灵活(小偏差),更少的数据敏感(小方差)

两个最流行的集成方法:

  • bagging (并行训) Random Forest : 每个树在随机子集上训练,结果取平均

Training a bunch of models in parallel way. Each model learns from a random subset of the data.

  • boosting (顺序训) GBDT

Training a bunch of models sequentially. Each model learns from the mistakes of the previous model.

GBDT

weak learner : perform only slightly better than a random chance.

每一步的重点是构造出新的weak learner去处理剩余的困难的观测。

gbdt所借鉴的算法:Adaboost

weak learner : decision stumps(Decision stumps are decision trees with only a single split.)并对难分类的实例加权较高,易分类的实例加权较少。

the final result was average of weighted outputs from all individual learners. 结果加权平均

GB算法与之的区别:优化损失函数代替加权平均

it uses a loss function to minimize loss and converge upon a final output value. The loss function optimization is done using gradient descent

GBDT的weak learner:决策树

优点:准确度较高

缺点:由于串行的方式,学习速度缓慢

检测residual残差:a loss function

  • mse : 回归
  • log loss : 分类

超参

  • Learning rate:每次对已有模型修改的大小由学习率控制
  • n_estimators:使用的树的数量 使用太多树容易过拟合

GBDT对超参很敏感,而随机森林,树多了,则不会过拟合,因为其是并行的方式

对GBDT过拟合的改进方法:

  • 随机梯度下降:子采样
  • 小的学习率:0.1~0.3
  • 正则化
  • 树约束:
  • 树的数量
  • 树的深度:4-8
  • 每层的最小损失提升
  • 没个划分的观测数量 即样本数

参考:

相关文章
|
10月前
|
机器学习/深度学习 算法 数据挖掘
机器学习集成学习进阶Xgboost算法原理
机器学习集成学习进阶Xgboost算法原理
92 0
|
8月前
|
机器学习/深度学习 存储 算法
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
314 0
|
2月前
|
数据可视化 算法
【R语言实战】——kNN和朴素贝叶斯方法实战
【R语言实战】——kNN和朴素贝叶斯方法实战
|
2月前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。
|
2月前
|
机器学习/深度学习 算法 前端开发
Scikit-learn进阶:探索集成学习算法
【4月更文挑战第17天】本文介绍了Scikit-learn中的集成学习算法,包括Bagging(如RandomForest)、Boosting(AdaBoost、GradientBoosting)和Stacking。通过结合多个学习器,集成学习能提高模型性能,减少偏差和方差。文中展示了如何使用Scikit-learn实现这些算法,并提供示例代码,帮助读者理解和应用集成学习提升模型预测准确性。
|
2月前
|
机器学习/深度学习 前端开发 Python
Scikit-Learn 中级教程——集成学习
Scikit-Learn 中级教程——集成学习
61 0
|
机器学习/深度学习 算法
连载|集成学习(简介)
连载|集成学习(简介)
|
机器学习/深度学习 存储 算法
连载|机器学习|通俗易懂的KNN
连载|机器学习|通俗易懂的KNN
|
机器学习/深度学习 数据采集 算法
随机森林算法深入浅出
随机森林(Random Forest)是一种集成学习(Ensemble Learning)算法,由于其优秀的表现在数据挖掘、机器学习等领域得到广泛应用。随机森林通过同时使用多个决策树对数据集进行训练,并通过投票机制或平均化方式来得出最终的预测结果。本文将对随机森林算法的基本原理、优点和缺点以及实现过程进行详细介绍。
440 0
|
机器学习/深度学习 数据挖掘 PyTorch
# 【深度学习】:《PyTorch入门到项目实战》第五天:从0到1实现Softmax回归
softmax回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签y可以取两个以上的值。本文基于MNIST手写数字数据集来演示如何使用Pytorch实现softmax回归
# 【深度学习】:《PyTorch入门到项目实战》第五天:从0到1实现Softmax回归