机器学习 基础理论 学习笔记 (4)AutoML知识

机器学习 基础理论 学习笔记 (4)AutoML知识,第1张

机器学习 基础理论 学习笔记 (4)AutoML知识 1.什么是AutoML?

自动机器学习(AutoML)是将机器学习应用于现实问题的端到端流程自动化的过程。

传统机器学习模型大致可分为以下四个部分:数据采集、数据预处理、优化、应用;

其中数据预处理与模型优化部分往往需要具备专业知识的数据科学家来完成,他们建立起了数据到计算的桥梁。然而,即使是数据科学家,也需要花费大量的精力来进行算法与模型的选择。

机器学习在各种应用中的成功,为了让尽可能多的工作也能够被自动化完成,AutoML应运而生。

从传统机器学习模型出发,AutoML从特征工程、模型构建、超参优化三方面实现自动化;并且也提出了end-to-end的解决方案。

2.特征工程 自动工具

参考地址:

  • https://zhuanlan.zhihu.com/p/93109455

在机器学习步骤中,特征工程会耗费数据科学家大量的人力去进行特征的提取和筛选,不仅耗费大量的时间,而且效率也不高。因此需要自动特征工程来将这些 *** 作自动化,节省数据科学家的时间。

(1)什么是特征工程

特征工程是将原始数据转化为特征的过程,这些特征可以更好地向预测模型描述潜在问题,从而提高模型对未见数据的准确性。

特征工程通常包括三个工作:特征生成、特征选择、特征编码

  • 特征生成
    一般是在特征选择之前,它提取的对象是原始数据,目的就是自动地构建新的特征,将原始数据转换为一组具有明显物理意义(比如
    Gabor、几何特征、纹理特征)或者统计意义的特征。
  • 特征选择
    在许多数据分析和建模项目中,数据科学家会收集到成百上千个特征。更糟糕的是,有时特征数目会大于样本数目。这种情况很普遍,但在大多数情况下,并不是所有的变量都是与机器试图理解和建模的内容相关的。所以数据科学家可以尝试设计一些有效的方法来选择那些重要的特征,并将它们合并到模型中,这叫做特征选择。
  • 特征编码
    原始数据通常比较杂乱,可能会带有各种非数字特殊符号。而实际上机器学习模型需要的数据是数字型的,因为只有数字类型才能进行计算。因此,对于各种特殊的特征值,我们都需要对其进行相应的编码,也是量化的过程。
(2)常见的特征工程工具总结和比较
  • 特征工程工具总结(1)——Tsfresh
  • 特征工程工具总结(2)——Trane
  • 特征工程工具总结(3)——Categorical Encoding
  • 特征工程工具总结(4)——boruta_py
  • 特征工程工具总结(5)——Featuretools

3.超参优化工具总结 自动工具

参考地址:

  • https://zhuanlan.zhihu.com/p/93109455

手动修改调参既耗费大量的人力和时间,同时也难以寻找优化的方向,而对超参数选择进行优化既能节省大量人力和时间,又能让学习获得更好的性能和效果。因此出现了一系列的超参优化的工具来简化和改进超参选择和调整的过程。

(1).什么是超参数优化

超参数是机器学习在学习之前预先设置好的参数,而非通过训练得到的参数,例如树的数量深度, 神经网络的学习率等,甚至在超参学习中神经网络的结构,包括层数,不同层的类型,层之间的连接方式等,都属于超参数的范畴。

(2)超参优化工具的总结和比较
  • 超参优化工具总结(1)——Skopt
  • 超参优化工具总结(2)——Hyperopt
  • 超参优化工具总结(3)——Simple(x)
  • 超参优化工具总结(4)——Ray.tune
  • 超参优化工具总结(5)——Chocolate
  • 超参优化工具总结(6)——GpFlowOpt
  • 超参优化工具总结(7)——FAR-HO
  • 超参优化工具总结(8)——Xcessiv
  • 超参优化工具总结(9)——HORD
  • 超参优化工具总结(10)——ENAS
  • 超参优化工具总结(11)——NNI

4.AutoML开源框架

AutoML开源框架集成了特征工程模型构建以及超参优化,是一种全管道的AutoML工具。

  • 深度解析AutoML框架——MLBox:十行代码完成Titanic生存预测
  • 深度解析AutoML框架——Autokeras:入门指南
  • 深度解析AutoML框架——TPOT:一键生成ML代码,释放双手
  • 深度解析AutoML框架——H2O:入门指南
  • 深度解析AutoML框架——Auto_ml:初识AutoML的引路人


除了AutoKeras,其余框架均对特征工程有较强的支持,但支持的模型大多是传统机器模型。AutoKeras对神经网络支持较好,也因此对特征工程要求较低,它也是五种框架中唯一支持NAS的框架。TPOT支持显式地生成可执行代码,而MLBox甚至无法输出模型,只能输出对test的预测结果。H20是一款更加产品化的框架,有WebUI界面展示过程,对用户更加友好。auto_ml基础但全面,它更像是一个用于新手的教练机,没有特别的亮点但基本功能一应俱全。

5.全Pipeline自动机器学习工具:HyperGBM 【墙裂推荐】

HyperGBM是一款全Pipeline自动机器学习工具,可以端到端的完整覆盖从数据清洗、预处理、特征加工和筛选以及模型选择和超参数优化的全过程,是一个真正的结构化数据AutoML工具包。

大部分的自动机器学习工具主要解决的是算法的超参数优化问题,而HyperGBM是将从数据清洗到算法优化整个的过程放入同一个搜索空间中统一优化。这种端到端的优化过程更接近于SDP(Sequential Decision Process)场景,因此HyperGBM采用了强化学习、蒙特卡洛树搜索等算法并且结合一个meta-leaner来更加高效的解决全Pipeline优化的问题,并且取得了非常出色的效果。

学习地址:AutoML工具之HyperGBM介绍
github地址:https://github.com/DataCanvasIO/HyperGBM
官方教程文档:文档

6.参考

https://github.com/sladesha/Reflection_Summary
关于AutoML,你想知道的都在这里!
AutoML工具之HyperGBM
Optuna — 超参自动化调整利器
AutoML工具之AutoGluon
AutoML工具之evalML

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存