news 2026/4/18 13:26:52

机器学习 - 梯度提升

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习 - 梯度提升

摘要:梯度提升机(GBM)是一种集成学习方法,通过迭代训练多个决策树来提升预测性能。其核心原理是:初始化简单模型后,每次训练新树来修正前序模型的残差,最终组合所有树的结果。GBM适用于回归、分类和排序任务,具有准确率高、稳健性强等优势,但也存在训练时间长、参数调优复杂等局限。示例代码展示了使用Sklearn实现乳腺癌分类,准确率达95.6%。该技术虽解释性有限,但在机器学习领域应用广泛。

目录

机器学习 - 梯度提升

什么是梯度提升机(GBM)?

梯度提升机的工作原理

示例

输出结果

梯度提升机的优势

梯度提升机的局限性


机器学习 - 梯度提升

梯度提升机(Gradient Boosting Machines, GBM)是一种功能强大的机器学习技术,广泛应用于构建预测模型。它属于集成学习方法的一种,通过结合多个弱模型的预测结果,构建出更强大、更精准的模型。

梯度提升机适用于多种应用场景,包括回归问题、分类问题和排序问题。下面我们来了解梯度提升机的工作原理及其在机器学习中的应用。

什么是梯度提升机(GBM)?

梯度提升机是一种迭代式机器学习算法,通过结合多个决策树的预测结果得出最终预测值。

该算法的工作流程是训练一系列决策树,每一棵新决策树都旨在修正前一棵决策树的误差。

在每次迭代中,算法会识别出数据集中最难预测的样本,并着重提升模型在这些样本上的性能。

具体实现方式是拟合一棵新的决策树,该决策树经过优化,以减少难预测样本的误差。这一过程会持续进行,直到满足预设的停止条件(例如达到特定的准确率水平或最大迭代次数)。

梯度提升机的工作原理

训练梯度提升机模型的基本步骤如下:

  1. 初始化模型:算法首先构建一个简单模型(如单棵决策树)作为初始模型。
  2. 计算残差:使用初始模型对训练数据进行预测,残差为预测值与实际值之间的差值。
  3. 训练新模型:基于残差训练一棵新的决策树,目标是最小化难预测样本的误差。
  4. 更新模型:将新模型的预测结果与之前模型的预测结果相结合,并根据更新后的预测结果重新计算残差。
  5. 重复迭代:重复执行步骤 3-4,直到满足预设的停止条件。

通过引入正则化技术(如 L1 正则化和 L2 正则化),可以进一步改进梯度提升机,防止模型过拟合。此外,梯度提升机还可扩展用于处理分类变量、缺失数据和多分类问题。

示例

以下是使用 Scikit-learn(Sklearn)乳腺癌数据集实现梯度提升机的示例代码:

from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingClassifier from sklearn.metrics import accuracy_score # 加载乳腺癌数据集 data = load_breast_cancer() X = data.data y = data.target # 将数据划分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 使用GradientBoostingClassifier定义GBM模型参数 model = GradientBoostingClassifier(n_estimators=100, max_depth=3, learning_rate=0.1) # 训练GBM模型 model.fit(X_train, y_train) # 对测试集进行预测 y_pred = model.predict(X_test) # 评估模型准确率 accuracy = accuracy_score(y_test, y_pred) print("准确率(Accuracy):", accuracy)

输出结果

在该示例中,我们使用 Sklearn 的load_breast_cancer函数加载乳腺癌数据集,并将其划分为训练集和测试集。随后,通过GradientBoostingClassifier定义梯度提升机模型的参数,包括基估计器数量(即决策树的数量)、每棵决策树的最大深度和学习率。

通过fit方法训练梯度提升机模型,使用predict方法对测试集进行预测,最后借助 Sklearn 的metrics模块中的accuracy_score函数评估模型的准确率。

运行上述代码后,将得到以下输出结果:

plaintext

准确率(Accuracy): 0.956140350877193

梯度提升机的优势

在机器学习中,梯度提升机具有以下优势:

  1. 准确率高:梯度提升机通过融合多个弱模型的预测结果构建强模型,因此具有极高的预测准确率。
  2. 稳健性强:梯度提升机专注于提升难预测样本的性能,对异常值和噪声数据具有较强的稳健性。
  3. 灵活性高:适用于多种应用场景,包括回归、分类和排序问题。
  4. 可解释性较好:能够揭示不同特征在预测过程中的重要性,有助于理解驱动预测结果的潜在因素。
  5. 可扩展性强:能够处理大规模数据集,且支持并行计算以加快训练速度。

梯度提升机的局限性

梯度提升机在机器学习应用中也存在一些局限性:

  1. 训练时间长:梯度提升机的计算成本较高,尤其是在处理大规模数据集时,可能需要大量的训练时间。
  2. 超参数调优复杂:需要仔细调整超参数(如学习率、决策树数量和最大深度等)才能达到最优性能。
  3. 模型黑箱特性:最终模型由多个决策树组合而成,难以解释,可能无法清晰揭示驱动预测结果的潜在因素。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 4:29:06

YOLOv12官版镜像训练600轮后效果怎么样?实测报告

YOLOv12官版镜像训练600轮后效果怎么样?实测报告 最近,YOLOv12 正式发布,作为 YOLO 系列首次全面转向注意力机制为核心架构的版本,它不仅打破了过去十年依赖卷积神经网络(CNN)的传统,还在精度与…

作者头像 李华
网站建设 2026/4/17 15:16:45

开发者必看:Live Avatar CLI模式参数自定义配置指南

开发者必看:Live Avatar CLI模式参数自定义配置指南 1. 引言:深入理解Live Avatar数字人模型 你可能已经听说过,阿里联合多所高校开源了一款名为Live Avatar的前沿数字人模型。这款模型凭借其高质量的视频生成能力、灵活的参数配置和强大的…

作者头像 李华
网站建设 2026/4/17 14:38:51

Cursor AI编程助手Pro功能完整解锁终极指南

Cursor AI编程助手Pro功能完整解锁终极指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial request limit. / T…

作者头像 李华
网站建设 2026/4/16 9:44:04

ViPER4Windows音频增强工具完整配置指南:解决Win10/11兼容性问题

ViPER4Windows音频增强工具完整配置指南:解决Win10/11兼容性问题 【免费下载链接】ViPER4Windows-Patcher Patches for fix ViPER4Windows issues on Windows-10/11. 项目地址: https://gitcode.com/gh_mirrors/vi/ViPER4Windows-Patcher ViPER4Windows作为一…

作者头像 李华
网站建设 2026/4/17 16:27:36

Fun-ASR让语音识别真正走进日常办公

Fun-ASR让语音识别真正走进日常办公 你有没有这样的经历:开完一场两小时的会议,面对录音文件却迟迟不敢打开?不是不想整理纪要,而是手动转写太耗时,外包服务又贵得离谱。更别提那些专业术语、人名地名,听三…

作者头像 李华
网站建设 2026/4/17 17:34:12

TV-Bro智能电视浏览器:解决大屏上网痛点的全能方案

TV-Bro智能电视浏览器:解决大屏上网痛点的全能方案 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 您是否曾经在智能电视上尝试浏览网页,却发现操…

作者头像 李华