首页 > 其他分享 >梯度提升树模型全解析:原理、参数、应用与优化

梯度提升树模型全解析:原理、参数、应用与优化

时间:2024-12-24 17:00:09浏览次数:3  
标签:函数 梯度 模型 学习 参数 拟合 解析 决策树

一、基本概念

  1. 定义

    • 梯度提升树(Gradient Boosting Tree,GBT)是一种基于boosting框架的集成学习算法,用于回归和分类问题。它通过迭代地训练决策树,并将前一棵树的残差作为下一棵树的训练目标,逐步减少预测误差。
    • 集成学习是将多个弱学习器(在梯度提升树中,弱学习器通常是决策树)组合成一个强学习器的方法。梯度提升树的核心思想是沿着损失函数的负梯度方向,逐步构建新的决策树来修正前面模型的不足。
  2. 与其他模型的对比

    • 与随机森林的对比:
      • 随机森林是基于bagging(自助采样法)的集成学习方法,它通过对训练数据集进行有放回的抽样,构建多个相互独立的决策树,然后对这些决策树的结果进行投票(分类问题)或平均(回归问题)。而梯度提升树是基于boosting的方法,它的决策树是顺序构建的,后一棵树依赖于前一棵树的结果。
      • 随机森林中决策树之间相对独立,而梯度提升树的决策树之间存在较强的依赖关系。
    • 与传统决策树的对比:
      • 传统决策树是一个单一的模型,容易出现过拟合等问题。梯度提升树通过集成多个决策树,降低了过拟合的风险,并且能够学习到更复杂的函数关系。

二、工作原理

  1. 初始化模型
    • 在梯度提升树的开始阶段,会初始化一个简单的模型,通常是一个常数模型。例如,在回归问题中,这个常数可以是目标变量的均值;在分类问题中,可以是正类或负类的先验概率。设初始模型为\(F_0(x)\),对于回归问题,\(F_0(x)=\arg\min_{\gamma}\sum_{i = 1}^{n}L(y_i,\gamma)\),其中\(L\)是损失函数,\(y_i\)是第\(i\)个样本的真实标签,\(n\)是样本数量。
  2. 迭代构建决策树
    • 对于第\(m\)次迭代(\(m = 1,2,\cdots,M\),\(M\)是总的迭代次数):
      • 计算负梯度:根据当前模型\(F_{m - 1}(x)\)和损失函数\(L\),计算训练样本的负梯度\(r_{im}=-\left[\frac{\partial L(y_i,F_{m - 1}(x_i))}{\partial F_{m - 1}(x_i)}\right]\),这一步是关键,它将损失函数的梯度信息融入到模型的构建中。
      • 拟合决策树:使用计算得到的负梯度\(r_{im}\)作为新的目标变量,拟合一棵决策树\(h_m(x)\)。这棵决策树的目标是最小化拟合这些负梯度的平方误差(在很多情况下)。
      • 更新模型:通过一个学习率\(\nu\)更新模型,\(F_m(x)=F_{m - 1}(x)+\nu h_m(x)\)。学习率是一个小于1的正数,它控制了每棵树对最终模型的贡献程度,较小的学习率可以减少过拟合的风险。
  3. 预测阶段
    • 对于一个新的样本\(x_{new}\),通过最终的模型\(F_M(x_{new})\)进行预测。在分类问题中,通常会对预测结果进行概率转换(如使用sigmoid函数等),然后根据概率阈值判断类别;在回归问题中,直接输出模型的预测值。

三、损失函数

  1. 回归问题常用损失函数
    • 平方损失函数\(L(y,F(x))=(y - F(x))^2\),它的梯度计算简单,并且对于回归问题比较直观。当使用平方损失函数时,负梯度就是当前模型预测值与真实值的残差\(r_{i}=y_{i}-F_{m - 1}(x_{i})\)。
    • 绝对损失函数\(L(y,F(x))=\vert y - F(x)\vert\),它对于异常值相对更鲁棒,不像平方损失函数那样会对异常值产生过大的惩罚。
  2. 分类问题常用损失函数
    • 对数损失函数(用于二分类)\(L(y,p)=-(y\log(p)+(1 - y)\log(1 - p))\),其中\(y\in\{0,1\}\)是真实标签,\(p\)是预测为正类的概率。在这种情况下,负梯度的计算涉及到概率和真实标签的复杂关系,用于更新决策树的拟合目标。
    • 多分类的交叉熵损失函数,用于多分类问题,它的形式更加复杂,涉及到多个类别概率的计算,但基本思想是衡量预测概率分布与真实标签分布之间的差异。

四、模型参数

  1. 迭代次数(树的数量)\(M\)
    • 它决定了模型的复杂度。较小的\(M\)可能导致模型欠拟合,无法充分学习数据中的模式;而过大的\(M\)可能导致过拟合,模型会对训练数据中的噪声也进行学习。可以通过交叉验证等方法来选择合适的\(M\)。
  2. 学习率\(\nu\)
    • 学习率控制了每棵树对最终模型的贡献程度。较小的学习率意味着模型需要更多的树来达到较好的性能,但同时也降低了过拟合的风险;较大的学习率可能使模型收敛更快,但也更容易过拟合。
  3. 决策树的参数
    • 包括树的深度、叶子节点数量、分裂节点的特征选择方法等。这些参数会影响每棵决策树的复杂度,进而影响整个梯度提升树模型的性能。例如,较深的树可能会过度拟合数据,而较浅的树可能无法很好地学习复杂的函数关系。

五、应用场景

  1. 数据挖掘和机器学习竞赛
    • 在Kaggle等数据竞赛平台上,梯度提升树模型是非常受欢迎的算法。它在各种结构化数据的预测任务中,如预测房价、客户流失、疾病诊断等问题上表现出色,能够取得较高的准确率和较低的误差。
  2. 工业界应用
    • 在金融领域,用于信用风险评估、股票价格预测等;在电商领域,用于商品推荐、用户购买行为预测等;在医疗领域,辅助医生进行疾病诊断、预测疾病的复发概率等。

六、模型评估和优化

  1. 评估指标
    • 对于回归问题,常用的评估指标有均方误差(MSE)\(MSE=\frac{1}{n}\sum_{i = 1}^{n}(y_i - \hat{y}_i)^2\)、平均绝对误差(MAE)\(MAE=\frac{1}{n}\sum_{i = 1}^{n}\vert y_i - \hat{y}_i\vert\)等。
    • 对于分类问题,有准确率(Accuracy)\(Accuracy=\frac{TP + TN}{TP + TN+ FP + FN}\)、精确率(Precision)\(Precision=\frac{TP}{TP + FP}\)、召回率(Recall)\(Recall=\frac{TP}{TP + FN}\)、F1 - score\(F1 - score=\frac{2\times Precision\times Recall}{Precision + Recall}\)等,其中\(TP\)是真正例,\(TN\)是真反例,\(FP\)是假正例,\(FN\)是假反例。
  2. 超参数优化方法
    • 网格搜索:它通过遍历预先定义的超参数组合来寻找最优的超参数。例如,对于学习率和树的数量,可以定义一个网格,如学习率\(\nu\in\{0.01,0.1,0.2\}\),树的数量\(M\in\{10,50,100\}\),然后对每一种组合进行模型训练和评估,选择性能最好的组合。
    • 随机搜索:与网格搜索类似,但它是从超参数空间中随机抽取组合进行评估,在某些情况下,它可以更高效地探索超参数空间,尤其是当超参数空间较大时。
    • 贝叶斯优化:它是一种基于贝叶斯定理的优化方法,通过建立超参数和模型性能之间的概率模型,来更智能地搜索超参数空间,通常可以用较少的试验次数找到较好的超参数组合。

标签:函数,梯度,模型,学习,参数,拟合,解析,决策树
From: https://www.cnblogs.com/java-note/p/18628119

相关文章

  • 全面解析支持向量机模型:原理、参数、评估与应用全知晓
    一、基本原理线性可分情况假设我们有一个二分类问题,数据点在特征空间中是线性可分的。SVM的目标是找到一个超平面,将不同类别的数据点完全分开。这个超平面可以用方程\(w^Tx+b=0\)来表示,其中\(w\)是权重向量,\(x\)是特征向量,\(b\)是偏置项。对于线性可分的数据,存在无数个......
  • 机器学习:线性回归:梯度下降法应用多元线性回归(持续更新)
    目录第二节梯度下降法在线性回归中的应用情景带入这里提出误差函数即残差函数的概念:我们这里采用MSE损失函数来刻画预测值与真实值之间的误差大小下面是基于梯度下降法求解线性回归方程中参数(θ)(θ)的推导过程:于是我们重复的过程是:我们先观察各个特征数据与房价的......
  • 决策树模型全解析:从原理构建到应用评估
    定义与基本概念决策树是一种基于树结构(包括根节点、内部节点、叶节点)进行决策的模型。根节点是整个决策过程的开始,内部节点代表一个属性上的测试,叶节点代表最终的决策结果或类别。例如,在一个判断水果是苹果还是橙子的决策树中,根节点可能是“颜色”这个属性,内部节点可以是“形......
  • 逻辑回归全解析:概念、估计、评估与特征工程及应用大揭秘
    一、基本概念定义与用途逻辑回归主要用于二分类问题,例如预测一个用户是否会购买某产品(是/否)、一封邮件是否是垃圾邮件(是/否)等。它也可以扩展到多分类问题,但本质上是通过组合多个二分类来实现的。逻辑回归模型输出的是事件发生的概率,而不是像线性回归那样直接输出一个数值。......
  • 英语四六级备考必备:2015-2024年历年真题+解析全汇总
    前言英语四六级考试是每年大学生最重要的语言能力测试之一。如何在备考中取得高分,除了掌握核心词汇和语法外,真题练习绝对是备考的“王牌利器”。本文为大家整理了从2015年至2024年6月的英语四六级考试真题及解析合集。这份资源不仅涵盖了近十年的考试真题,还配有详细解析,帮助你了......
  • 智能脂肪秤方案pcba设计研发步骤解析
    一、智能脂肪秤的创新之处1.精准测量技术智能脂肪秤采用先进的生物电阻抗分析(BIA)技术,能够准确测量人体的体脂率、肌肉量、骨量等多项身体指标。同时,通过不断优化测量算法和传感器技术,提高了测量的精度和稳定性。2.蓝牙连接与智能应用智能脂肪秤通过蓝牙技......
  • 机器学习全解析:基础概念、任务类型、算法模型、应用及未来挑战与走向
    一、引言机器学习作为人工智能领域的核心分支,旨在让计算机系统从数据中自动学习模式和规律,以实现对未知数据的预测和决策。在当今数字化时代,机器学习已经广泛应用于各个领域,从图像识别、语音识别到金融预测、医疗诊断等,为解决复杂问题提供了强大的工具和方法。二、机器学习基础......
  • 文件解析漏洞靶场实战
    1.IIS6.X安装windows2003和IIS6.X环境,进入inetpub/wwwroot目录下,创建一个.asp后缀的文件创建一个后缀为.jpg的文件,写入一句话,显示当前时间查看IP地址,在浏览器访问.jpg文件2.IIS7.X开启IIS7.X,并修改php.ini里面的配置文件修改windows系统中的IIS服务,并重启PHPstudy......
  • Redis大Key问题全解析
    1.引言1.1什么是Redis大Key?Redis大Key是指单个Key对应的数据量过大,占用过多的内存或导致操作耗时较长的现象。大Key可以是以下几种常见数据类型中的任意一种:String类型:单个字符串的长度过大。List类型:包含大量元素的列表。Hash类型:存储大量字段的哈希表。Set或ZSet类型......
  • 探索Dedoc:文件解析的强大工具
    探索Dedoc:文件解析的强大工具引言解析和提取各类文档格式中的信息是开发业务应用程序时的常见需求。Dedoc是一个开源库和服务,能够从多种文件格式中提取文本、表格、附加文件和文档结构。这篇文章将介绍Dedoc的功能,如何安装和使用Dedoc库和API,以及一些常见的使用问题和解决......