AutoML:机器学习的下一波浪潮 AI火线
作者头像
  • 今日科技微观
  • 2019-11-03 11:36:57 5

自动机器学习(AutoML)

自动机器学习(AutoML)是一种自动化流程,旨在实现从数据摄取到模型预测的整个机器学习过程。通过AutoML,即使是不具备机器学习专业知识的人也能轻松地建立有效的模型。本文介绍了几种流行的AutoML框架,并探讨了它们如何通过自动化部分或全部机器学习管道来简化任务。

Mercari是一款在日本非常流行的购物应用,它一直在使用谷歌的AutoML Vision来对上传的照片进行分类。据Mercari称,他们自己训练的模型在品牌识别上达到了75%的精度,而AutoML Vision的高级模型则凭借5万张训练图片达到了91.3%的精度,提高了约16%。鉴于这一显著成果,Mercari已将AutoML集成到其系统中。

AutoML通过使不同背景的人都能开发出机器学习模型,从而改变了人们对基于机器学习解决方案的看法,Mercari的应用实例就是最好的证明。

为什么需要AutoML

近年来,机器学习在各个领域都取得了重大进展。金融服务、医疗保健、零售业、交通等领域都在不同程度上运用了机器学习系统,并取得了良好的效果。然而,尽管机器学习系统的成功案例越来越多,许多公司在部署这些模型时仍然面临困难。首要问题在于需要建立一支由经验丰富的数据科学家组成的团队,而这需要大量的资金投入。AutoML为解决这一问题提供了可能,它尽可能地自动化了机器学习管道,从而降低了人力需求。

AutoML的好处

AutoML的主要优势可以概括为以下几点: - 提高工作效率:通过自动执行重复性任务,数据科学家可以专注于更关键的问题。 - 减少错误:自动化流程有助于避免人工操作中可能出现的错误。 - 推动机器学习的普及:AutoML使得更多人能够利用机器学习技术,促进了技术的民主化。

主要的AutoML框架

1. MLBox

MLBox是一个强大的自动化机器学习Python库,它提供了快速的数据预处理、特征选择、超参数优化等功能。它已经在Kaggle竞赛中得到了验证,并且表现优异。

管道

MLBox包含三个主要组件:数据预处理、模型优化和预测。

安装

目前,MLBox仅兼容Linux系统,未来会支持Windows和MacOS。

bash sudo apt-get install build-essential pip install cmake pip install mlbox

示例

在房价回归问题上使用MLBox的自动机器学习功能。

2. Auto-Sklearn

Auto-Sklearn是一个基于Scikit-learn构建的自动化机器学习软件包。它能够自动选择算法并调整超参数,还支持特征工程方法,如独热编码、数字特征标准化等。

管道

Auto-Sklearn通过贝叶斯优化来自动选择和优化模型。它结合了元学习和自动集成技术,以进一步提高性能。

安装

Auto-Sklearn目前仅适用于Linux系统。

bash curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip install pip install auto-sklearn

示例

使用Auto-Sklearn拟合简单的回归模型。

3. TPOT

TPOT是一个基于遗传算法的Python自动化机器学习工具,它扩展了Scikit-learn框架,能够探索数千种可能的管道并找到最佳的模型。

管道

TPOT通过遗传算法寻找最优的机器学习管道,但无法处理自然语言输入和分类字符串。

安装

bash pip install tpot

示例

使用TPOT进行MNIST数字分类任务。

4. H2O

H2O是一个完全开源的分布式内存机器学习平台,支持R和Python,提供广泛的统计和机器学习算法。H2O包括一个自动机器学习模块,能够自动化特征工程、模型验证、模型选择和部署。

安装

请访问H2O的官方文档下载并安装。

示例

使用H2OAutoML类进行模型训练和评估。

5. AutoKeras

AutoKeras是一个基于Keras的开源软件库,用于自动化搜索深度学习模型的架构和超参数。它设计遵循Scikit-Learn API,易于使用。

安装

bash pip install autokeras

示例

在MNIST数据集上使用AutoKeras进行训练和评估。

6. Cloud AutoML

Cloud AutoML是Google推出的一系列机器学习产品,利用Google先进的迁移学习和神经架构搜索技术,帮助开发者训练出符合特定业务需求的高质量模型。它提供了一个图形用户界面,方便用户训练、评估、改进和部署模型。

7. TransmogrifAI

TransmogrifAI是Salesforce开发的一个开源自动化机器学习库,主要用于结构化数据的处理。它运行在Apache Spark之上,特别适合快速训练高质量模型,且只需要少量的手动调节。

安装

先决条件是安装Java和Spark。

bash git clone https://github.com/salesforce/TransmogrifAI.git cd TransmogrifAI && ./gradlew compileTestScala installDist

示例

使用TransmogrifAI预测泰坦尼克号的幸存者。

AutoML的未来

AutoML的核心目标是自动化重复的任务,如管道创建和超参数调整,从而让数据科学家能够更加专注于业务问题。随着AutoML的广泛应用和技术的进步,它将成为机器学习领域的重要组成部分,推动机器学习技术的普及和发展。

    本文来源:图灵汇
责任编辑: : 今日科技微观
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
一波火线浪潮机器AutoML学习
    下一篇