【机器学习】论文导读 从特征变换到特征选择(From Transformation-Based Dimensionality Reduction to Feature Selection)

一、降维中特征变换与特征选择的区别

     在各种机器学习方面的运用中,我门通常需要对高维数据进行处理,然而不是所有的数据特征都是有用的,通常包含大量的无关特征与冗余特征。( 无关特征:是指与当前学习任务无关的特征(该特征所提供的信息对于当前学习任务无用),如对于学生成绩而言,学号则是无关特征。 冗余特征:是指该特征所包含的信息能从其他特征推演出来,如对于“面积”这个特征而言,从能从“长”和“宽”得出,则它是冗余特征。)在对这类数据进行分析学习之前一般需要进行降维处理,而降维包括特征变换与特征提取,前者通过对原始特征的一系列变换生成新的特征空间,而特征选择并不改变原始特征。相较于特征变换,特征选择尤其适用于那些需要保持原始特征的意义以及确定特定特征的重要程度的情况下,同时,一旦选定了特定的特征,我们只需收集或计算选定的特征,并不需要像特征变换的方法需要所有的原始特征来计算数据的低维表示。

特征选择算法分类:过滤式,包裹式,嵌入式。这三类算法的区别主要在于学习算法在分析和选择特征的过程中发挥了怎样的作用。
  1. 过滤式:特征是被提前选定的仅通过数据间的本质特性,并未进行学习算法的运算。简而言之,过滤式方法 其先对数据集进行特征选择,使用选择出来的特征子集训练学习器,特征选择选择过程与后续的学习器无关。基本原理如下图所示: 【机器学习】论文导读 从特征变换到特征选择(From Transformation-Based Dimensionality Reduction to Feature Selection)_第1张图片
  2. 包裹式: 包装法特征选择方法直接把最终将要使用的学习器的性能作为特征子集的评价准则,这是与过滤法特征选择方法最大的区别。

【机器学习】论文导读 从特征变换到特征选择(From Transformation-Based Dimensionality Reduction to Feature Selection)_第2张图片

filter: filter主要是通过给每个特征计算一个分数,然后按分数排序,从而选择top-k的特征作为新的特征集。他的优点很明显:计算速度快;缺点也很明显:没有考虑特征间的关系,导致效果不一定好。常见的fiter方法有: mutual information(互信息)、pearson相关系数、 卡方检验、 InfoGain等。

wrapper:wrapper 使用预测模型来对特征集进行评分。也就是说,对每一个特征子集,我们进行训练并预测,得到的误差作为这个模型的分数(当然是越小越好了)。但是这种方法计算极慢,因为要考虑每一个feature subset。所以有时候,我们会用一些greedy的策略,例如我们所熟知的逐步回归的思想-逐步加入或者逐步删去。

embedded:embedded的方法都是内嵌在模型构建的本事的。事实上,这种特征选择的办法,都是基于构造机器学习模型时,产生的一些好的性质(比如线性回归时某些属性的系数为0)。这种办法属于比较常见的办法有:加入L1惩罚的回归模型(Lasso, SVM)、 随机森林(得到特征的importance)。embedded的计算复杂度介于上述两者之间。

过滤式方法通过一定的评价准则来分析特征,其目的是通过选择特征子集来优化准则函数,然而特征子集的选取有2^d种可能性,对于高维数据进行穷举搜索是不太现实的。为此,通常采用启发式搜索例如贪心算法、前项与后项搜索算法来替代穷举法,然而启发式搜索的方法会导致陷入局部最优解的情况。随机搜索方法例如遗传算法,通过在搜索过程中增加一定的随机性来避免陷入局部最优。
然而,在处理更高维的数据时,我们仅仅能进行单个特征的搜索,通过计算每一特征的重要程度并进行排列,选择得分最高的一部分作为特征子集,但这一方法的问题在于忽视了特征之间可能存在的相互关系。


你可能感兴趣的:(【机器学习】论文导读 从特征变换到特征选择(From Transformation-Based Dimensionality Reduction to Feature Selection))