当前位置: 首页 > news >正文

预测模型及超参数:3.集成学习:[1]LightGBM

        想象你是一位乐队指挥,你的任务是协调乐队中的每位音乐家,以演奏出一场完美的音乐会。每位音乐家(即决策树)擅长不同的乐器或乐章。在指挥过程中,你通过调节各位音乐家演奏的强度(模型参数),让他们共同合作,最终演绎出一场精彩的音乐会。LightGBM 就像这位指挥,通过调节各个“音乐家”(决策树)的表现,合力预测数值型数据。

        LightGBM 是一种基于梯度提升的算法,它通过构建多个决策树来进行回归任务。它的优势在于速度快、内存占用低,尤其适合于处理大型数据集和高维度数据,以下是该模型中所有参数的详细解释:

1. learning_rate(学习率)

  • 作用:控制每棵树对整体模型的贡献程度。
  • 通俗解释
    • 想象乐队每位音乐家的演奏音量。learning_rate 就是你控制每位音乐家音量大小的旋钮。较小的音量(较低的学习率)使得乐队演奏更加和谐,但需要更多的音乐家(决策树)来完成乐曲。较大的音量(较高的学习率)使得乐队演奏更快完成,但可能会错失乐曲中的细节。
  • 取值范围:通常在 0.01 到 0.3 之间。

2. num_leaves(叶子节点数)

  • 作用:决定树的复杂度,影响模型的学习能力。
  • 通俗解释
    • 每个音乐家(决策树)能演奏的乐章数。num_leaves 控制了每个音乐家能演奏的复杂程度。更多的叶子节点意味着更复杂的乐章,但可能导致过拟合。
  • 取值范围:通常在 20 到 150 之间。

3. max_depth(最大深度)

  • 作用:控制树的最大深度。通过限制深度来防止过拟合。
  • 通俗解释
    • 决定每位音乐家能演奏的段落复杂度。较短的乐章(较小的深度)使得演奏更简单化,避免复杂度过高导致混乱。
  • 取值范围:一般在 3 到 12 之间。

4. min_data_in_leaf(叶子节点的最小数据量)

  • 作用:控制每个叶子节点上的最小样本数量。
  • 通俗解释
    • 想象音乐家演奏的每个段落至少需要一定数量的音符(数据),min_data_in_leaf 确保每段演奏具有足够的信息量来避免被误解。
  • 取值范围:一般在 1 到 100 之间。

5. min_sum_hessian_in_leaf(叶子节点的最小 Hessian 和)

  • 作用:控制每个叶子节点的最小 Hessian 和,用于正则化。
  • 通俗解释
    • 这是对音乐家演奏中复杂和谐度的一个控制,确保每段演奏在乐理上的稳定性。
  • 取值范围:一般在 1e-3 到 10.0 之间。

6. bagging_fraction(袋外采样比例)

  • 作用:控制用于每棵树训练的数据比例。
  • 通俗解释
    • 想象在音乐彩排中,你不是每次都让所有音乐家参与,而是让一部分音乐家参与,bagging_fraction 控制了这种参与比例。
  • 取值范围0.5 到 1.0,通常设置为 0.8。

7. bagging_freq(袋外采样频率)

  • 作用:控制执行袋外采样的频率。
  • 通俗解释
    • 指定乐队指挥在乐曲中更换不同音乐家的频率,例如每隔几段乐谱就更换一次。
  • 取值范围1 到 7,通常设置为 1。

8. feature_fraction(特征采样比例)

  • 作用:控制每棵树使用的特征比例。
  • 通俗解释
    • 类似于每位音乐家在每次演奏中只关注一定比例的音符(特征),而不是所有音符,增加演奏的多样性。
  • 取值范围0.5 到 1.0,通常设置为 0.8。

9. lambda_l1(L1 正则化)

  • 作用:对模型施加 L1 正则化,减少特征数量。
  • 通俗解释
    • 通过对某些音乐家演奏的音量进行抑制,保持乐队演奏的简洁性,避免不必要的复杂度。
  • 取值范围0.0 到 1.0

10. lambda_l2(L2 正则化)

  • 作用:对模型施加 L2 正则化,进一步减少特征复杂性。
  • 通俗解释
    • 这是对音乐家演奏音量的另一种控制,确保整体乐曲的和谐性。
  • 取值范围0.0 到 1.0

11. device(计算设备)

  • 作用:指定模型训练时使用的计算设备。
  • 通俗解释
    • 就像是乐队指挥是否使用电子设备辅助指挥。在当前代码中,使用 "cpu" 进行计算。
  • 取值范围:"cpu" 或 "gpu"。

总结

参数名称

通俗解释

作用

取值范围

learning_rate

控制每位音乐家的演奏音量

控制模型的学习步伐

0.01 到 0.3

num_leaves

决定每位音乐家能演奏的乐章数

控制树的复杂度

20 到 150

max_depth

每位音乐家能演奏的段落复杂度

限制树的深度,防止过拟合

3 到 12

min_data_in_leaf

演奏每段乐章所需的最小音符数量

确保每段演奏的信息量

1 到 100

min_sum_hessian_in_leaf

控制演奏复杂度的和谐程度

正则化,确保演奏稳定性

1e-3 到 10.0

bagging_fraction

彩排中参与的音乐家比例

引入随机性,增加模型的多样性

0.5 到 1.0

bagging_freq

更换不同音乐家的频率

控制袋外采样频率

1 到 7

feature_fraction

每位音乐家关注的音符比例

控制每棵树使用的特征比例

0.5 到 1.0

lambda_l1

抑制某些音乐家演奏音量

L1 正则化,减少特征数量

0.0 到 1.0

lambda_l2

控制演奏音量的和谐性

L2 正则化,减少特征复杂性

0.0 到 1.0

相关参数的详细数学公式推导可看

LightGBM简易原理与超参数

http://www.xdnf.cn/news/1386451.html

相关文章:

  • TDengine 3.3.7.0 新增性能基准工具 taosgen
  • Django开发规范:构建可维护的AWS资源管理应用
  • LRU 内存淘汰策略
  • 扩展中国剩余定理脚本(恢复密文c)
  • 匠心传承,古韵新生——记木雕名家龙巍的艺术人生
  • Android 打包适配15 版本(api 35)问题处理
  • 【观成科技】蔓灵花User下载者加密通信分析
  • 微硕WINSOK高性能NP沟道MOS管WSP4067在Type-C双向快充电源管理系统中的应用
  • 美摄科技受邀参加2025中关村论坛年会,以超高清车载影像技术赋能智慧出行新体验!
  • 4x12G-SDI(四链接12G-SDI)
  • Lambda 表达式在 PyQt/PySide 中的应用
  • 突破传统企业组网瓶颈:某科技公司智能组网服务项目深度解析
  • Docker部署单节点使用KRaft存储数据的Kafka与可视化界面Kafka-Map
  • 解决多种类潮湿敏感元器件的多温度、多时长的排潮烘干
  • 网络编程 04:TCP连接,客户端与服务器的区别,实现 TCP 聊天及文件上传,Tomcat 的简单使用
  • CVPR 强化学习模块深度分析:连多项式不等式+自驾规划
  • 判断语句中std::cin隐式转换为bool--重载operator bool()
  • 外卖大战之后,再看美团的护城河
  • autojs RSA加密(使用public.pem、private.pem)
  • IAR工程如何生成compile_commands.json文件(能生成但是clangd不能生成“.cache文件”)
  • 水质溶解氧检测仪:用于测量水体中溶解氧浓度的专业设备
  • Partner 类开发:会议参与者可视化控件
  • Excel Word Pdf 格式转换
  • 深入解析Qt节点编辑器框架:高级特性与性能优化(四)
  • Kafka 副本同步异常与 ISR 收缩故障排查实录
  • 自动化Reddit 效率已ready
  • Linux(0)|梦开始的地方:xshell下载
  • 表达式语言EL
  • Java全栈工程师的实战面试:从基础到微服务架构
  • More Effective C++ 条款16:牢记80-20准则(Remember the 80-20 Rule)