TransmogrifAI(发音为 trăns-mŏgrə-fī)是一个用 Scala 编写的 AutoML 库,它运行在 Spark 之上。它的开发重点是通过机器学习自动化加速机器学习开发人员的工作效率,以及实施编译时类型安全、模块化和重用的 API。通过自动化,它可以实现接近手动调整模型的精度,并且几乎可以减少 100 倍的时间。
1.TransmogrifAI背景
在2016年,Salesforce推出了爱因斯坦人工智能平台。官网介绍道,因为拥有技术先进的机器学习、深度学习、预测分析、自然语言处理和智能数据挖掘能力,爱因斯坦将会为每一个客户自动定制它的模型,它会学习,会自我调整,会因为每一次互动和更多的数据变得更聪明。最重要的是,爱因斯坦的智能将会被嵌入到商业业务的范围内,自动挖掘相关的商业洞察,预测客户未来的行为,积极推荐最优的下一步行动,甚至自动执行任务。而TransmogrifAI则是爱因斯坦人工智能平台背后的关键软件。
2018年,Salesforce开源了TransmogrifAI,可以让任何人在自己的数据中心使用它。TransmogrifAI可以帮助企业自己构建机器学习系统,这有利于降低机器学习门槛,让企业更好地利用机器学习促进业务发展。
“在Salesforce,我们的客户可能希望预测一系列结果——从客户流失、销售预测、潜在用户转化,到数字广告点击、网购、报价接受、设备故障和延迟付款等。” - 官网
2.TransmogrifAI简介
2.1 TransmogrifAI优势:
- 在几个小时而不是几个月内构建生产就绪机器学习应用
- 建立机器学习模型而无需获得博士学位
- 在机器学习中构建模块化、可重用与强类型的机器学习工作流程
- 基于最新版的Spark构建,利于使用和扩展
2.2 TransmogrifAI结构
TransmogrifAI是一个基于Scala和SparkML构建的库,它封装了机器学习过程的五个主要步骤,包括特征推断(Feature Inference)、自动化特征工程(Transmogrification)、自动化特征验证(Feature Validation)、自动化模型选择(Model Selection)、超参数优化(Hyperparameter Optimization)。
1. 特征推断:
TransmogrifAI允许用户为其数据指定类型,自动把原始预测变量和响应信号提取为“特征”,比如地理位置、电话号码、邮政编码……
2. 自动化特征工程:
虽然找到正确的类型有助于数据推理和减少对下游的不良影响,但最终所有特征都是要被转换成数字表示的。只有这样,机器学习算法才能寻找并利用其中的规律。这个过程被称为特征工程。
3. 自动化特征验证:
TransgmogrifAI包含执行自动特征验证的算法,可以删除几乎没有预测能力的特征——随着时间的推移而使用的特征,表现出零方差的特征,或者在训练样本中的分布与预测时的分布存在显着不同的特征。
4. 自动化模型选择:
TransmogrifAI的模型选择器可以在数据上运行多种算法,并比较它们的平均验证错误,从中挑出最佳算法。除此之外,它还能通过适当地对数据进行采样并重新校准预测以匹配真实的先验,自动处理不平衡数据的问题,进一步提高模型性能。
5. 超参数优化:
上述自动化步骤的基础都涉及超参数优化,它几乎无处不在。
目前,TransmogrifAI在Salesforce内部已经成功把训练模型所需的总时间从几周、几个月缩短到了几个小时。而封装所有这些复杂操作的代码却非常简单,只需短短几行就能搞定。