特征选择 订阅
特征选择( Feature Selection )也称特征子集选择( Feature Subset Selection , FSS ),或属性选择( Attribute Selection )。是指从已有的M个特征(Feature)中选择N个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征以降低数据集维度的过程,是提高学习算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤。对于一个学习算法来说,好的学习样本是训练模型的关键。 [1]  此外,需要区分特征选择与特征提取。特征提取 ( Feature extraction )是指利用已有的特征计算出一个抽象程度更高的特征集,也指计算得到某个特征的算法。特征选择过程一般包括产生过程,评价函数,停止准则,验证过程,这4个部分。 展开全文
特征选择( Feature Selection )也称特征子集选择( Feature Subset Selection , FSS ),或属性选择( Attribute Selection )。是指从已有的M个特征(Feature)中选择N个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征以降低数据集维度的过程,是提高学习算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤。对于一个学习算法来说,好的学习样本是训练模型的关键。 [1]  此外,需要区分特征选择与特征提取。特征提取 ( Feature extraction )是指利用已有的特征计算出一个抽象程度更高的特征集,也指计算得到某个特征的算法。特征选择过程一般包括产生过程,评价函数,停止准则,验证过程,这4个部分。
信息
外文名
FSS ;Feature Subset Selection;
拼    音
tè zhēng xuǎn zé
用    途
提高学习算法
中文名
特征选择
特征选择四要素
一般而言,特征选择可以看作一个搜索寻优问题。对大小为n 的特征集合, 搜索空间由2n-1 种可能的状态构成。Davies 等证明最小特征子集的搜索是一个NP 问题,即除了穷举式搜索,不能保证找到最优解。但实际应用中,当特征数目较多的时候, 穷举式搜索因为计算量太大而无法应用,因此人们致力于用启发式搜索算法寻找次优解。一般特征选择算法必须确定以下4 个要素:1)搜索起点和方向;2)搜索策略;3)特征评估函数;4)停止准则。 [2]  搜索起点是算法开始搜索的状态点,搜索方向是指评价的特征子集产生的次序。搜索的起点和搜索方向是相关的,它们共同决定搜索策略。一般的,根据不同的搜索起点和方向,有以下4 种情况:1)前向搜索搜索起点是空集S,依据某种评价标准,随着搜索的进行,从未被包含在S 里的特征集中选择最佳的特征不断加入S。2)后向搜索搜索起点是全集S,依据某种评价标准不断从S 中剔除最不重要的特征,直到达到某种停止标准。3)双向搜索双向搜索同时从前后两个方向开始搜索。一般搜索到特征子集空间的中部时,需要评价的子集将会急剧增加。当使用单向搜索时,如果搜索要通过子集空间的中部就会消耗掉大量的搜索时间,所以双向搜索是比较常用的搜索方法。 [2]  4)随机搜索随机搜索从任意的起点开始,对特征的增加和删除也有一定的随机性。假设原始特征集中有n 个特征(也称输入变量),那么存在2n-1 个可能的非空特征子集。搜索策略就是为了从包含2n-1 个候选解的搜索空间中寻找最优特征子集而采取的搜索方法。搜索策略可大致分为以下3 类:1)穷举式搜索它可以搜索到每个特征子集。缺点是它会带来巨大的计算开销,尤其当特征数较大时,计算时间很长。分支定界法(Branch and Bound, BB)通过剪枝处理缩短搜索时间。 [2]  2)序列搜索它避免了简单的穷举式搜索,在搜索过程中依据某种次序不断向当前特征子集中添加或剔除特征,从而获得优化特征子集。比较典型的序列搜索算法如:前向后向搜索、浮动搜索、双向搜索、序列向前和序列向后算法等。序列搜索算法较容易实现,计算复杂度相对较小,但容易陷入局部最优。3)随机搜索由随机产生的某个候选特征子集开始,依照一定的启发式信息和规则逐步逼近全局最优解。例如:遗传算法(Genetic Algorithm, GA)、模拟退火算法(SimulatedAnnealing, SA)、粒子群算法(Particl Swarm Optimization,PSO)和免疫算法(Immune Algorithm, IA)等。 [2]  评价标准在特征选择过程中扮演着重要的角色,它是特征选择的依据。评价标准可以分为两种:一种是用于单独地衡量每个特征的预测能力的评价标准;另一种是用于评价某个特征子集整体预测性能的评价标准。在Filte方法中,一般不依赖具体的学习算法来评价特征子集,而是借鉴统计学、信息论等多门学科的思想,根据数据集的内在特性来评价每个特征的预测能力,从而找出排序较优的若干个特征组成特征子集。通常,此类方法认为最优特征子集是由若干个预测能力较强的特征组成的。相反,在Wrapper 方法中,用后续的学习算法嵌入到特征选择过程中,通过测试特征子集在此算法上的预测性能来决定它的优劣,而极少关注特征子集中每个特征的预测性能如何。因此,第二种评价标准并不要求最优特征子集中的每个特征都是优秀的。 [2]  停止标准决定什么时候停止搜索, 即结束算法的执行。它与评价准则或搜索算法的选择以及具体应用需求均有关联。常见的停止准则一般有:1)执行时间即事先规定了算法执行的时间,当到达所制定的时间就强制终止算法运行,并输出结果。2)评价次数即制定算法需要运算多少次,通常用于规定随机搜索的次数, 尤其当算法运行的结果不稳定的情况下,通过若干次的运行结果找出其中稳定的因素。3) 设置阈值一般是给算法的目标值设置一个评价阈值,通过目标与该阈值的比较决定算法停止与否。不过,要设置一个合适的阈值并不容易,需要对算法的性能有十分清晰的了解。否则,设置阈值过高会使得算法陷入死循环,阈值过小则达不到预定的性能指标。 [2] 
收起全文
精华内容
下载资源
问答
  • 特征选择

    万次阅读 2017-03-11 18:41:18
    特征选择方法介绍

    1 特征选择介绍

    (1)特征选择的定义

    对当前学习任务有价值的属性称为是 “相关特征”,没有价值的属性称为是 “无关特征”,从给定的特征集中选择出相关特征子集的过程,就称为是 “特征选择”

    其中还有一种特征称为是 “冗余特征”,这些特征指的是可以从其他特征中推演出来的特征。

    (2)特征选择的重要性

    特征选择是一个“数据预处理”过程,它的重要性体现在两个方面:

    1. 减轻维度灾难问题。
    2. 去除无关特征可以降低学习的难度。

    2 子集搜索与评价

    想要找一个最好的特征子集,最简单最笨的方法就是把所有的特征排列组合,遍历每一个子集从中选择里面最好的一个,这种方法必然不可取。对这种方法的一种改进就是使用子集搜索与评价,它的思想就是先产生一个特征子集,然后对它进行评价,之后根据评价结果选择下一个特征子集,再进行评价,……,直到无法找到更好的候选子集。

    可以看出该算法是子集搜索与子集评价的一个迭代过程,下面分别对这两部分进行介绍:
      
    (1)子集搜索

    子集搜索分为“前向”(forward)搜索、“后向”(backward)搜索和“双向”(bidirectional)搜索。

    • 前向搜索 就是从只一个特征开始,每次增加一个特征,直到某次的特征子集不如上一轮的子集为止。
    • 后向搜索 就是从完整的特征集合开始,每次去掉一个无关的特征,直到去掉一个特征就会使效果明显下降为止。
    • 双向搜索 就是将前两种方法结合在一起,每一轮逐渐增加选定的相关特征(这些特征在后续迭代中不会被去掉),同时减少无关特征。

    (2)子集评价

    每一个特征子集的特征都是对数据集的一种划分,而我们希望的就是这种划分与用样本标记信息对数据集的划分结果越相似越好,因此就可以利用这两种划分方式的不同来对特征子集进行评价,信息熵 是子集评价的一种方式,还有其他很多方式。

    对于给定的数据集 DDD,假定第 iii 类样本所占的比例为 pi (i=1,2,⋯ ,∣y∣)p_i\ (i=1,2,\cdots,|y|)pi (i=1,2,,y),为了便于讨论,假定属性都是离散型,假设根据子集 AAA 将数据集 DDD 分成了个 VVV 子集,{D1,D2,⋯ ,DV}\{D^1,D^2,\cdots,D^V\}{D1,D2,,DV},每个子集的样本在 AAA 上取值相同,于是子集 AAA 的信息增益为:

    Gain(A)=Ent(D)−∑v=1V∣Dv∣∣D∣Ent(Dv)Gain(A)=Ent(D)-\sum^V_{v=1}{\frac{|D^v|}{|D|}Ent(D^v)}Gain(A)=Ent(D)v=1VDDvEnt(Dv)

    其中信息熵的定义为:

    Ent(D)=−∑i=1∣y∣pklog2pk Ent(D)=-\sum^{|y|}_{i=1}p_klog_2p_k Ent(D)=i=1ypklog2pk

    信息增益 Gain(A)Gain(A)Gain(A) 越大,意味着特征子集 AAA 包含的有助于分类的信息越多,因此,就可以基于训练数据集来计算每个候选特征子集的信息增益,从而作为评价指标。

    3 特征选择方法

    常见的特征选择方法大致分为三类:过滤式(filter)、包裹式(wrapper)和嵌入式(embedding)。

    3.1 过滤式选择(Filter)

    过滤式方法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关。

    Relief(Relevant Features) 是著名的过滤式特征选择方法,Relief 为一系列算法,它包括最早提出的 Relief 以及后来拓展的 Relief-FRRelief-F ,其中最早提出的 Relief 针对的是二分类问题,RRelief-F 算法可以解决多分类问题,RRelief-F算法针对的是目标属性为连续值的回归问题。

    详细介绍可以参考 Relief 特征选择算法简单介绍

    3.2 包裹式选择(Wrapper)

    与过滤式选择不考虑后续学习器不同,包裹式选择直接把最终将要使用的学习器的性能作为特征子集的评价依据,也就是说,包裹式特征选择是为给定的学习器选择最有利的特征子集。

    与过滤式选择相比,包裹式选择的效果一般会更好,但由于在特征选择过程中需要多长训练学习器,因此包裹式选择的计算开销要大很多。

    LVW(Las Vegas Wrapper) 是一种典型的包裹式特征选择方法,它在拉斯维加斯方法框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。

    详细介绍可以参考 LVW(Las Vegas Wrapper)特征选择算法简单介绍

    3.3 嵌入式选择(Embedding)

    在过滤式选择与包裹式选择方法中,特征选择过程与学习器训练过程有明显区别,与它们不同的是: 嵌入式选择是将特征选择过程与学习器训练过程融合为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。

    基于 L1L_1L1 正则化的学习方法就是一种嵌入式的特征选择方法,通过在目标函数中加入 L1L_1L1 范数正则化,从而得到“稀疏”(sparse)解,稀疏解可以使一些特征的权重为 000 ,那些非 000 的特征就可以视为是选择的特征,因此其特征选择过程与学习器训练过程融为一体,同时完成,可以视为是一种嵌入式的方法。值得一提的是,L1L_1L1 范数相比于L2L_2L2 范数更易获得稀疏解。
      
      
      
      
    【参考文献】
      《机器学习》周志华著.–北京:清华大学出版社

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,140
精华内容 12,856
关键字:

特征选择