人工智能

LightAutoML:金融服务的自动机器学习框架

mm

虽然自动机器学习(AutoML)几年前就已经流行起来,但早期的AutoML工作可以追溯到90年代初,当时科学家们发表了关于超参数优化的第一篇论文。2014年,ICML组织了第一次AutoML工作坊,AutoML才获得了机器学习开发者的关注。多年来,AutoML的一个主要焦点是超参数搜索问题,即模型实现了一系列优化方法,以确定特定机器学习模型在大型超参数空间中的最佳性能超参数。AutoML模型常用的另一种方法是估计特定超参数是给定机器学习模型的最佳超参数的概率。模型通过实现贝叶斯方法来实现这一点,传统上使用来自以前估计模型的历史数据和其他数据集。除了超参数优化之外,其他方法尝试从一组建模替代方案中选择最佳模型。

在这篇文章中,我们将介绍LightAutoML,一个主要为欧洲金融领域公司及其生态系统开发的自动机器学习系统。LightAutoML框架在各个应用中得到部署,结果表明其性能优于现有自动机器学习框架,甚至在构建高质量机器学习模型时也能达到数据科学家的水平。LightAutoML框架试图做出以下贡献。首先,LightAutoML框架主要为大型欧洲金融和银行机构的生态系统开发。由于其框架和架构,LightAutoML框架能够在几个开源基准和生态系统应用中超越现有的自动机器学习框架。LightAutoML框架的性能也与数据科学家手动调优的模型进行了比较,结果表明LightAutoML框架具有更强的性能。

本文旨在深入介绍LightAutoML框架,我们将探讨其机制、方法论、架构以及与现有框架的比较。让我们开始吧。

LightAutoML:金融服务的自动机器学习框架

尽管研究人员最初在90年代初开始研究自动机器学习,但自动机器学习在过去几年中获得了大量关注,一些著名的工业解决方案实现了自动构建机器学习模型,例如Amazon的AutoGluon、DarwinAI、H20.ai、IBM Watson AI、Microsoft AzureML等。这些框架中的大多数实现了一般目的的自动机器学习解决方案,可以在不同类别的应用中自动构建机器学习模型,包括金融服务、医疗保健、教育等。这种水平的通用方法背后的关键假设是,开发自动模型的过程在所有应用中都是相同的。然而,LightAutoML框架实现了一种垂直方法,开发了一种不通用的自动机器学习解决方案,而是满足个别应用的需求,在本例中为大型金融机构。LightAutoML框架是一种垂直的自动机器学习解决方案,专注于复杂生态系统及其特征的需求。首先,LightAutoML框架提供快速和近似最优的超参数搜索。虽然模型不直接优化这些超参数,但它能够提供令人满意的结果。此外,模型在速度和超参数优化之间保持动态平衡,以确保模型在小问题上是最优的,在大问题上也是足够快的。第二,LightAutoML框架故意限制了机器学习模型的范围,只包括两种类型:线性模型和GBM(梯度提升决策树),而不是实现大量不同的算法。限制机器学习模型范围的主要原因是为了在不影响给定问题和数据的性能的情况下加快LightAutoML框架的执行时间。第三,LightAutoML框架提出了一种选择不同特征的预处理方案的独特方法,基于某些选择规则和元统计。LightAutoML框架在广泛的开源数据源和应用中进行了评估。

LightAutoML:方法论和架构

LightAutoML框架由称为预设的模块组成,用于典型机器学习任务的端到端模型开发。目前,LightAutoML框架支持预设模块。首先,TabularAutoML预设专注于解决定义在表格数据集上的经典机器学习问题。第二,White-Box预设实现了简单的可解释算法,例如逻辑回归,而不是WoE(权重证据)编码和离散特征,以解决表格数据上的二元分类任务。实现简单的可解释算法是一种常见的做法,用于建模应用的概率,这是由于不同因素施加的可解释性约束。第三,NLP预设能够将表格数据与NLP(自然语言处理)工具结合,包括预训练的深度学习模型和特定特征提取器。最后,CV预设使用一些基本工具处理图像数据。需要注意的是,虽然LightAutoML模型支持所有四个预设,但框架仅在生产级系统中使用TabularAutoML预设。

LightAutoML框架的典型流水线包含在以下图像中。

每个流水线包含三个组件。首先,读取器是一个接收任务类型和原始数据作为输入的对象,执行重要的元数据计算,清理初始数据,并确定在拟合不同模型之前要执行的数据操作。接下来,LightAutoML内部数据集包含CV迭代器和元数据,实现数据集的验证方案。第三个组件是多个机器学习流水线,堆叠和/或混合以获得单个预测。LightAutoML框架中的机器学习流水线是一种多个机器学习模型,共享单个数据验证和预处理方案。预处理步骤可能包含最多两个特征选择步骤,一个特征工程步骤,或者如果不需要预处理,则为空。机器学习流水线可以独立地在相同的数据集上计算,然后使用平均值(或加权平均值)混合在一起。或者,可以使用堆叠集成方案来构建多级集成架构。

LightAutoML 表格预设

在LightAutoML框架中,TabularAutoML是默认流水线,用于解决表格数据上的三种任务:二元分类、回归和多类分类,适用于广泛的性能指标和损失函数。一个包含四列的表格:分类特征、数值特征、时间戳和单个目标列,带有类标签或连续值,作为输入提供给TabularAutoML组件。LightAutoML框架设计的主要目标之一是设计一个快速假设测试工具,这也是为什么框架避免使用蛮力方法进行流水线优化,而仅关注在广泛数据集上有效的效率技术和模型的原因。

自动类型和数据预处理

为了以不同的方式处理不同类型的特征,模型需要知道每个特征的类型。在只有一个任务和小型数据集的情况下,用户可以手动指定每个特征的类型。然而,在包含数百个任务和包含数千个特征的数据集的情况下,手动指定每个特征的类型不再是一个可行的选择。对于TabularAutoML预设,LightAutoML框架需要将特征映射到三类:数值、类别和日期时间。一个简单而明显的解决方案是使用列数组数据类型作为实际特征类型,即将float/int列映射到数值特征,时间戳或可以解析为时间戳的字符串映射到日期时间,其他列映射到类别。然而,这种映射并不是最好的,因为数值数据类型在类别列中经常出现。

验证方案

验证方案是自动机器学习框架的一个重要组件,因为行业数据会随时间变化,这使得在开发模型时独立同分布(IID)假设变得不相关。自动机器学习模型使用验证方案来估计其性能、搜索超参数和生成超出折叠的预测。TabularAutoML流水线实现了三种验证方案:

  • KFold交叉验证:KFold交叉验证是TabularAutoML流水线的默认验证方案,包括用于行为模型的GroupKFold和用于分类任务的分层KFold。
  • Holdout验证:如果指定了holdout集,则实现Holdout验证方案。
  • 自定义验证方案:用户可以根据自己的需求创建自定义验证方案。自定义验证方案包括交叉验证和时间序列分割方案。

特征选择

虽然特征选择是开发模型的重要方面,因为它可以减少推理和模型实现的成本,但大多数自动机器学习解决方案并没有太关注这个问题。相反,TabularAutoML流水线实现了三种特征选择策略:无选择、重要性截断选择和重要性基于的向前选择。在这三种策略中,重要性截断选择是默认策略。另外,有两种主要方法来估计特征重要性:基于分割的树重要性和GBM模型(梯度提升决策树)的置换重要性。重要性截断选择的主要目标是拒绝对模型无益的特征,使模型能够在不影响性能的情况下减少特征数量,这可能会加快模型推理和训练。

上图比较了不同选择策略在二元银行数据集上的表现。

超参数调优

TabularAutoML流水线根据调优的内容实现了不同的超参数调优方法。

  • 早期停止超参数调优选择所有模型在训练阶段的迭代次数。
  • 专家系统超参数调优是一种简单的方法,用于为模型设置满意的超参数。它防止最终模型的评分与硬调优模型相比大幅下降。
  • 树结构Parzen估计(TPE)用于GBM(梯度提升决策树)模型。TPE是一种混合调优策略,是LightAutoML流水线中的默认选择。对于每个GBM框架,LightAutoML框架训练两个模型:第一个模型获得专家超参数,第二个模型经过微调以适应时间预算。
  • 网格搜索超参数调优在TabularAutoML流水线中实现,以微调线性模型的正则化参数,伴随早期停止和温热启动。

模型通过最大化指标函数(由用户定义或为解决任务的默认值)来调优所有参数。

LightAutoML:实验和性能

为了评估性能,LightAutoML框架中的TabularAutoML预设与现有的开源解决方案在各种任务中进行了比较,证实了LightAutoML框架的优异性能。首先,比较是在OpenML基准上进行的,评估了35个二元和多类分类任务数据集。以下表格总结了LightAutoML框架与现有自动机器学习系统的比较。

如图所示,LightAutoML框架在20个数据集上超越了所有其他自动机器学习系统。以下表格包含详细的比较,表明LightAutoML在不同任务类别上具有不同的性能。对于二元分类任务,LightAutoML的性能略逊,而对于具有大量数据的任务,LightAutoML框架则具有优异的性能。

以下表格比较了LightAutoML框架与自动机器学习系统在15个银行数据集上的性能,包含各种二元分类任务。如图所示,LightAutoML在12个数据集上超越了所有自动机器学习解决方案,胜率为80%。

结论

在本文中,我们讨论了LightAutoML,一个主要为欧洲金融领域公司及其生态系统开发的自动机器学习系统。LightAutoML框架在各个应用中得到部署,结果表明其性能优于现有的自动机器学习框架,甚至在构建高质量机器学习模型时也能达到数据科学家的水平。LightAutoML框架试图做出以下贡献。首先,LightAutoML框架主要为大型欧洲金融和银行机构的生态系统开发。由于其框架和架构,LightAutoML框架能够在几个开源基准和生态系统应用中超越现有的自动机器学习框架。LightAutoML框架的性能也与数据科学家手动调优的模型进行了比较,结果表明LightAutoML框架具有更强的性能。LightAutoML框架能够在几个开源基准和生态系统应用中超越现有的自动机器学习框架,其性能也优于数据科学家手动调优的模型,表明LightAutoML框架是一种高性能的自动机器学习解决方案,能够满足金融服务领域的需求。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。