在机器学习,模式识别和图像处理中,特征提取从一组初始测量数据开始,并构建旨在提供信息和非冗余的派生值(特征),促进后续学习和泛化步骤。
我们通过两个步骤分解特征提取问题:特征构造(feature construction),和特征选择(feature selection)。并在接下来分别介绍。
特征是输入变量或属性的同义词,查找良好的数据表示是非常特定于域的,并且与可用测量相关。在医学诊断中,特征可以是症状,即,对患者的健康状态进行分类的一组变量(例如,发烧,葡萄糖水平等)。
通过将“原始”数据转换为一组有用特征,经常需要人工专业知识,但也可以通过自动特征构造方法来补充。在一些方法中,特征构造被集成在建模过程中。例如,人工神经网络的“隐藏单元”计算类似于构造特征的内部表示。在其他方法中,特征构造是预处理。为了描述预处理步骤,让我们介绍一些符号。令x为维数n的模式向量,x = [x_1,x_2,... , x_n]。该向量的分量x_i是原始特征。我们将x’称为维数为n‘的变换特征的向量。预处理转换可能包括:
- 标准化(standardization):例如,考虑模式x = [x_1,x_2],其中x_1是以米为单位测量的宽度,x_2是以厘米为单位测量的高度。两者都可以进行比较,但在适当的标准化之前进行比较是不合理的。这种情况下我们经常使用以下经典的数据居中和缩放:x_i^' =(x_i-μ_i)/σ_i, 其中μ_i和σ_i是特征x_i相对于训练示例的平均值和标准偏差。
- 归一化(normalization):举例来说,考虑x是图像,x_i是带有颜色i的像素数,通过将x除以计数总数来对x进行标准化以编码分布并消除对图像大小的依赖是有意义的。即转换公式为:x’= x / ||x||。
- 信号增强(Signal enhancement):通过应用信号或图像处理滤波器,我们可以改善信噪比。这些操作包括基线或背景去除,去噪,平滑或锐化。傅里叶变换和小波变换也是流行的方法。
- 局部特征的提取(Extraction of local features):对于有序的、空间或其他结构化数据,使用特定技术,例如使用手工制作的内核或句法和结构方法的卷积方法,可以将特定于问题的知识编码到特征中。
- 线性和非线性空间嵌入方法(Linear and non-linear space embedding methods):当数据的维数非常高时,可以使用某些技术将数据投影或嵌入到较低维空间中,同时保留尽可能多的信息。经典的例子是主成分分析(PCA)和多维尺度(MDS)。较低维度空间中的数据点的坐标可以用作特征或仅用作数据可视化的手段。
- 非线性扩展(Non-linear expansions):虽然在谈论复杂数据时经常会需要降维,但有时候增加维度会更好。当问题非常复杂并且一阶交互不足以获得良好结果时,就会发生这种情况。
- 功能离散化(Feature discretization):有些算法无法处理连续数据,在这种情况下,将连续值离散化为有限离散集是有意义的。 这一步不仅便于使用某些算法,还可以简化数据描述并提高数据理解能力。
特征构造是数据分析过程中的关键步骤之一,在很大程度上影响了任何后续统计或机器学习算法的成功。特别是,应该注意不要在特征构建阶段丢失信息。当然,添加所有信息似乎是合理的,但它需要付出代价:它增加了模式的维度,从而将相关信息沉浸在可能无关,嘈杂或冗余功能的海洋中。我们如何知道某个功能何时相关或信息丰富?这就是为什么我们需要在下一步进行特征选择。
虽然特征选择主要用于选择相关和信息丰富的功能,但它可以有其他动机,包括:
1.一般数据减少,限制存储要求,提高算法速度;
2.减少特征集,以节省下一轮数据收集或利用期间的资源;
3.提高绩效,提高预测准确性;
4.数据理解,获取有关生成数据的过程的知识或简单地可视化数据
我们在上面已经说过,但特征提取还可以进一步划分为四个方面:
1.特征构造,我们已经在上文介绍过;
2.特征子集生成(feature subset generation),或搜索策略;
3.评估标准定义(evaluation criterion definition),例如相关指数或预测能力;
4.评估标准估算(evaluation criterion estimation),或评估方法。
最后三个方面与特征选择有关,我们在下图给出了特征选择的三种主要方法。 阴影显示了三种方法使用的组件:过滤器,包装器和嵌入式方法。:
过滤器和包装器主要根据评估标准而不同。一般而言,过滤器使用不涉及任何学习机器的标准,例如,基于相关系数或统计的相关性索引,而包装器使用给定特征子集训练的学习机的性能。
过滤器和包装器方法都可以利用搜索策略来探索通常太大而无法详尽探索的所有可能特征组合的空间。当然,混合方法也是存在的。另一类嵌入式方法在训练算法中包含特征子集生成和评估。
[描述及图片来源:
Guyon I., Elisseeff A. (2006) An Introduction to Feature Extraction. In: Guyon I., Nikravesh M., Gunn S., Zadeh L.A. (eds) Feature Extraction. Studies in Fuzziness and Soft Computing, vol 207. Springer, Berlin, Heidelberg]
发展历史
描述
早于1992年,Alan L. Yuille,Peter W. Hallinan和David S. Cohen就提出了一种使用可变形模板检测和描述面部特征的方法。 他们关注的特征由参数化模板描述。通过定义能量函数,其将图像强度中的边缘,峰和谷连接到模板的相应属性。 然后,模板通过改变其参数值来动态地与图像交互以最小化能量函数,从而使自身变形以找到最佳拟合。 最终的参数值可以用作特征的描述符。
1997年,RonKohavi和George H.John发表文章讨论了特征子集选择问题。他们认为,为了在特定训练集上使用特定学习算法实现最佳可能性能,特征子集选择方法应考虑算法和训练集如何相互作用。 他们探索了最优特征子集选择与相关性之间的关系,研究了包装器(wrapper)方法的优点和缺点,并展示了一系列改进的设计。同年,Avrim L.Blum和PatLangley回顾了机器学习中处理包含大量无关信息的数据集的方法,即特征选择问题。截止到这一时期时,仅有很少的领域会在研究中使用超过40个特征。但这一情形在几年后发生了很大的变化。
2001年,NIPS第一次举办了相关研讨会,Isabelle Guyon和André Elisseeff发表的特刊中已经记录了有使用数百到数万个变量或特征的研究,并给出了一个详尽的调查。特征提取适用的范围非常广泛,2000年,JING LIN和LIANGSHENG QU讨论了如何从机器的振动信号中提取特征,进行故障诊断。针对这些信号一般具有非常低的信噪比(SNR)的问题,他们将基于小波分析的去噪方法应用于机械振动信号的特征提取。 基于Morlet小波,时频分辨率可以适应不同的感兴趣信号, 在滚动轴承诊断和齿轮箱诊断中的应用结果令人满意。
2006年,Haifeng Li,Tao Jiang和Keshu Zhang提出常用的特征提取技术,主成分分析(PCA)对于提取最具判别性的特征并不是非常有效,而线性判别分析(LDA)由于样本量小的问题,LDA不稳定。他们提出了一些基于最大边际准则(MMC)的新的(线性和非线性)特征提取器。几何上,基于MMC的特征提取器在降维后最大化类之间的(平均)余量。他们的结果表明,MMC可以比PCA更好地表示类别可分性。
2011年,Salah Rifai和Yoshua Bengio等人提出了一种训练确定性自动编码器的新方法。他们通过在经典重建成本函数中添加一个精心选择的惩罚项,获得了与其他正则化自动编码器相同或超过的结果。他们证明了这个惩罚项导致了局部空间收缩,这反过来又在激活层上产生了强大的特征。这种惩罚有助于建立一种表示,该表示能更好地捕获由数据决定的局部变化方向,对应于较低维度的非线性流形和流形正交的绝大多数方向更加稳健。
主要事件
年份 | 事件 | 相关论文/Reference |
1992 | Alan L. Yuille,Peter W. Hallinan和David S. Cohen提出了一种使用可变形模板检测和描述面部特征的方法 | Yuille, A.L., Hallinan, P.W. & Cohen, D.S. (1992). Feature extraction from faces using deformable templates. International Journal of Computer Vision. 8(2): 99-111. |
1997 | RonKohavi和George H.John发表文章讨论了特征子集选择问题 | Kohavi, R. and John, J. (1997). Wrappers for feature selection. Artificial Intelligence. 97 (1-2):273–324. |
1997 | Avrim L.Blum和PatLangley回顾了机器学习中处理包含大量无关信息的数据集的方法,即特征选择问题 | Blum, A. and Langley, P. (1997). Selection of relevant features and examples in machine learning. Artificial Intelligence. 97(1-2):245–271. |
2000 | JING LIN和LIANGSHENG QU讨论了如何从机器的振动信号中提取特征,进行故障诊断 | LIN, J.; QU, L. (2000). FEATURE EXTRACTION BASED ON MORLET WAVELET AND ITS APPLICATION FOR MECHANICAL FAULT DIAGNOSIS. Journal of Sound and Vibration. 234(1): 135-148. |
2003 | Isabelle Guyon和André Elisseeff发表的特刊中已经记录了有使用数百到数万个变量或特征的研究,并给出了一个详尽的调查 | Guyon, I. and Elisseeff, A. (2003). An introduction to variable and feature selection. JMLR, 3:1157–1182. |
2006 | Haifeng Li,Tao Jiang和Keshu Zhang提出了一些基于最大边际准则(MMC)的新的(线性和非线性)特征提取器 | Li, H.; Jiang, T.; and Zhang, K. (2006). Efficient and robust feature extraction by maximum margin criterion. IEEE Transactions on Neural Networks. 17(1): 157-165. |
2011 | Salah Rifai和Yoshua Bengio等人提出了一种训练确定性自动编码器的新方法 | Rifai, S. et al. (2011). Contractive auto-encoders: explicit invariance during feature extraction. ICML. pp 833-840. |
发展分析
瓶颈
目前对文本等结构化对象的特征提取技术已经比较成熟,但对于其他类型的数据,如多媒体数据额(音乐、视频等),特征提取方法仍需要结合该数据领域的相关技术,通用性、自动化程度还不够高。
未来发展方向
- 理论上更基础的算法:许多流行的算法都没有原则,很难理解他们寻求解决的问题以及解决问题的最佳方式。如果能够从解决问题的清晰的数学陈述开始,然后明确所选方法如何最佳地解决所述问题,则能够更明确的指导算法选择;
- 更好地估计计算效率: 计算时间基本上是由搜索策略和评估标准驱动。有些特征选择方法需要检查大量的特征子集,甚至可能需要检查所有特征子集,即2^n个子集。 贪婪方法通常更快速,只访问n或n^2个子集。 评估标准也可能是很昂贵的,因为它可能涉及训练分类器或比较每对示例或特征。因此,对计算代价有一个准确地估计是很必要的;
- 无监督变量选择:无监督变量选择能够尽量不使用根据对因变量的理解而创造的标准去预先过滤重要变量,这一般能够减轻过度拟合的问题;
- 选择训练样本:这是特征提取的对偶问题,错误标记的样本可能会导致我们选择错误的变量;
- 逆向工程系统:目前我们侧重于构建和选择有助于构建良好预测器的特征的问题。解开变量之间的因果依赖关系并对产生数据的系统进行逆向工程是一项更具挑战性的任务。
Contributor: Yuanyuan Li