11.1子集搜索与评价
1、特征选择:我们将属性称为“特征”,对当前学习任务有用的特征称为“相关特征”、没有什么用的属性称为“无关特征”。从给定集合中选择出相关特征子集的过程,称为“特征选择”。
2、在机器学习任务中,先进行特征选择,再训练学习器的原因:(1)我们在现实任务中经常会遇到维数灾难问题,这是由于属性过多而造成的,若能从中选出重要特征,使得后续学习过程仅需在一部分特征上构建模型,则维数灾难问题会大为减轻。(特征选取和降维有相似的动机,他们是处理高维数据的两大主流技术)。(2)去除不相关特征往往会降低学习任务的难度,这就像侦探破案一样,若将纷繁复杂的因素抽丝剥茧,只留下关键因数,则真想往往更易看清。
- 需要注意的是,特征选择过程必须确保不丢失重要特征,否则后续学习过程会因为重要信息的缺失而无法获得好的性能。
- 无关特征:指与当前学习任务无关
- 冗余特征:它们所包含的特征能从其他特征中推演出来。
3、可行方法:先产生一个“候选子集”,评价出它的好坏,基于评价结果产生下一个候选子集,再对其进行评价,这样持续下去,直至无法找到更好地候选子集为止。
4、子集搜索:(1)“向前”子集搜索法:给定特征集合{a1,a2,…,ad},我们可将每个特征看做一个候选子集,对这d个候选单特征子集进行评价,假定{a2}最优,于是将{a2}作为第一轮的选定集;然后,在上一轮的选定集中加入一个特征,构成包含两个特征的候选子集,假定这d-1个候选两特征子集中{a2,a4}最优,且优于{a2},于是将{a2,a4}作为本轮的选定集;假定在第k+1轮时,最优的特征子集不如上一轮的候选定集,则停止生成子集并将上一轮选定的K特征集合作为特征选择结果。这样逐渐增加相关特征的策略称为“向前”搜索。(2)“向后”子集搜索法:类似的,若我们给定一个完整的特征子集,每次尝试去掉一个无关的特征,这样逐步减少的特征的方法称为“向后”搜索。
- 还可将向前向后搜索结合起来每次减少或增加相关特征。
5、子集评价:对于给定的数据集D,我们将其中的属性子集A中根据不同的值划分成为{D1,D2,…Dv},每个子集中在样本A上的取值相同,于是计算属性子集A的信息增益,信息增益Gain(A)越大,就意味着特征子集A包含的有助于分类的信息越多,于是对于每个候选特征子集,我们可基于训练数据集D来计算信息增益以此作为评价准则。
- 将特征子集搜索机制与评价机制结合起来,即可得到特征选择方法。常见的特征选择方法大致分为三类:过滤式,包裹式和嵌入式。
11.2 过滤式选择
Relief:过滤式特征选择方法,该方法设计了一个“相关统计量”来度量特征的重要性.该统计量是一个向量,其每个分量分别对应于一个初始特征,而特征子集的重要性则是由子集中每个特征所对应的相关统计量分量之和来决定,于是,最终只需指定一个阈值r,然后选择比 大的相关统计量分量所对应的特征即可;也可指定欲选取的特征个数k,然后选择相关统计量分量最大的k个特征。
确定相关统计量:若xi与其猜中近邻xi,nh在属性j上的距离小于xi与其猜错近邻xi,nm的距离,则说明属性j对区分同类与异类样本是有益的,于是增大属性j所对应的统计量分量;反之,若xi与其猜中近邻xi,nh在属性j上的距离大于xi;与其猜错近邻xi,nm的距离,则说明属性j起负面作用,于是减小属性j所对应的统计量分量,最后,对基于不同样本得到的估计结果进行平均,就得到各属性的相关统计分量,分量值越大,则对应的属性分类值越强。
11.3 包裹式选择
包裹式选择:与过滤式特征选择不考虑后续学习器不同,包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价准则,换言之,包裹式特征选择的目的就是为给定学习器选择最有利于其性能、“量身定做”的特征子集。
11.4 嵌入式选择与L1正则化
在过滤式和包裹式特征选择方法中,特征选择过程与学习器训练过程有明显的分别;与此不同,嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。
11.5 稀疏表示与字典学习
特征选择所考虑的问题是特征具有“稀疏性”,即矩阵中的许多列与当前学习任务无关,通过特征选择去除这些列,则学习器训练过程仅需要在较小的矩阵上进行,学习任务的难度可能有所降低,涉及的计算和储存开销会减少,学得模型的可解释性也会提高。