三十三、【人工智能】【机器学习】【监督学习】- LightGBM算法模型

news2024/9/20 2:47:52

 

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​ 


目录

系列文章目录

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、 LightGBM

(一)、定义

(二)、基本概念

(三)、训练过程

(四)、特点

(五)、适用场景

(六)、扩展

三、总结


一、基本定义

(一)、监督学习

        监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

        数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
        数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
        模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
        训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
        验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
        测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

        定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
        例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。


二、 LightGBM

(一)、定义

LightGBM是一个梯度提升框架下的决策树算法,由微软研发,专为处理大规模数据集而设计,具有高效、低资源消耗和高准确性的特点。它是基于Gradient Boosting Decision Tree (GBDT)的变种,通过采用独特的算法优化和数据结构,实现了更快的训练速度和更低的内存使用,尤其是在处理大规模数据集时表现出色。

(二)、基本概念

  • Gradient Boosting:一种迭代的机器学习技术,通过构建一系列弱学习器(通常是决策树)并逐个添加到模型中,以减小预测误差。
  • Leaf-wise Tree Growth:与传统的深度优先(level-wise)树增长策略不同,LightGBM采用了一种自底向上的叶优先(leaf-wise)策略,优先分割那些具有最大分裂增益的叶子节点,这样可以更早地逼近最优解。
  • Histogram-based Algorithm:LightGBM使用基于直方图的算法来加速特征的分裂点查找,减少了计算量和内存消耗。
  • Exclusive Feature Bundling (EFB):一种特征捆绑技术,可以减少特征的数量,从而降低计算复杂度。
  • Direct Loss Minimization:LightGBM能够直接最小化损失函数,而不是仅仅依赖于梯度和Hessian近似,这使得它在某些情况下能够更准确地拟合数据。

(三)、训练过程

  1. 初始化:从一个常数开始,作为所有预测的起点。
  2. 特征选择:构建直方图,基于直方图数据找到最佳的分裂点。
  3. 叶子节点分裂:采用叶优先策略,优先分裂增益最大的叶子节点。
  4. 直方图下采样:为了加速训练和防止过拟合,LightGBM可以选择性地下采样直方图数据。
  5. 数据下采样:在每棵树的训练过程中,可以对数据进行随机抽样,以提高模型的泛化能力。
  6. 树构建与正则化:构建决策树,并通过正则化项(如L1和L2正则化)来限制树的复杂度,防止过拟合。
  7. 模型更新:将新树的预测值加权累加到现有模型中,更新预测结果。
  8. 迭代:重复上述过程,直到达到预设的迭代次数或模型收敛。

(四)、特点

  • 高效性:通过采用直方图算法和叶优先策略,LightGBM大大加快了训练速度,降低了内存消耗。
  • 低资源消耗:相比其他GBDT算法,LightGBM在处理大规模数据集时占用更少的内存。
  • 高准确性:通过直接最小化损失函数和采用高效的特征选择策略,LightGBM能够提供高精度的预测。
  • 可扩展性:支持并行和分布式训练,可以轻松处理大规模数据集。
  • 易用性:提供多种编程语言的接口,易于集成到现有的机器学习管道中。

(五)、适用场景

  • 大规模数据集:特别适合处理包含数十亿条记录的大规模数据集。
  • 高维稀疏数据:在处理高维稀疏数据(如文本数据)时表现出色。
  • 实时预测:由于训练速度快,LightGBM非常适合需要实时或快速预测的场景。
  • 分类和回归问题:可以应用于各种类型的分类和回归问题,包括二分类、多分类和回归分析。

(六)、扩展

  • LightGBM支持多种目标函数和损失函数,可以根据不同的问题类型选择最合适的设置。

  • 支持自定义损失函数和评估指标,允许用户根据具体需求定制模型。
  • 内置交叉验证和早期停止机制,有助于自动调优和防止过拟合。
  • 支持GPU加速,进一步提升了大规模数据集的处理能力和训练速度。

三、总结

LightGBM因其高效、低资源消耗和高精度的特点,在工业界和学术界得到了广泛应用,成为了处理大规模数据集和复杂机器学习任务的首选工具之一。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用 CocosCreator 对接抖音小游戏的侧边栏复访

前言 最近小游戏的软著下来了,用 CocosCreator 做的游戏也完成了 1.0 版本。而当我打包成抖音小游戏进行提交时,还没到初审就给拒了,因为还有一个机审,机器检测到代码中没有接入 “侧边栏复访功能”。这个我还真不知道&#xff0…

企元数智突破超竞争时代:借力欧赛斯,实现商业辉煌

在如今激烈的超竞争时代,企业面临着巨大的挑战与机遇。要想在这个充满变革与风险的时代中立于不败之地,关键在于如何创新突破,借力于先进科技和智能系统,实现商业的辉煌。而"企元数智"作为您的得力助手,借力…

Python | Leetcode Python题解之第328题奇偶链表

题目: 题解: class Solution:def oddEvenList(self, head: ListNode) -> ListNode:if not head:return headevenHead head.nextodd, even head, evenHeadwhile even and even.next:odd.next even.nextodd odd.nexteven.next odd.nexteven even…

Sui主网升级至V1.30.1版本

Sui主网现已升级至V1.30.1版本,同时协议升级至53版本。其他升级要点如下所示: 协议 #18756 在Sui主网上启用本地随机性(随机信标)功能。 CLI #18706 编译器输出中可能会出现对不完整名称访问链(例如 some_pkg::s…

【管理咨询宝藏151】MBB咨询顾问的访谈调研训练课程

【管理咨询宝藏151】MBB咨询顾问的访谈调研训练课程 【格式】PDF版本 【关键词】MBB、麦肯锡、罗兰贝格、咨询顾问 【核心观点】 - 采用不同的表述来重复或重述问题,进行试探,以便回答,通过举例或对比,使自己既可以肯定也可以 否…

Dijkstra算法求解最短路径 自写代码

#include <iostream> #define Max 503 #define INF 0xcffffffusing namespace std;typedef struct AMGraph { //定义图int vex, arc;int arcs[Max][Max]; //邻接矩阵 };int dist[Max], path[Max]; //dis保存最短路径总权值、path通过保存路径的前驱结…

为什么golang不支持可重入锁

java中的可重入锁 熟悉java的朋友都知道&#xff0c;在java中不管是synchronized还是ReentrantLock都是可重入锁,使用起来也非常简单 synchronized 同步实例方法 public synchronized void instanceMethod() {// 同步方法的代码 }同步静态方法 public static synchronized…

数字营销中的人工智能 --- 完整指南 (By Hubspot)

原文作者&#xff1a;Rebecca Riserbato 原文发布日期&#xff1a;2024年3月7日 翻译和编辑&#xff1a;数字化营销工兵 【引言】 ChatGPT和谷歌巴德已经加入聊天。如果你还没有加入数字营销中关于人工智能&#xff08;AI&#xff09;的对话&#xff0c;你就错过了这个营销…

2006-2022年全国及各省劳动力流动数据

2006-2022年全国及各省劳动力流动数据 1、时间&#xff1a;2006-2022年 2、来源&#xff1a;全国农村经济情况统计资料、农村经营管理统计年报、农村政策与改革统计年报》 3、指标&#xff1a;汇总乡(镇)级单位个数、汇总村民委员会数、汇总村民小组数、汇总农户数(万户)、汇…

项目比赛项目负责人的识人与用人之道

项目比赛项目负责人的识人与用人之道 前言识人&#xff1a;洞察细节&#xff0c;透视本质用人&#xff1a;因材施教&#xff0c;发挥所长总结&#xff1a;识人用人的艺术结语 前言 在项目管理的世界里&#xff0c;每一个项目都像是一场精心策划的比赛&#xff0c;而作为项目负责…

Vue - 关于vue-kinesis 移动动画组件

Vue - 关于vue-kinesis 移动动画组件 vue-kinesis可以根据鼠标移动或滚动条来控制元素动画的动画效果&#xff1b;除此之外&#xff0c;vue-kinesis 还可以设置音频文件&#xff0c;根据音频频率来控制动画的跳动效果。 一、安装vue-kinesis Vue2版本&#xff1a; 1.安装 …

kotlin简介

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言&#xff0c;被称之为 Android 世界的Swift&#xff0c;由 JetBrains 设计开发并开源。 Kotlin 可以编译成Java字节码&#xff0c;也可以编译成 JavaScript&#xff0c;方便在没有 JVM 的设备上运行。 在Google I/O 2017…

LabVIEW机器人神经网络运动控制系统

LabVIEW机器人神经网络运动控制系统 介绍了如何使用LabVIEW软件和中枢模式发生器(CPG)神经网络实现对舵机驱动爬壁机器人的精准运动控制。通过结合仿生控制理念与高级程序设计&#xff0c;本项目旨在开发一种能自动完成复杂墙面移动任务的机器人。 项目背景 现代机器人技术中…

股市中的“黄金分割线”(原理、画法、用法)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 黄金分割线 📒📝 黄金分割线的基本原理📝 黄金分割线的画法📝 黄金分割线的用法⚓️ 相关链接 ⚓️📖 介绍 📖 股市风云变幻,寻找股价的支撑位和压力位是每位投资者的必修课。在众多分析方法中,有一种名为“黄金分…

算法力扣刷题记录 七十二【93.复原IP地址】

前言 本文练习回溯章节。回溯章节第七篇。 记录 七十二【93.复原IP地址】。 一、题目阅读 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2…

前端面试题整合

一、HTML篇 1、简述一下你对HTML语义化的理解&#xff1f; 用正确的标签做正确的事情&#xff1b; HTML语义化让页面内容结构清晰&#xff0c;便于浏览器、搜索引擎解析&#xff1b; 搜索引擎的爬虫依赖HTML标记来确定上下文和关键字的权重&#xff0c;利于SEO&#xff1b; 便于…

Typro + PicGo 图床 + Docsify + GitHub Pages,玩转个人知识库搭建,写给小白的建站入门课

自动开了这个号以后&#xff0c;陆陆续续写了很多干货文章&#xff0c;一方面是可以帮助自己梳理思路&#xff0c;另一方面也方便日后查找相关内容。 但是&#xff0c;我想检索某个关键词是在之前哪篇文章写过的&#xff0c;就有点捉急了。CSDN 还好&#xff0c;可以检索到相关…

趋动科技陈飞:从小模型到大模型,AI时代下的数据中心建设

自AI大模型横空出世&#xff0c;不断推动着AI从学术界到产业界向大众破圈&#xff0c;新的时代正在来临。11月15-16日&#xff0c;由CDCC主办的“2023第11届数据中心标准大会”在北京国家会议中心盛大开幕。 本届大会的主题围绕“AI时代 重塑未来”&#xff0c;聚焦数据中心领…

pycharm使用fastapi/uvicorn无法reload的问题

pycharm使用fastapi/uvicorn无法reload的问题 一、前言 1、解决方法 &#xff08;1&#xff09;控制台执行uvicorn指令 pycharm的问题&#xff0c;建议控制台直接输uvicorn main:app --reload&#xff0c;而不是在代码里 uvicorn.run() 运行 &#xff08;2&#xff09;将uv…

sharded_inference_engine:MLXDynamicShardInferenceEngine;step

目录 sharded_inference_engine:MLXDynamicShardInferenceEngine 类属性 方法 __init__(self) async def infer_prompt(self, shard: Shard, prompt: str, inference_state: Optional[str] = None) -> (np.ndarray, str, bool) async def infer_tensor(self, shard: …