特征选择

1 特征选择介绍

(1)特征选择的定义

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

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

(2)特征选择的重要性

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

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

2 子集搜索与评价

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

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

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

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

(2)子集评价

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

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

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

其中信息熵的定义为:

E n t ( D ) = − ∑ i = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum^{|y|}_{i=1}p_klog_2p_k Ent(D)=i=1ypklog2pk

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

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)

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

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

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页