什么是自动化机器学习 (AutoML)?
自动化机器学习 (AutoML) 是使用自动化将机器学习 (ML) 模型应用于实际问题的过程。更具体地说,它可以自动选择、组合和参数化 ML 模型。自动化机器学习过程使其更加用户友好,并且通常比手工编码的算法提供更快、更准确的输出。
AutoML 软件平台使机器学习更加用户友好,并让没有专门数据科学家或 ML 专家的组织能够使用机器学习。这些平台可以从第三方供应商处获得,通过 GitHub 等开源存储库访问或内部构建。
AutoML 流程如何工作?
AutoML 通常是一个平台或开源库,可简化机器学习过程中的每个步骤,从处理原始数据集到部署实用的 ML 模型。在传统的机器学习中,模型是手工开发的,并且必须单独处理流程中的每个步骤。
AutoML 会自动定位并使用针对给定任务的最佳机器学习算法类型。它通过两个概念来实现这一点:
- 神经架构搜索。这可以自动化神经网络的设计。它可以帮助 AutoML 模型发现需要它们的问题的新架构。
- 迁移学习。预先训练的模型将它们学到的知识应用于新数据集。迁移学习可帮助 AutoML 将现有架构应用于需要它的新问题。
然后,具有最少机器学习和深度学习知识的用户可以通过相对简单的编码语言(例如 Python)与模型交互。
本文是
的一部分
什么是机器学习以及它是如何工作的?深入指南
- 其中还包括:
- 解释不同类型的机器学习
- 如何通过 7 个步骤构建机器学习模型
- CNN 与 RNN:它们有何不同?
更具体地说,以下是 AutoML 可以自动化的机器学习过程中的一些步骤,按它们发生的顺序排列:
- 原始数据处理。
- 特征工程和特征选择。
- 模型选择。
- 超参数优化和参数优化。
- 考虑业务和技术约束的部署。
- 评估指标选择。
- 监控和问题检查。
- 结果分析。
AutoML 为何重要?
AutoML 很重要,因为它代表了机器学习和人工智能 (AI) 的一个里程碑。AI 和 ML 一直受到“黑箱”批评——这意味着机器学习算法很难进行逆向工程。虽然它们提高了效率和处理能力以产生结果,但很难跟踪算法如何提供该输出。因此,这也使得为给定问题选择正确的模型变得具有挑战性,因为如果模型是黑箱,则很难预测结果。
AutoML 通过使机器学习更易于访问,帮助减少机器学习的黑箱化。此过程自动化了将算法应用于实际场景的 ML 过程的部分。执行此任务的人需要了解算法的内部逻辑以及它与实际场景的关系。然而,AutoML 会学习并做出选择,而这些选择对于人类来说太耗时或资源密集,无法大规模高效地完成。
AutoML 已经通过元学习实现了端到端机器学习过程(或机器学习管道)的微调。
从更广泛的角度来看,AutoML 也代表着向通用人工智能迈出了一步。
AutoML 的优缺点
AutoML 的主要优点如下:
- 效率。它加快并简化了机器学习过程,并减少了 ML 模型的训练时间。
- 节省成本。拥有更快、更高效的机器学习流程意味着公司可以通过投入更少的预算来维护该流程来节省资金。
- 可访问性。拥有更简单的流程可以让公司节省培训员工或聘请专家的费用。这也使机器学习成为更广泛公司的可行选择。
- 性能。AutoML 算法往往比手工编码的模型更有效率。
AutoML 的主要挑战是人们倾向于将其视为人类知识的替代品。
与大多数自动化一样,AutoML 旨在高效、准确、精确地执行死记硬背的任务,让员工可以专注于更复杂或新颖的任务。AutoML 自动化的事情(例如监控、分析和问题检测)都是死记硬背的任务,如果自动化,速度会更快。人类仍然应该参与评估和监督模型,但不再需要一步一步参与 ML 过程。AutoML 应该帮助数据科学家和其他员工,而不是取代他们。
另一个挑战是 AutoML 是一个相对较新的领域,一些最受欢迎的工具尚未完全开发。
使用 AutoML 的不同方式
AutoML 与传统机器学习有共同的用例。其中包括:
- 金融领域的欺诈检测,它可以提高欺诈检测模型的准确性和精确度。
- 医疗保健领域的研究和开发,它可以分析大型数据集并得出见解。
- 图像识别,可用于面部识别。
- 银行、金融和保险领域的风险评估和管理。
- 网络安全,它可以用于风险评估、监控和测试。
- 客户支持,它可以用于聊天机器人中的情绪分析以及提高客户支持团队的效率。
- 恶意软件和垃圾邮件,它可以用于生成自适应网络威胁。
- 农业,它可以用于加快质量测试过程。
- 营销,它可以用于预测分析,提高参与率并使社交媒体上的行为营销活动更加高效。
- 娱乐,可用作内容选择引擎。
- 零售,可用它来提高利润,减少浪费和库存结转。
AutoML 工具功能
以下是一些流行的 AutoML 平台:
- Google AutoML,Google 专有的基于云的自动化机器学习平台。
- Azure 自动化机器学习,专有的基于云的平台。
- AutoKeras,由德克萨斯 A&M 大学数据实验室开发的开源软件库。
- Auto-sklearn,由 Scikit-learn 发展而来并取代了 Scikit-learn,这是一个开源的、可用于商业的 Python 简单机器学习工具集合。
Auto-sklearn 和 Azure 通常被认为更便宜,因为它们通常比其他两个平台占用更少的资源。它们严重依赖已知的架构和已经见过的数据,这意味着它们不需要整个数据集即可工作。它们使用分类和回归技术来实现这一点。
相比之下,Google AutoML 和 AutoKeras 更擅长创建新模型,但也更耗费资源,因为它们通常需要整个数据集。它们使用循环神经网络、卷积神经网络和长短期记忆。