AutoLearn - Automated Feature Generation and Selection - 2017 ICDM
核心思想:
用特征之间两两回归的方法,发现相关特征的额外信息。
主要流程如下:
第一,特征预处理阶段,对原始特征的信息增益进行判断,剔除低于某个阈值的特征;
第二,挖掘相关特征阶段,对于两两的特征,判断相关性,保留高于某个阈值的特征对;
第三,特征生成阶段,根据两个特征之间的相关关系(线性或者非线性),使用领回归或者核领回归的方法,用一个特征去预测另外一个特征,新特征可以用如下方法获得,首先,预测出的特征可以作为新特征,其次,预测特征与原特征的差值可以作为新特征;
第四,特征选择阶段,根据稳定性要求(对数据集随机抽样,在不同的样本上选择特征,最终选择在多个样本上都被选择的特征,通常使用lasso回归选择特征),和信息增益,选择最终特征。
评价:
比较繁琐,不是很聪明,感觉效果不好。
Learning feature engineering for classification - 2017 IJCAI
核心思想:
根据特征本身的分布情况,选择最合适的特征工程方法。
主要内容:
特征工程分为两类,一类是针对单个特征,比如平方,求平方根等,一类是针对组合特征(一般是两两组合),组合方式可以是加减乘除等等。本文提出了一种基于分类目标的对特征分布的表示方法:量化框架数组(Quantile Sketch Array),用于描述特征的分布,以及以这种定长的分布为输入,学习一个多分类器,目标就是特定的特征工程方法。最终,在多分类器中,只要某个类别的分数超过一定的阈值,就选择它作为特征。
评价:
这种方法比较靠谱,原因在于它学习到的是一种基于分类目标的、从特征分布到特征工程方式的分类器,这种分类器具有一定的经验在里面,本身这个分类器就是一种不可替代的工具。
Automating Feature Engineering
核心思想:
与Learning feature engineering for classification是一样的,只不过增加了一个整体流程图。
Deep Feature Synthesis: Towards Automating Data Science Endeavors
核心思想:
以关系型数据为处理对象,把根据关系型数据生成特征的过程自动化了,属于特征工程前期(即产生原始特征)阶段的工作。
主要内容:
Entity feature:两类,一类是对具体的特征进行单元素处理,另一类是获取元素的分布数据;
Direct Feature and Rational Feature:先来介绍Forward and backward:前向和后向的概念,例如订单与客户,是前向关系,因为每个订单都对应唯一一个客户,而客户与订单,就是一个后向关系,因为一个客户可以对应多个订单。直接特征对应了前向关系,关系特征对应了后向关系。
用一个例子解释一下上述概念,在电商领域,为了判断一个用户对一件商品的喜好程度,需要考虑三个粒度的特征,第一是用户,第二是用户群体,第三是订单。最终生成的特征肯定是用户级别的,比如,包含用户的年龄、性别、受教育程度(Entity Feature),当前年龄段的人均账单数(Direct feature),该用户的总账单数(Rational Feature)。
评价:
把原始特征生成的工作自动化了,甚至还包括了kaggle上的结果自动提交,有价值但是比较繁琐。
ExploreKit: Automatic Feature Generation and Selection - 2016 ICDM
核心思想:
在原始特征的基础上,自动生成有价值的新特征,使用了一阶、二阶、高阶的方法,对生成的特征,用一个基于机器学习的排序模型进行粗排序,然后评估。
主要流程:
第一,生成合成的特征,使用了一阶、二阶、高阶的算子,提供一个框架,更多的算子可以加入。
第二,对合成后特征的提供信息的能力进行排序,排序的方法是,对新特征提取meta信息,包含了数据集的信息(样本数、分类的类别数、之前的分类器的AUC、精确度、召回率等指标),以及生成特征本身的信息(均值、方差、1/4分位数等等),用一个已经训练好的排序打分模型,进行预估。其中,这个排序打分模型是利用很多其他的数据集离线训练得到的,当然离线训练的时候,生成特征的能力就可以用添加该特征后分类精度的提升来表示了。
第三,特征评估,对于本轮生成的新特征,逐一进行评估,评估方法是,对于加入该特征前后,同一个模型的分类精度进行评价,提升值高于某个阈值,就可以加入特征集。整个过程一直持续到最大的迭代轮数为止。
评价:
与Learning feature engineering for classification的思路一样,只是流程更完善。
核心思想:
与Deep Feature Synthesis中DSM(Data Science Machine)的思路一样,只是多了对非结构化数据(比如文本、序列)的处理,本身没有太多的新东西。
Google Vizier: A Service for Black-Box Optimization
核心思想:
把黑盒优化的功能做成了一个产品,对于机器学习模型超参调整很有帮助,Google就是牛。
主要内容:
黑盒优化有很多的应用,机器学习里面主要用在超参调优。之前的方法有随机选择、网格搜索、模拟退火、遗传算法,另外还有单纯型法和置信区间法(在某个区间内,用某一个简单模型模拟黑盒,然后选择这个简单模型的最优解)。最近很多人采用了强化学习中MultiBandit的模型来平衡应用和探索,使用模型来建模全局的f,本质上是贝叶斯优化,常采用的模型有高斯过程、深度神经网络、回归森林等。
在Vizier中,谷歌把很多功能都做成了服务的形式,具体的工程实现方式介绍了很多,没有细看。