翻译:An Introduction to Feature Extraction 特征提取导论。(如有不当欢迎评论区留言指正)

作者:Isabelle Guyon1 and Andr´e Elisseeff2

这一章向读者介绍了本书3中涵盖的特征提取( Feature Extraction)的各个方面。第1节 综述了定义和符号,并提出了特征提取问题的统一定义。第2节 是概述书中提出的方法和结果,强调方法的新颖性。第3节 通过展示简短、具有启发性例子和简单但有效的算法,为读者提供特征提取领域的切入点。最后,第4节介绍了一种更理论化的形式,并指出了研究方向和有待解决的问题。

1. 特征提取的基础知识

在这一节中,我们将介绍一些对本书第一部分的理解必要的关键概念。稍后会分别看到我们建立的不同概念。

1.1 预测建模(Predictive modeling)

这本书是关于预测建模(Predictive modeling)或有监督的机器学习问题(supervised machine learning)。后者指的是计算机科学的一个分支,其致力于用计算机程序重现人类学习能力。机器学习这个词最初是由塞缪尔在50年代创造的,旨在涵盖许多可以从人类转移到机器的智能活动。术语“机器”应该以抽象的方式来理解: 不是物理实例化的机器,而是一个自动化的系统,例如,可以在软件中部署。上个世纪50年代以来,机器学习的研究主要集中在寻找数据中的关系,并分析如何提取这种关系的过程,而不是构建真正的“智能系统”。

机器学习问题是指当一个任务是由一系列例子定义的,而不是由预先设置的规则定义的。机器学习问题有着广泛的应用:从机器人技术、模式识别(语音、手写、人脸识别),到互联网(文本分类)以及医学领域(诊断、预后、药物发现)。给定一些与预测结果相关的训练样本(也称为数据点、样本、模式或观察),机器学习的过程是仅仅只使用训练样本来发现模式和结果之间的关系。这与人类学习有很多相似之处,在学生的学习中,学生会得到一些例子,说明哪些是正确的,哪些是错误的,并推断出哪些规则是决策的基础。具体来说,考虑下面的例子: 训练数据是病人的临床观察数据,数据标签是健康状况:健康或患有癌症。学习目标是预测新的未知的测试实例的结果,即新患者的健康状况。在测试数据上的性能称为泛化能力。要执行此任务,必须建立一个预测模型或预测器,它通常是一个具有可调参数的函数,称为学习机,通过利用训练样本选择学习机的最优参数集。

我们将在本书的各个章节中看到,通常,增强学习机的泛化能力能够促进特征选择。基于这个原因,在第一章将会看到经典的学习机器(如Fisher的线性判别和K近邻)和先进的学习机器(如神经网络,树分类器,支持向量机(SVM))。更高级的技术如集成方法(ensemble methods)将在第5章进行介绍。不那么传统的神经模糊方法将在第8章中介绍。第2章提供了如何评估分类器性能的方法。但是,在进行任何建模之前,必须进行特征构造。这是下一节的内容。

1.2 特征构造(Feature construction)

在这本书中,数据用固定数量的特征来表示,这些特征可以是二进制的、分类的或连续的。特征和输入变量或属性是相同的意思。找到一个好的特征是取决于特定的领域,并且与可用的测量方法相关。在我们的医疗诊断示例中,特征可能是症状,即对患者健康状况进行分类的一组变量(例如发烧、血糖水平等)。

原始数据转换为一组有用的特征通常需要人类的专业知识,此外,自动特征构造方法可以对其进行补充。在某些方法中,特征构造被集成到建模过程中(译者注:例如深度学习方法)。例如,人工神经网络中的“隐藏层的神经元”的计算就类似于构造特征。在其他方法中,特征构造属于预处理的过程。为了描述这个预处理的步骤,我们介绍一些概念:设 X X X n n n维的模式向量, X = [ x 1 , x 2 , … , x n ] X = [x_1, x_2,…,x_n] X=[x1,x2,xn], 这个向量的分量 x i x_i xi是原始特征。我们令 X ′ X' X n ′ n' n维的变换后的特征向量。预处理变换可能包括:

  • 归一化(Standardization):特征可以有不同的尺度,尽管这些尺度是可比较的对象。例如,考虑一个特征 X = [ x 1 , x 2 ] X = [x_1,x_2] X=[x1,x2]其中:x1是以米为单位的宽度,x2是以厘米为单位的高度。两者都可以进行比较、加或减,但在适当的归一化之前这样做是不合理的。常用的数据对齐和缩放方法如下: x i ′ = ( x i − μ i ) / σ i x'_i=(x_i - \mu_i)/\sigma_i xi=(xiμi)/σi,其中 μ i \mu_i μi σ i \sigma_i σi是原始训练样本特征 x i x_i xi的均值和标准差。
  • 标准化(Normalization):考虑这样一个例子, X X X是一个图像, x i x_i xi是颜色为 i i i的像素个数,对 X X X进行这样的标准化是有意义的:除以像素总数来表征像素分布和消除对图像的大小的依赖。这可以转化为公式表示: X ′ = X / ∣ ∣ X ∣ ∣ X' = X/||X|| X=X/X
  • 信号增强(Signal enhancement):可以通过使用信号或图像处理中的滤波器来提高信噪比。这些操作包括基线或背景去除、降噪、平滑或锐化。傅里叶变换和小波变换是常用的方法。我们参考了数字信号处理(Lyons, 2004)、小波(Walker, 1999)、图像处理(R. C. Gonzalez, 1992)和形态学图像分析(Soille, 2004)的入门书籍。
  • 提取局部特征(Extraction of local features):对于顺序的、空间的或其他结构化的数据,使用特定的技术,如使用手工制作内核的卷积方法或语法和结构方法。这些技术将特定问题的知识编码到特证中。它们超出了本书的范围,但值得一提的是它们可以带来显著的改进。
  • 线性和非线性空间嵌入方法(Linear and non-linear space embedding methods):
    当数据的维数非常高时,可以使用一些技术将数据投影或嵌入到较低维的空间中,同时保留尽可能多的信息。经典的例子是主成分分析(PCA)和多维标度(MDS) (Kruskal and Wish, 1978)。低维空间中的数据点的坐标可以用作特征,也可以简单地用作数据可视化的手段。
  • 非线性扩张(Non-linear expansions):虽然在讨论复杂数据时经常需要降维,但有时增加维数会更好。当问题非常复杂,最初的方法不足以得到好的结果时,就会发生这种情况。这包括例如计算原始特征 x i x_i xi的乘积来创建单项特征 x k 1 x k 2 … x k p x_{k1} x_{k2} …x_{kp} xk1xk2xkp
  • 特征离散化(Feature discretization):有些算法不能很好地处理连续数据。因此,将连续值离散为有限离散集是有意义的。这一步不仅方便某些算法的使用,它还可以简化数据描述和提高数据理解(Liu and Motoda, 1998)。

有些方法不改变空间维数(如信号增强、归一化、标准化),而有些方法则扩大空间维数(非线性扩张、特征离散化)、有的缩小空间维数(空间嵌入方法),或者朝任意方向降低维度(提取局部特征)。

特征构建是数据分析过程中的关键步骤之一,在很大程度上决定了后续统计或机器学习的成功与否。特别是,应该注意不要在特征构建阶段丢失信息。将原始特征添加到预处理后的数据中可能是个好主意,或者至少比较用两种数据表示方法获得的性能。我们认为,过于包容总比冒着放弃有用信息的风险要好。我们之前使用的医疗诊断示例说明了这一点。许多因素都可能影响病人的健康状况。在通常的临床变量(温度、血压、血糖水平、体重、身高等)之外,可能还需要添加饮食信息(低脂肪、低碳酸盐量等)、家族史,甚至天气状况。添加所有这些特性似乎是合理的,但这是有代价的:它增加了模式的维度,从而将相关信息沉浸在可能不相关、嘈杂或冗余的特性的海洋中。我们如何知道什么时候一个特征是相关的或信息丰富的?这就是特征选择的意义所在,也是本书的重点。

1.3 特征选择(Feature selection)

我们将特征提取问题分解为两个步骤:特征构建(在上一节中简要回顾)和特征选择(现在我们将关注这两个步骤)。虽然特征选择主要是为了选择相关的和信息丰富的特征,但它可能有其他动机,包括:

  1. 通用数据压缩,限制存储要求,提高算法速度;
  2. 特征集约简,以节省下一轮数据收集或利用过程中的资源;
  3. 提高性能,提高预测精度;
  4. 数据理解,获取关于生成数据的过程的知识,或者简单地可视化数据

第一部分中有几章专门讨论特征选择技术。第三章回顾了滤波器法(filter methods)。滤波器通常被认为是特征排序方法。这些方法使用相关性指数提供了特征的完整顺序。排序指标的计算方法包括用来评估个体变量对结果(或目标)的依赖程度的相关系数。还使用了多种其他统计量,包括经典检验统计量(t检验、f检验、卡方检验等)。更普遍的是,在不优化预测器性能的情况下选择特征的方法称为“滤波器”。第6章介绍了信息理论滤波器。

第4章和第5章专门讨论包装器和嵌入式方法。这些方法将预测器作为选择过程的一部分。
包装器利用学习机作为黑盒子,根据特征的预测能力对子集进行评分。嵌入式方法在训练过程中进行特征选择,通常针对特定的学习机器。在数据集的小扰动下,包装器和嵌入方法可能产生非常不同的特征子集。为了减小这种影响,第七章解释了如何使用集成方法来提高特征集的稳定性。

特征选择的一个关键方面是正确地评估所选特征的质量。第二章回顾了经典统计和机器学习的方法。特别地,本章回顾了假设检验、交叉验证和实验设计某些方面(需要多少训练样本来解决特征选择问题)。

最后,需要注意的是,作为全局优化问题的一部分,特征构建特征选择可以同时进行。第6章向读者介绍了这方面的方法。

1.4 理论

第一部分的章节以主题的方式将论题分组,而不是以方法的方式。在本节中,受到(Liu and Motoda, 1998)观点的启发, 我们提出了一个统一的特征选择定义,它超越了旧的过滤器/包装器。

图1 特征选择的三种主要方法。阴影显示了三种方法使用的组件:过滤器、包装器和嵌入式方法。

特征提取有四个方面:

  • 特征构造
  • 特征子集生成(或者搜索策略)
  • 评价标准定义(如相关性指数或预测能力)
  • 评价标准估计(或评价方法)。

最后三个方面与特征选择有关,如图1所示。

过滤器和包装器的不同主要取决于评价标准。一般认为过滤器使用的标准不涉及任何学习机,例如基于相关系数或统计检验的相关指数,而包装器使用基于给定特征子集训练的学习机的性能。

过滤器和包装方法都可以利用搜索策略来探索所有可能的特征组合的空间,而这些空间通常太大,无法详尽地探索(见第4章)。然而,有时过滤器被当做是特征排序方法,因为只有单个特征被评估,因此生成特征子集是平凡的(见第3章)。基于这样定义的规则,由学习机生成和计算得到的特征嵌套子集,就是采用包装方法。另一类嵌入方法(第5章)在训练算法中加入了特征子集的生成和评估。

最后一项,准则估计,将在第2章中介绍。需要克服的困难是,必须从有限的训练数据中估计一个已定义的标准(相关性指数或学习机器的性能)。有两种可能的策略:样本内或样本外。第一个(样本内)是经典的统计方法。它指的是使用所有的训练数据来计算一个经验估计。然后使用统计检验对估计进行测试,以评估其重要性,或者使用性能范围给出保证的估计。第二种(样本外)是机器学习方法。它指的是将训练数据拆分为用于估计预测模型(学习机)参数的训练集和用于估计学习机预测性能的验证集。平均多次分裂(或交叉验证)的结果通常用于减少估计量的方差(译者注:现在的机器学习方法多采用第二种方式)。

2. 特征提取的新方法是什么?

在1997年,当一个关于相关性的特别问题,包括一些关于变量和特征选择的论文发表(Blum and Langley, 1997, Kohavi and John, 1997),包含一些很少会使用超过40个特征的领域。这种情况在过去几年中发生了很大的变化。我们在2001年组织了第一次NIPS研讨会,该研讨会的论文集包括探索具有数百到数万个变量或特征的领域的论文(Guyon and Elisseeff, 2003)。在这次研讨会之后,我们组织了一个特色选择比赛,其结果在2003年的NIPS研讨会上公布。本书是后者的成果。

书中第二部分描述了比赛结果的排名和参与者使用的方法。第二章对比赛结果进行了总结。我们使用了五个数据集,这些数据集跨越了不同的领域(生物标志物发现、药物发现、手写识别和文本分类)和困难问题(输入变量是连续的或二进制的、稀疏的或密集的;一个数据集有不平衡的类。)一个数据集被人为地构建来说明一个特殊的困难问题:当没有单独提供信息的特征集时,选择一个特征集。我们选择了具有足够多示例的数据集,以创建足够大的测试集并获得统计上显著的结果(Guyon,2003)。我们引入了许多称为探头的随机特征,以增加任务的难度,并确定能够过滤掉它们的算法。

第10章描述了挑战获胜的方法。作者使用贝叶斯神经网络(Neal,1996)和Dirichlet扩散树(Neal,2001)的组合。对于所有数据集,它们的方法有两个方面是相同的:(1)通过使用简单的单变量显著性检验或主成分分析来选择特征子集,将用于分类的特征数量减少到不超过几百个;(2)使用基于贝叶斯学习的分类方法,在使用自动相关确定(ARD)之前,允许模型确定哪些特征最相关(MacKay,1994,Neal,1996)。马尔可夫链蒙特卡罗(MCMC)计算贝叶斯神经网络学习(Neal,1996)。Dirichlet扩散树是一种新的贝叶斯密度建模和层次聚类方法

在第二部分中提出的各种其他方法的性能几乎相同。对于特征选择,过滤方法被证明是非常有效的。前四名参赛者成功地探索了使用随机森林(RF)作为过滤器(第11章、第15章和第12章)。而简单相关系数(第13、14、20、23章)和信息理论排序标准(第22、24章)的表现也很好。最近引入的一些使用支持向量机(SVM)或相关核函数方法的嵌入式方法已成功应用(第12章、第13章、第16章、第18章、第19章和第21章)。其中最具创新性的方法是第17章和第29章提出了一种基于边缘的特征选择方法,该方法受到了Relief 算法的启发(Kira and Rendell, 1992)

分类器的选择上,排名第二的入选者(第11章)使用简单的正则化最小二乘核方法作为分类器。许多其他的顶尖进入者使用具有各种损失函数的正则核方法,包括核偏最小二乘(KPLS)(21章), vanilla支持向量机(SVM)(第12、20、22、23和24章),传导支持向量机(第13章),贝叶斯SVM(第18章),潜在的SVM(第19章)和1-范数SVM(第十六章)。另外两名参赛者使用了与获胜者类似的神经网络(第14章和第26章)。其他方法包括随机森林(RF)(第15章)、朴素贝叶斯(24章和25章)和简单的最近邻(第17章)。

本书的第三部分用了几章介绍构建特征的新方法。第27章给出了线性和非线性空间嵌入方法的统一框架。第28章提出了一种构造任意损失的正交特征的方法。第31章给出了一个句法特征构造的例子:蛋白质序列基序

3.开始

在方法的森林中,刚刚开始这一领域的读者可能会迷失。在这一节中,我们将介绍基本概念,并简要描述简单而有效的方法。我们用小的二维分类问题(图2)来说明一些特殊情况。

特征选择的一种方法是根据单个特征之间相关性对特征进行排序(第3.1节)。这种特征排序方法被认为是快速有效的,特别是在特征数量大,可用的训练样本数量相对较少的情况下(例如,10,000个特征,100个例子)。在这些情况下,试图广泛搜索特征子集空间以获得最优预测的方法可能会慢得多,而且容易出现过拟合(对训练数据可以实现完美的预测,但对测试数据的预测能力可能会很低)。

然而,正如我们将在其他例子中看到的(第3.2节和第3.3节),由于“单变量"方法所做的潜在的特征独立性假设,使得单个特征的排序是有局限性的。

  • 单独不相关的特征可能在其他环境中变得相关;
  • 由于可能存在冗余,单独相关的特征可能并不都有用。

所谓的多变量方法考虑了特征之间的依赖关系。多变量方法可能获得更好的结果,因为它们没有对变量/特征独立性进行简化假设。

3.1 单独相关度排序(Individual relevance ranking)

图2-a显示了一种情况,其中一个特征(x1)单独相关,而另一个特特征(x2)不能帮助提供更好的类分离。在这种情况下,单独的特征排序很有效:单独提供良好的类分离的特征所以排名高,因此将被选择。

皮尔逊相关系数是对个体特征进行排序的经典相关指标。我们用 x j x_j xj表示包含所有训练例子的第 j j j个特征的所有值的 m m m维向量,用 y y y表示包含所有目标值的 m m m维向量。 P e a r s o n Pearson Pearson相关系数定义为:
C ( j ) = ∣ ∑ i = 1 , j m ( x i , j − x ˉ j ) ( y i − y ˉ ) ∣ ∑ i = 1 , j m ( x i , j − x ˉ j ) 2 ∑ i = 1 m ( y i − y ˉ ) 2 (1) C(j) = \frac{|\sum_{i=1,j}^m(x_{i,j}-\bar x_j)(y_i - \bar y)|}{\sqrt {\sum_{i=1,j}^m(x_{i,j} - \bar x_j)^2\sum_{i=1}^m(y_i - \bar y)^2}}\tag{1} C(j)=i=1,jm(xi,jxˉj)2i=1m(yiyˉ)2 i=1,jm(xi,jxˉj)(yiyˉ)(1)

变量上的横线表示的是对于索引 i i i的平均值,在向量 x i x_i xi y y y居中对齐之后(减去它们的平均值), P e a r s o n Pearson Pearson相关系数也是向量 x i x_i xi y y y之间的余弦相似性的绝对值。皮尔逊相关系数可用于回归和二值分类问题。

图2 小的二值分类的例子。一类用圆圈表示,另一类用星星表示。横轴表示一种特征,纵轴表示另一种特征。在最后一个例子中,我们有第三个特征。我们用圆圈或星星来表示每个类。我们将类在轴上的投影显示为叠加的圆圈和星星。

对于多类问题,可以使用密切相关的费雪系数。Pearson相关系数也与t检验统计量、朴素贝叶斯排序指标密切相关。有关详细信息和其他排名标准的例子,请参阅第3章。

特征空间的旋转往往会简化特征的选择。图2-a由图2-d旋转45度得到。我们注意到,为了实现同样的分离,图2-d中需要两个特征,而图2-a中只需要一个。旋转是一个简单的线性变换。一些预处理方法,如主成分分析(PCA)执行这样的线性变换,这允许减少空间维数和显示更好的特征。

相关性的概念与所追求的目标有关。与分类无关的特征可能与预测类条件概率有关。图2-a中的特征 x 2 x_2 x2就是这样。这两个类的样本来自于类中心与轴 x 1 x_1 x1对齐后的重叠高斯分布。因此,P(y|x)并不是独立于 x 2 x_2 x2,但无论保留 x 2 x_2 x2特征还是丢弃 x 2 x_2 x2特征,最优贝叶斯分类器的错误率是相同的。这表明密度估计是一个比分类更难的问题,通常需要更多的特征。

3.2 单独不相关的相关特征(Relevant features that are individually irrelevant)

在接下来的内容中,我们证明了多变量方法的合理性,它利用联合考查而不是单独考查的特征的预测能力。

一个有用的特性本身可能是不相关的。多元方法的一个理由是,单独不相关的特征在结合使用时可能变得相关。图2-b给出了一个线性分离的例子,其中一个单独不相关的特征在与另一个特征一起使用时有助于更好地实现类分离。这种情况发生在现实世界的例子中:特征x1可能代表图像中被局部背景变化随机偏移的测量值; 特征x2可能测量的是这样的局部偏移量,它本身并没有提供信息。因此,特征x2与目标完全不相关,但从特征x1减去后,可提高其可分性。

两个单独不相关的特征在组合使用时可能变得相关。图2-c的例子,即众所周知的棋盘问题说明了这种情况。在特征选择挑战(见第二部分)中,我们提出了一个在更高维度空间中推广这种情况的问题:Madelon数据集是由放置在五个维度超立方体顶点上的集群构建的,并随机标记。

Relief 法是多变量过滤法的一个经典例子。使用多变量方法对特征子集进行排序,而不是对单个特征进行排序。

尽管如此,仍然存在根据单独特征在其他背景下的相关性,使用多元相关标准对其进行排序。为了说明这一概念,我们以由Relief算法(Kira and Rendell, 1992)衍生出的分类问题排序指标为例:

C ( j ) = ∑ i = 1 m ∑ k = 1 K ∣

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值