本节我们将依次介绍实现自动化特征工程过程中可能会用到的系统和框架。它们的共同点是都是基于某一有效算法构建起来的,用户在使用时只需将数据导入,数据便会依据这些系统/框架本身设定的原理自动进行特征转换、特征扩充或降维等操作。当然,根据这些系统和框架与系统等的设计原理不同,它们也具有其各自的优缺点,表4-11是一个对常用的6种系统/框架的简单对比表。
表4-11 框架对照表
如果你对这些框架没有概念,不用太担心。本节主要是为你介绍目前常用的自动化特征工程框架,当你在自己想要尝试做自动特征时,只需对照表4-11,将你手上数据集的特点与上述框架适合的场景对应起来,再根据下文的详细介绍进行操作就可以了。此外,自动化特征工程的进行甚至比你想象的更加轻松,本节的最后我们还介绍了3种目前比较高效的自动化特征处理平台,在这些平台上即使是没有任何机器学习或深度学习基础的读者也可以进行简便操作。
1.Data Science Machine系统
(1)原理介绍
Data Science Machine系统,简称为DSM,是一种端到端的学习系统,可以从关系型数据中自主生成完整模型进行预测。该系统主要在两个方面进行自动化从而避免人工干预:特征工程以及机器学习方法的选择和调整。这套系统依赖于DFS算法,该算法能够通过提取关系型或用户行为的数据特征,构建出大量新的丰富特征空间的特征。
在完成前面特征工程步骤后,DSM系统通过一种叫Deep Mining(深度挖掘)的方法,使得系统构建出一种通用的机器学习管道,包括数据降维、特征选择、聚类和分类设计等。最后,通过高斯copula过程完成参数的调整和优化。
DSM是第一个从多个表的数据库中自动化特征工程的系统。这种特征工程方法基于这样的假设:对于给定的关系数据库,数据科学家通常通过以下方式搜索特征:
·生成SQL查询来收集训练集中每个示例的数据。
·将数据转换为特征。DSM通过创建实体图并执行自动SQL查询生成来将给定的两个步骤自动执行,从而沿着实体图的不同路径连接表。它使用一组预定义的简单聚合函数将收集的结果转换为特征。
(2)不足
DSM框架的一个缺点是它不支持非结构化数据的特征学习,例如集合、序列、系列、文本等。由DSM提取的特征是简单的基本统计数据,这些统计数据独立于目标变量和其他示例对每个训练示例进行聚合。在许多情况下,数据科学家需要一个框架,在这个框架中,他们可以从整个收集到的数据和目标变量中进行特征学习。此外,对于每种类型的非结构化数据,这些特征不仅仅是简单的统计数据。在大多数情况下,它们涉及数据中的重要结构和模式。从结构化/非结构化数据中搜索这些模式是数据科学家的关键工作。
2.OneBM系统
One Button Machine系统,简称OneBM,是一种自动化发现关系型数据库中特征的系统,旨在解决上述问题和难题。通过直接处理数据库中的多个原始表,按照关系图上的不同路径递增地连接表,自动识别联合结果的数据类型,相较于DSM系统,OneBM的优势在于能够处理结构化和非结构化数据,包括简单数据类型(数值或类别)和复杂数据类型(数字集、类别集、序列、时间序列和文本),并对给定类型应用相应的预定义特征工程技术。为此,可以通过向OneBM的特征提取器模块的接口插入新的特征工程技术,以在特定域中提取所需的特征类型。OneBM可支持数据科学家在结构化和非结构化数据中自动化地使用目前最流行的特征工程技术。
3.AutoLearn框架
一个基于特征对之间回归的学习模型,提供了一种新的特征生成方法,用来获取潜在数据特征对中导致高度识别信息的显著变化。通过区分各类特征之间是如何相互影响的,来找到线性或非线性的特征关系。并利用这些新的特征来预测其他特征的值,记录这些预测值,提高预测性能。
在Autolearn模型中,我们利用每个特征通过应用回归算法来对其他特征值,包括预测得到的特征值(增加每个记录中的信息量)进行预测。Autolearn模型主要包括以下4个步骤:
1)预处理:使用基于信息增益的预处理方式。
2)挖掘相关特征:特征之间的相关性或关联是使用距离相关性确定的,是基于傅立叶变换进行计算的。该度量可用于确定任意维度的两个随机向量之间的依赖性。
3)特征生成:回归是估计自变量和因变量之间关系的基本统计过程。使用正则化回归算法来寻找它们之间的联系,来进行特征构造。正则化回归模型提高了泛化能力,尤其是当特征对高度相关的情况下。
4)特征选择:由特征生成步骤生成的所有新构造的特征不是一样重要。为了选择性能最佳的特征,使用两步特征选择过程,该过程采用基于稳定性的特征选择,然后基于信息增益进行最终修剪。基于稳定性的特征选择在分类的背景下起着重要作用:a)它通过消除模型中不相关的特征来提高分类准确性;b)防止过拟合;c)通过识别最有效地区分类的特征集来促进更好的分类。
4.ExploreKit框架
(1)基本原理
ExploreKit是一种用于自动特征生成的框架。ExploreKit通过组合原始特征中的信息生成大量候选特征,目的是提高预测性能。为了克服特征空间中指数增长的问题,ExploreKit通过模拟候选特征和数据集之间的相互作用来预测新的候选特征的重要性。与现有的特征选择解决方案相比,这种方法可以有效识别新特征并产生更好的结果。
(2)优势
ExploreKit具有以下优势:
·自动通过结构化操作和特征评估完成新的候选特征的创建。
·提供一种新方法,可以有效地评估大量产生的候选特征,并基于机器学习方法来预测所给特征的有效性和实用性。
·通过已有经验证明了该方法用于大型数据集和多分类器的显著优点,会减少大约20%的误差。
使用机器学习来预测候选特征的性能,主要思想是基于原始特征的基础上生成新的特征,特征生成是一个迭代的过程,包括3个阶段:候选特征生成、候选特征排序和候选特征评估选择。在候选特征生成阶段,应用多个操作生成大量候选特征,为每个特征根据其重要度分配分数,并产生一个排序列表;使用基于机器学习的候选特征排序方法,并使用原特征来表示数据集和候选特征,然后训练一个特征排序分类器;在候选特征评估和选择阶段,使用贪心搜索来评估排序候选特征。
5.Cognito系统
(1)基本原理
Cognito系统是另一种自动化特征工程系统。它递归地在表的列上应用一组预定义的数学转换,以从原始表中获取新特性。随着获取步骤增多,特征的数量也呈指数级增加。因此需要一种有效的特征选择策略用于删除冗余特征。因为Cognito不支持具有多表的关系型数据库,为了使用Cognito,数据科学家需要从多个表的原始数据中获取一个表作为输入。
Cognito系统可以在给定的数据集上执行自动化特征工程,主要用于监督学习。该系统提供了一系列基于贪婪的分层启发式搜索的变换。此外,可以允许用户指定域或数据的选择,以确定探索的优先级。Cognito可以处理大型数据集,并与最先进的模型选择策略进行很好地集成。
(2)操作步骤
该方法可以概括为:
·构建一个可扩展的框架;
·将特征工程问题表述为对转换树的搜索,并开发增量搜索策略,以便有效地探索特征工程可用的转换集及其组合;
·与利用数据抽样和性能上限的增量模型搜索策略相结合,以便迅速估计模型及其参数的最佳选择,即使对于大数据也是如此;
·通过从开源和商业平台(例如R、Weka、sklearn、Spark MLlib)管理数据转换和建模算法,建立一个数据转换和建模算法库。
6.LFE框架
(1)基本原理
Learning Feature Engineering框架,简称为LFE,解决的是分类任务中自动化特征工程的部分。它主要基于过去特征工程的经验,学习对数值特征应用变换的有效性。当给定一个新的数据集时,LFE从原始数据中学习特征、类的分布形式和转换模式,来执行自动化特征工程,无须基于模型评估或精确的特征扩建与提取。同时通过训练神经网络,旨在预测这些变换方法对于分类性能产生正向影响的程度。使用QSA(Quantile Sketch Array)方法,缩减特征的大小和数量,来保留基本特征。
(2)QSA
QSA是一种非参数表示方法,允许描述近似概率分布函数的值。LFE的核心是一组多层感知器(Multi-Layer Perceptron,MLP)分类器,每一个分类器都对应一个转换形式,通过对MLP的训练,从而实现自动化特征工程。
图4-12所示的就是一种QSA的特征表示方法,注意到这个表示方法有若干种行为方式。例如,对于根据类标签完全分离的特征值,不管特征值比例如何,表示结果都非常相似。在上述例子中,所有特征值已经分离,因此无需任何特征转换。通常,基于先验观察分类器的性能来调整QSA的相关参数(块的数量以及比例范围)。
(3)优势
不同于其他特征工程方法,LFE无须通过开销巨大的分类器评估指标来衡量转换的影响。ExploreKit能够产生大量的候选特征,并用一种学习排名方法对它们进行排序。这种方法对于一个新的数据集,需要大致3天左右的时间产生所有的候选特征,但LFE仅仅需要几秒。
图4-12 QSA特征表示例子
LFE是一种基于元学习的方法,它在学习以往特征工程经验的基础上,自动执行可解释的特征工程进行分类。通过概括不同转换对大量数据集性能的影响,LFE可以在学习特征、变换和目标之间学习有用的模式,从而提高学习准确性。LFE将数据集作为输入,并推荐一组范例来构建新的有用特征。每个范例都包含转换和适合转换的有序特征列表。
1.RapidMiner平台
RapidMiner是一款成熟的数据挖掘平台,它通过图形化的方式来搭建模型,避免了编写复杂的代码,使用户无需专业的人工智能背景或者深厚的代码功底,即可完成对于已有的数据集进行机器学习中的分类或者回归,是个十分强大的自动学习平台,如图4-13所示。
图4-13 RapidMiner平台整体流程
RapidMiner支持完整端到端的模型生成,从前期的数据准备,中间的训练到后期模型部署,可视化GUI的操作缩减了用户使用的整体时间,极大地提高了开发效率,使普通有兴趣的人员也可以轻松实现机器学习中大部分的功能。
图4-14中表格展示的就是数据部分,我们可以手动导入自己本地的数据集(格式CSV、XML等),或者使用提供的范例作为输入的数据集,并可自己勾选需要分类或者回归的属性特征,以供后续模型训练。
图4-14 RapidMiner目标特征选取
图4-15展示的就是我们使用的回归算法选择,这里提供了较为常用的广义线性模型和决策树模型,可根据后续相关指标系数来评估最合适的回归算法。
图4-15 RapidMiner训练模型选择
图4-16展示的就是经过决策树模型和广义线性模型预测得到的结果。从图4-16中可以看到,相比于决策树模型,广义线性模型的均方根误差更小,具有更好的预测效果,因此使用广义线性算法得到的预测模型会有更好的性能。
图4-16 RapidMiner预测结果展示
RapidMiner平台的强大标志着自动化机器学习的突破,使人工智能的实现变得更为简单便捷,消除了搭建人工智能模型的高壁垒,为人工智能的发展提供了更大的空间。
2.Datarobot平台
Datarobot是一款自动机器学习平台,提供了完整的端到端系统的搭建和部署。相较于人工特征工程烦琐的重复性和耗时性,Datarobot具有以下优势:
·自动产生新的特征;
·知道何种算法需要特征工程;
·知道每种算法最佳的特征工程方法;
·通过系统端到端的模型构建和比较,展示了哪种算法组合特征工程方法的方式在个人数据集上有最优秀的表现。
Datarobot平台可以同时并行运作多个先进的算法并能实时地部署最佳性能的模型。为了实现全自动化,Datarobot通过搜索成千上万个模型组合方式,选择具有最好性能表现的模型。每种模型组合都称为模型蓝图,具有独特的数据处理序列、特征工程、算法训练、算法调参等,具体流程如图4-17所示。
针对目前模型难以解释(“黑箱模型”)的现象,Datarobot的模型蓝图是个使机器学习模块透明化的关键。其中每个模型都由一系列构建的模块来帮助具体解释这些问题:
·该部分如何处理数据?
·什么样的特征被构建?
·利用什么算法进行训练?
图4-17 Datarobot平台整体流程
如图4-18所示,Datarobot系统对每个创建的模块,都有详尽的文档解释,包括详细的说明、默认参数和选项、原始数据的外部链接和引用。这一系列完整的文档不仅能帮助新手学习自动学习的过程,还能帮助专业人员对创建的模型进行优化和调整。
图4-18 Datarobot模块功能详解
3.先知平台
第四范式在其自主研发的“先知平台”中,内嵌了FeatureGO自动化特征工程算法。该算法基于蒙特卡洛树搜索算法,通过给定一种收益评估函数和标准,来衡量不同特征组合的情况,创建新的高阶特征组合来使模型的性能得到较大提升。
“先知平台”也通过GUI图形化拖曳的方式进行相关模块的组合,完成模型的搭建和部署。而且GUI的左侧清晰地展示了整个端到端所有的流程模块。用户无需丰富的机器学习先验知识,即可通过引导在极短时间内完成想要的数据分类或回归预测目的。其中第四范式公司的一名运营人员,通过使用这套成熟的人工智能平台,短时间内在kaggle这个大神云集的比赛里拿到第15名的名次,可见该套系统的推广性和实用性,极大地降低了非专业领域人员进行人工智能模型训练的门槛,使人工智能“智能化”,让它在各领域规模化和普及化成为可能。