Salesforce开源用于结构化数据的机器学习库TransmogrifAI
2018年08月17日 由 浅浅 发表
150205
0
机器学习模型可以识别数百,数千甚至数百万数据点之间的关系,但很难进行建构。数据科学家花费数周和数月不仅预处理要训练模型的数据,而且从该数据中提取有用的特征(即数据类型),缩小算法范围,最终构建(或尝试构建)系统需要不仅在实验室的范围内,而且在现实世界中表现良好。
Salesforce的新工具包旨在减轻这种负担。今天在GitHub上,这家云计算公司发布了 TransmogrifAI,这是一种用于结构化数据的自动化机器学习库,即在电子表格和数据库中找到的可搜索,整齐分类的数据,只需三行代码执行特征工程,特征选择和模型训练。
它是用Scala编写的,构建在Apache Spark(一些为Salesforce AI平台Einstein提供支持的技术)之上,并且是为了可扩展性而设计的。为此,它可以处理从几十到几百万行的数据集,并在Spark或现成的笔记本电脑上运行在集群机器上。
Salesforce Einstein产品管理总监Mayukh Bhaowal表示,TransmogrifAI实质上将原始数据集转换为自定义模型。这是Salesforce内部机器学习库的发展,它允许团队在短短几个小时内为企业客户部署自定义模型。
“这是我们的数据科学家在建造Einstein时所学到的知识,”Bhaowal解释道。这些课程中最主要的是:定制模型击败了全球性的预训练模型。“如果你使用相同的模型为财富500强企业和流行商店做出预测,你将很难找到合适的模式。”
TransmogrifAI提供三步工作流程。
首先是特征推断和自动特征选择。它是模型训练的关键部分,因为选择错误的特征可能会导致过于乐观,不准确或有偏见的模型。
使用TransmogrifAI,用户为其数据指定模式,库使用该模式自动提取功能(例如电话号码和邮政编码)。它还执行统计测试,自动编目具有低基数的文本字段,并抛弃具有很少甚至没有预测能力的特征,或者那些可能导致事后偏见(倾向于高估)的特征事件的可预测性和其他不需要的信号。
在一个演示中,Bhaowal展示了TransmogrifAI如何快速分离职位,电子邮件和地址等功能,并弄清楚它们是否具有预测性。在这种情况下那些不是被自动丢弃的。这是对维度减少的完美选择,他指的是减少模型训练的特性数量的过程。
TransmogrifAI流程的下一步是自动化功能工程。利用在第一步中提取的特征类型,库将结构化数据转换为矢量,例如,自动获取电话号码列表并拆分国家代码以查看电话号码是否有效。
一旦TransmogrifAI从数据集中提取了特征,就可以开始自动模型训练了。在这个阶段,它在数据上并行运行一系列机器学习算法,自动选择性能最佳的模型,并采样和重新校准预测以避免不平衡的数据。
TransmogrifAI训练核心是Salesforce Einstein数据科学高级主管Shubha Nabar称之为“模型可解释性”,关于影响模型预测的因素的透明度。“从信任和数据隐私的角度来看,生成的模型不是'黑匣子'很重要,TransmogrifAI显示了每个特征的全局效应。”
而那只是冰山一角。
TransmogrifAI拥有的工具可以更容易地调整超参数变量,如采样率和滤波器,影响和优化机器学习模型。在支持它的集成开发环境中,TransmogrifAI突出显示拼写错误和语法错误,建议代码完成以及具有可扩展层次结构的“类型”功能,允许用户区分细微差别和原始功能。
Bhaowal表示,“TransmogrifAI对我们来说是一个转型,减少训练高性能模型的平均周转时间到几个小时,使我们的数据科学家能够以最少的手动调整生产数千个模型,只有通过开放式的思想和代码交流才能实现机器学习民主化的目标,社区的不同观点将使技术更好地适用于每个人。”
TransmogrifAI:github.com/salesforce/TransmogrifAI