Paper Reading: AutoLearn - Automated Feature Generation and Selection
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
论文概况 | 详细 |
---|---|
标题 | 《AutoLearn - Automated Feature Generation and Selection》 |
作者 | Ambika Kaul, Saket Maheshwary, Vikram Pudi |
发表会议 | IEEE International Conference on Data Mining(ICDM) |
发表年份 | 2017 |
会议等级 | CCF-B |
论文代码 | 文中未公开 |
作者单位:
Data Sciences and Analytics Center, Kohli Center on Intelligent Systems International Institute of Information Technology, Hyderabad, India
研究动机
数据挖掘的核心步骤是对特征实现适当的转换,将最初给定的数据重构为新的、更有启发性的形式。通常特征工程在设计和选择特征时需要大量的手工操作,并且通常是乏味和不可伸缩的。学习最优特征表示不是一项简单的任务,因为它需要手动从数据中识别复杂的模式,处理这类问题的常见做法是使用所有可用的属性,并通过学习模型选择相关的特征。然而这样的方法并不总是有效的,大多数情况下处理如此大的特征空间被证明是无效的,当只有少数特征真正有用时会显著增加计算复杂度。
文章贡献
本文提出了一种自动特征工程学习模型 AutoLearn,AutoLearn 基于特征对之间的回归,通过特征相互关联的方式发现数据中的潜在模式及其变化,并选择非常少量的新特征来显著提高预测性能。提出的新的特征生成方法可以捕获特征对中的显著变化,从而产生高度判别性的信息。通过实验证明了我们的方法在大量数据集和多个分类器上的优势,与原始特征空间相比,预测精度平均提高了13.28%。
本文方法
问题定义
设输入数据为 x∈X,其中 x=<f1,f2,…,fd> 为一个样本的原始特征向量,设标签为 y∈Y。用 T 表示一组有 m 个的训练样本的数据集,记为 T={(x1,y1),…,(xm,ym)},同样用 T' 表示测试集。目标是从 T 中学习一个具有低误差 Errh 的预测器 h:X→Y,为此将原特征向量 x 变换为新的特征向量 x'。表示为 x=φ(x)、φ(x)=<φ1(x),φ2(x),.....,φN(x)>,其中每个 φi∈F1,每个变换后的特征值 φi(x) 通过对原始空间 F0 中的特征对进行回归得到。
AutoLearn 的设计原理
在监督学习中,目标是准确地预测输入数据集中每条记录的类别。在某些情况下,这些类别可能无法通过其原始特征进行区分,只有在生成更多在原始特征空间中不明显的判别信息时才会明显。在先前的一些工作中,得到高信息量特征的操作通常是基于对基本特征的理解,然后识别了一组域相关算子来转换特征。在本文中没有使用这些算子,而是使用回归并通过特征对相互关联的方式来发现潜在的模式。直观上的理由是:特征之间的相互作用可能因类别而异,很可能对于一些特征对在某些类别上带来的变化将非常突出,最终导致高度判别性的信息。因此在本文中主要使用回归来作为区分不同类的特性如何相互影响的一种手段,并挖掘线性或非线性特征关系。
AutoLearn 在每个特征通过回归来预测其他特征的值,并将这些预测值包含在每条记录中作为补充信息。提出的学习模型下图所示,主要有以下四个步骤:预处理、挖掘相关特征、特征生成、特征选择。
预处理
在预处理阶段,直接评估原始特征空间中所有可用的候选特征是不可行的。因此本文基于信息增益对特征进行排序来实现预处理,如下伪代码所示。对于参数 η1 的值,对于原始特征个数较少(<500)的数据集,选取 IG > 0 的所有特征。
挖掘相关特征
在挖掘相关特征阶段,本文使用距离或关系来确定的特征之间的相关性,这种测度是基于傅里叶变换或特征函数集的随机变量与相关表征的独立性。设 φu(t) 和 φv(s) 是随机向量 u 和 v 各自的特征函数,并且 φu,v(t,s) 是 u 和 v 的联合特征函数。它们将 u 和 v 之间的距离协方差定义为非负数 dcov(u,v),如下公式所示,其中 du、dv 分别是 u、v 的维数,||φ||2=φφ-对于复值函数 φ,φ- 是 φ 的共轭。
w(t,s) 和 cd 的公式如下所示。
具有有限一阶矩的u和v之间的距离相关性定义为:
从一组相对较小的预处理特征 Fd 开始,找到对特征构建有用的相关特征对。该过程对特征空间中的所有对进行迭代,在此步骤之后过滤出非相关特征对。一对给定的特征向量之间的相关性可以是线性的或非线性的,保持阈值参数 η2,以分别分离线性和非线性相关性。
特征生成
回归是估计自变量和因变量之间关系的基本统计过程,给定两个变量的训练集,使用正则化回归算法来寻找它们之间的关联以进行特征构建。正则化为模型添加了额外的约束或惩罚,目的是防止过拟合和提高泛化。具体来说是使用岭回归(RR)和核岭回归(KRR)分别确定和建模线性和非线性预测关系,岭回归倾向于确定一个线性函数,该函数对 IRp 中的协变量{xi}ni=1 和 IR 中的目标变量 {yi}n 之间的依赖关系进行建模。其中 α≥0 是控制收缩量的复杂性参数,α 值越大收缩量越大,因此对共线性的鲁棒性越强。核岭回归(KRR)将岭回归与核技巧相结合,它在由核和数据诱导的空间中学习线性函数。KRR 学习的模型形式与支持向量回归(SVR)相同,在损失函数上有所不同,KRR 使用平方误差损失。
每个相关特征对生成两类特征:
- 第一类特征是通过对每个相关特征对在 Fj 上回归 Fi 得到的预测值,其中 Fi 和 Fj 分别是自变量和因变量。这种方式能发现特征对之间的潜在模式,包括线性和非线性模式,以生成信息特征。在一个完美的回归结果中,新特征只是复制了已经存在的另一个特征,在特征生成步骤中过滤掉特征对上的这类回归结果。
- 第二个特征是将因变量 Fj 与 Fi 对 Fj 进行回归得到的特征之差生成,它直观地描述了给定特征对的实际模式与预测模式之间的变化。因此在一个完美的回归结果中,实际值和预测值之间的差值将为零,这类回归结果也需要过滤掉。
挖掘相关特征的步骤通过特征相互关联的方式发现隐含的模式,特征生成步骤捕获那些显著的变化,从而产生高度判别性的信息。
特征选择
特征生成的所有新构建的特征 FN 的重要性可能并不相同,为了选择表现最好的特征,使用了两步特征选择过程。本文的方法第一步使用基于稳定性的特征选择,第二步使用基于信息增益的最终修剪。基于稳定性的特征选择算法基于子采样与选择算法相结合,在不同的数据子集和不同的特征子集上应用特征选择算法。在重复这个过程多次之后,通过检查一个特征在被检查的特征子集中被选择为重要特征的次数来判断特征重要性。这样在经过多次迭代后,在大部分扰动或子样本中选择的所有特征都被选中,就可以应用截止阈值 η3(0<η3<1) 来选择最稳定的特征。
根据稳定性选择理论,任何给出稀疏表示的回归方法都可以用来选择特征。当存在高度相关的特征时,所有这些特征都在某种程度上与响应变量相关,如果是 Lasso 将倾向于仅选择其中的一个或几个,并将其余的收缩到 0。这可能不是理想的选择,因此本文使用的是随机 Lasso,公式如以下公式所示,随机 Lasso 将惩罚 λ 更改为预定义范围内的随机选择值。
然后根据最高的信息增益分数选择最稳定的特征,信息增益 IG 孤立地查看每个特征,并衡量它对于预测正确的类标签的重要性。
样例展示
使用来自 UCI 的 Sonar 数据集进行展示,该数据集有 60 个特征、208 个实例、2 个类别。在第一步预处理中,从 60 个原始特征中选择了 45 个特征。在挖掘其中的相关特征对时,出现了 2037 个依赖相关性,其中 62 项是线性相关,1975 项是非线性相关。从这些相关特征对中新构建的特征总数为 4073 个,通过特征选择将新特征的数量减少到 27 个。60 个原始特征和 27 个新建和选择的特征的相对重要性如下图所示,可见一些新构造的特征(用蓝色表示)相对于原始特征更重要。
实验结果
数据集和实验设置
实验部分使用了 25 个分类数据集,这些数据集的信息如下表所示。
使用的分类器包括 KNN、Logistic 回归(LR)、线性核支持向量机(SVM-l)、多项式核支持向量机(SVM-p)、随机森林(RF)、Adaboost(AB)、多层感知器(NN)和决策树(DT),对于每个分类器将 AutoLearn 与其他 3 个模型 FCTree(FCT)、TFC 和 ExploreKit(EK) 进行了比较。accuracy 经过 5 次交叉验证计算得到,特征生成和特征选择只基于交叉验证的每折中的训练集来运行。
参数设置方面,对于 Gene Expressions 以外的数据集 η1 的值被设置为 0,Gene Expressions 数据集使用 IG 分数排名前 2% 特征。η2 的参数值被设置为 0.7,岭回归和核岭回归使用 sklearn 的默认参数也用于,核岭回归使用了 rbf 核。
对比实验
下表展示了构建的最优特征空间与原始特征结合在 TFC、FCTree(FCT) 和 ExploreKit(EK) 框架下的表现,在所有 25 个数据集和 8 个不同的分类器上,本文方法准确率分别比原始特征空间和其他表现最好的模型学习的特征空间有了明显的提高。
可扩展性分析
使用所有特征构造算子进行穷举搜索可能创建无限的特征空间,即使操作符的数量有限,穷举搜索也可能导致组合爆炸。本文方法选择了非常少量的新特性来达到期望的性能,从而使模型具有可伸缩性。下图展示了本文方法最终选择的特征数量与 FCTree、TFC 和 EK 在25个数据集上选择的特征数量的对比,可见本文方法模型所需的特征数量大大减少了。
优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 很多自动特征构造算法都是基于 expand-and-reduce 框架进行设计,但是这类算法会使用大量特征构造算子导致需要对大量的特征进行评价。本文基于回归器来设计算法,能够在有限的特征空间中构造出高质量的特征;
- 本文在不同的阶段结合了信息增益、距离协方差等多种测度来评价特征的重要性和相关性,保证了对高质量的特征的合理度量;
- 本文的特征构造是通过用回归器捏其他的特征得到的输出,能充分考虑特征之间的相互关系,是一种可以考虑的改进思路。