张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

软件巨头Salesforce带来AutoML杀手TransmogrifAI

论智 2018-08-18 11:32 次阅读

如果说去年“机器换人”的舆论来自车间的机器人手,那今年在全球范围内挥舞起“自动化”大棒的,就成了机器学习。上月,李飞飞发布面向商业公司的机器学习库AutoML,技术门槛之低,让不少工程师担忧不已。一波未平,8月月初,美国德州农工大学开源Auto Keras,同样的功能,但是完全免费。而今天,软件巨头Salesforce也入场了,他们带来的TransmogrifAI,才可能是真正的AutoML“杀手”。

软件巨头Salesforce带来AutoML杀手TransmogrifAI

以下内容来自Salesforce Einstein数据科学高级总监Shubha Nabar:

在过去十年中,尽管机器学习取得了巨大进步,但构建可用的机器学习系统却依然是件难事。三年前,当我们着手把机器学习功能部署到Salesforce平台时,大家才发现,原来构建企业级机器学习系统更加困难。为了解决这个问题,我们开发了TransmogrifAI(发音为trans-mog-ri-phi)——一种用于处理结构化数据的端到端自动化机器学习库,它也是现在Einstein平台优化功能的一个工具。

今天,我们把这个项目分享给开源社区。未来,数据科学家和开发人员可以用它快速大规模地构建机器学习解决方案。

TransmogrifAI GitHub:github.com/salesforce/TransmogrifAI

当数据科学家在为商业产品构建机器学习功能时,他们通常会关注易于理解的样本和数据集。相比之下,企业拥有的数据和样本是多样化的,这种多样性使构建企业级机器学习系统成了一项挑战。在Salesforce,我们的客户可能希望预测一系列结果——从客户流失、销售预测、潜在用户转化,到数字广告点击、网购、报价接受、设备故障和延迟付款等,

对于企业客户来说,他们的数据是保密的、不可共享的,这两点至关重要。这意味着我们必须针对客户,用给定的数据样本构建机器学习模型。同时,构建全局模型绝对没有意义,因为每个企业都独立无二,他们有不同的商业模式,也有各自的经营规模和业务渠道,用机器学习的术语讲,就是有不同的偏差。

为了让机器学习真正为客户服务,我们要做的就是构建和部署上千个用不同数据样本训练得到的个性化机器学习模型!而如果不想聘请大批数据科学家,实现这一目标的唯一方法就是自动化。

TransmogrifAI工作流程

通常情况下,如果要构建性能良好的机器学习模型,它需要的研究量和开发量是相当可观的。数据准备、特征工程、模型训练……这些繁琐过程需要不断迭代,为了得到成熟的模型,数据科学家们可能要耗费数周乃至数月的时间。

TransmogrifAI是一个基于Scala和SparkML构建的库,它能承担这个过程中的部分工作。只需几行代码,数据科学家就可以自动完成数据清理、特征工程和模型选择,然后训练出一个高性能模型,进行进一步探索和迭代。

它封装了机器学习过程的五个主要步骤:

软件巨头Salesforce带来AutoML杀手TransmogrifAI

特征推断(Feature Inference)

数据是所有机器学习管道的第一步。数据科学家先收集所有相关数据,再进行整平操作,添加、聚合不同数据源,从中提取可能有助于预测的原始信号。这之后,提取得到的信号会被放进灵活的数据结构中,也就是DataFrame,方便后续操作。虽然这些数据结构简单且易于操作,但其中还是存在一些错误,可能会对下游造成影响,比如存在类型错误和空值错误。

TransmogrifAI可以帮助解决这类问题。它允许用户为其数据指定类型,自动把原始预测变量和响应信号提取为“特征”。除了原始类型,TransmogrifAI的支持面更丰富、更细化,地理位置、电话号码、邮政编码……凡是数据科学家可能频繁遇到的,它都能进行区分。

事实上,即便用户没有指定,TransmogrifAI也可以自行推断。例如,当它检测到数据中的文本特征其实是分类特征时,它会记录这个错误并进行适当处理。不用等到运行时再报错,数据科学家在编译时就能找出大多数错误。

软件巨头Salesforce带来AutoML杀手TransmogrifAI

自动化特征工程(Transmogrification)

虽然找到正确的类型有助于数据推理和减少对下游的不良影响,但最终所有特征都是要被转换成数字表示的。只有这样,机器学习算法才能寻找并利用其中的规律。这个过程被称为特征工程。

举个例子,我们该怎么把美国的各个州(如CA, NY, TX等)转成数字?一种方法是把每个州映射为1到50之间的数字,因为美国一共有50个州。但这种编码方法的缺点在于没有保留州与州之间地理位置上的关系。那么如果我们计算州中心点到美国中心点的距离,并以此为编码依据呢?这确实可以解决之前提到的问题,但它同样无法反映东西南北位置。

所以特征工程的方法有无数种,但是找出正确的一种十分不容易。

TransmogrifAI可以帮数据科学家自动化这个恼人的过程。它为自己支持的所有特征类型提供了无数种编码技术,能做到不仅把数据转成算法可用的格式,还能优化转换,使机器学习算法更容易从数据中学习。例如,同样是年龄数字特征,它能根据特定问题(时尚行业、金融理财)把它们转成最合适的年龄段。

尽管TransmogrifAI已经具备了上述强大能力,但考虑到特征工程是一场无穷无尽的“博弈”,它也支持用户自定义和扩展默认值。

自动化特征验证(Feature Validation)

特征工程可能导致数据维度出现爆炸性增长,而高维数据往往会让模型出现差错!其中最典型的是模型过拟合,另一个容易被忽视但影响巨大的问题是数据泄露。

假设我们手头有一个包含交易信息的数据集,任务是预测最终的交易金额,而数据集上一个条目叫“已结算交易金额”,这是完成交易后才能统计到的信息。如果我们不慎把这个信息也放进训练集里,模型就会发现它的“可参考性”极强,最后成为一个测试时精度极高,实践时一无所用的废品。

事实上,在Salesforce业务中,这种后见之明的偏见尤其成问题,因为大部分客户的数据很复杂,平时也是自动填充的,这使得数据科学家很容易混淆因果关系。

TransgmogrifAI包含执行自动特征验证的算法,可以删除几乎没有预测能力的特征——随着时间的推移而使用的特征,表现出零方差的特征,或者在训练样本中的分布与预测时的分布存在显着不同的特征。在处理含有偏差的高维数据时,这些算法会用一系列基于特征类型的统计测试,结合特征谱系来检测和排除偏差。

自动化模型选择(Model Selection)

完成所有关于数据预处理的工作后,数据科学家就该把机器学习算法应用于准备好的数据以构建预测模型。如果是手动完成,他们往往需要尝试许多不同的算法,并找到合适的参数设置。这是个耗时的工程。

TransmogrifAI的模型选择器可以在数据上运行多种算法,并比较它们的平均验证错误,从中挑出最佳算法。除此之外,它还能通过适当地对数据进行采样并重新校准预测以匹配真实的先验,自动处理不平衡数据的问题,进一步提高模型性能。

超参数优化(Hyperparameter Optimization)

上述自动化步骤的基础都涉及超参数优化,它几乎无处不在。而就是这么一个耗时久、任务量重、让数据科学家望而生畏的操作,它背后的技术原理却不难,可以直接看成一个高性能模型和一个随机数生成器模型。这个任务,TransmogrifAI可以代劳。、

赋予每个人使用ML技术的权利

总的来看,现在TransmogrifAI在Salesforce内部已经成功把训练模型所需的总时间从几周、几个月缩短到了几个小时。而封装所有这些复杂操作的代码却非常简单,只需短短几行就能搞定:

// 读取交易数据

val dealData = DataReaders.Simple.csvCase[Deal](path = pathToData).readDataset().toDF()

// 提取原始信号,预测特征

val (isClosed, predictors) = FeatureBuilder.fromDataFrame[RealNN](dealData, response = "isClosed")

// 自动化特征工程

val featureVector = predictors.transmogrify()

// 自动化特征验证

val cleanFeatures = survived.sanityCheck(featureVector, removeBadFeatures = true)

// 自动化模型选择

val (pred, raw, prob) = BinaryClassificationModelSelector().setInput(isClosed, cleanFeatures).getOutput()

// 设置工作流程,训练模型

val model = newOpWorkflow().setInputDataset(dealData).setResultFeatures(pred).train()

这意味着TransmogrifAI已经成为一个变革。

在我们眼里,这种自动化水平的工具对开发面向企业的机器学习系统至关重要,因此我们也相信,随着机器学习在各行各业的应用场景不断拓宽,对运营方式产生巨大影响,未来企业对机器学习系统的需求会不断增大,而那时,TransmogrifAI这样的自动化机器学习库可以帮助他们实现目标,实现转变。

原文标题:又一个AutoML库:Salesforce开源TransmogrifAI

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

【5月12】不懂编程没关系,邀请您来学AI

不懂编程没关系,邀请您来学AI活动概述:本活动是现场讲座,由台湾知名AI教育专家、金门创新学院院长、台湾Android技
发表于 05-24 00:00 0次 阅读
【5月12】不懂编程没关系,邀请您来学AI

AI音乐家将在这四个方面掀起革新浪潮

就像在其他行业一样,在音乐领域,AI也在帮助服务自动化,在庞大的数据集中发现模式和洞见,并帮助提高创....
发表于 07-16 14:12 3次 阅读
AI音乐家将在这四个方面掀起革新浪潮

Facebook AI又出新作:性能翻倍,计算成本不增加

Facebook AI又出新作,在神经网络中加入一个结构化存储器层,极大扩充了网络容量和参数数量,性....
的头像 全球人工智能 发表于 07-16 10:56 84次 阅读
Facebook AI又出新作:性能翻倍,计算成本不增加

人工智能破译三千年前的古文字

从未被成功翻译的语言或将成为下一个被翻译对象。
的头像 大数据文摘 发表于 07-16 10:42 70次 阅读
人工智能破译三千年前的古文字

用AI对抗AI——基于视频人脸篡改的检测

Deepfake有救了!
的头像 大数据文摘 发表于 07-16 10:10 67次 阅读
用AI对抗AI——基于视频人脸篡改的检测

如何才能更好地做到人机共融

英国皇家工程院院士、英国帝国理工大学教授杨广中作了主题为《机器人的挑战与机遇》的主旨报告,为大家讲解....
的头像 机器人峰会 发表于 07-16 10:07 49次 阅读
如何才能更好地做到人机共融

如果你将踏上机器学习工程师就可能遇到 Daniel Bourke 相似经历

如果未来的你将踏上机器学习工程师这条道路,那你很大可能将遇到和机器学习工程师 Daniel Bour....
的头像 新机器视觉 发表于 07-16 09:57 69次 阅读
如果你将踏上机器学习工程师就可能遇到 Daniel Bourke 相似经历

人工智能、机器学习正在重新定义网络安全

不说废话,数据见!
的头像 人工智能观察 发表于 07-16 09:55 177次 阅读
人工智能、机器学习正在重新定义网络安全

人民日报社与中国联通在建设5G新媒体平台方面正式开展合作

根据战略合作协议,双方将以建设5G新媒体平台为目标,充分运用5G、4K超高清视频,虚拟现实(VR),....
发表于 07-16 09:46 54次 阅读
人民日报社与中国联通在建设5G新媒体平台方面正式开展合作

干货 | 机器学习加持,基于FPGA的高性能视觉应用方案设计

介绍 ML 处理的要求,以及为何 FPGA 能解决许多性能问题。
的头像 电路设计技能 发表于 07-16 09:28 66次 阅读
干货 | 机器学习加持,基于FPGA的高性能视觉应用方案设计

人工智能和机器学习有何不同

机器学习已经与统计学,数据挖掘和预测分析联系在一起,有些人认为它应该被归类为与人工智能分开的领域。
发表于 07-16 09:13 16次 阅读
人工智能和机器学习有何不同

机器学习与深度学习之间有什么异同

AI(人工智能)是计算机科学的一个子领域。
发表于 07-16 09:08 19次 阅读
机器学习与深度学习之间有什么异同

热点 | 工信部:加快5G、AI等新型基础设施建设

7月9日第18届中国互联网大会召开,工业和信息化部副部长陈肇雄出席大会并致辞。
的头像 高工机器人 发表于 07-16 08:52 73次 阅读
热点 | 工信部:加快5G、AI等新型基础设施建设

人工智能引领现代农业的未来

机器学习可以揭示最佳的生长条件,以便尽可能的展现口感和其他特征。
发表于 07-16 08:4