特征选择(西瓜书笔记)

1、子集搜索与评价

我们能用很多属性描述一个西瓜,例如色泽、根蒂、敲声、纹理、触觉等,但有经验的人往往只需看看根蒂、听听敲声就知道是否是好瓜。

对于一个学习任务来说,给定属性集,其中有些属性可能很关键,另一些属性则可能没什么用。

我们将属性称为“特征”(feature)

对当前学习任务有用的属性称为“相关特征”(relevant feature)

没什么用的属性称为“无关特征”(irrelevant feature)。

从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”(feature selection)。

 

为什么需要特征选择?

• 维数灾难问题

• 去除不相关特征往往会降低学习任务的难度

 

注意:特征选择过程必须确保不丢失重要特征,否则后续学习过程会因为重要信息的缺失而无法获得好的性能。给定数据集,若学习任务不同,则相关特征很可能不同,因此,特征选择中所谓的“无关特征”是指与当前学习任务无关。

 

冗余特征(redundant feature):它们包含的信息能从其他特征中推演出来。

考虑立方体对象,若已有特征“底面长”、“底面宽”,则“底面积”是冗余特征,因为它能从“底面长”和“底面宽”得到。冗余特征在很多时候不起作用,去除它们会减轻学习过程的负担,但有时冗余特征会降低学习任务的难度。

 

如何从初始的特征集合中选取一个包含了所有重要信息的特征子集?

“前向”(forward)搜索:给定特征集合{a1,...,ad},我们可以把每个特征看作一个候选子集,对这d个候选单特征子集进行评价,选择最优的集合作为这一轮的选定集;然后在上一轮的选定集中加入一个特征,构成包含两个特征的候选子集,评价选出最优的集合作为这一轮的选定集;以此类推,直到第k+1轮时,最优的候选(k+1)特征子集不如上一轮的选定集,则停止生成候选子集,并将上一轮选定的k特征集合作为特征选择结果。

“后向”(backward)搜索:我们从完整的特征集合开始,每次尝试去掉一个无关特征,逐渐减少特征。

“双向”(bidirectional)搜索:将前向和后向搜索结合起来,每一轮逐渐增加选定相关特征(这些特征在后续轮中将确定不会被去除)、同时减少无关特征。

上述三种策略都是贪心的,因为它们仅考虑了使本轮选定集最优。要保证获得全局最优,只能进行穷举搜索。

 

上面已经解决了子集搜索问题,提到的三种策略都需要对子集进行评价,那么接下来的问题是“子集评价”问题

常用信息增益来评价子集,类似决策树。Gain(A)为子集A的信息增益,Ent(D)为信息熵。

信息增益Gain(A)越大,意味着特征子集A包含的有助于分类的信息越多。于是,对每个候选特征子集,我们可基于训练数据集D来计算其信息增益,以此来作为评价准则。

 

特征选择 = 特征子集搜索机制 + 子集评价机制

常见的特征选择方法大致可分为三类:过滤式(filter)、包裹式(wrapper)和嵌入式(embedding),接下来逐个介绍这三个方法。

2、过滤式选择

过滤式选择方法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后序学习器无关。这相当于先用特征选择过程对初始特征进行过滤,再用过滤后的特征来训练模型。

 

Relief(Relevant Features)[Kira and Rendell, 1992]:一种著名的过滤式特征选择方法

设计一个“相关统计量”来度量特征的重要性。该统计量是一个向量,其每个分量分别对应于一个初始特征,而特征子集的重要性则是由子集中每个特征所对应的相关统计量分量之和来决定。于是,最终只需指定一个τ,然后选择τ大的相关统计量分量所对应的特征即可;也可指定欲选取的特征个数k,然后选择相关统计量分量最大的k个特征。

显然,Relief的关键是如何确定相关统计量。

给定训练集{(x1,y1),(x2,y2),...,(xm,ym)},对每个实例xi,Relief现在xi的同类样本中寻找其最近邻Xi,nh,称为“猜中近邻”(neat-hit),再从xi的一类样本中寻找其最近邻Xi,nm,称为“猜错近邻”(near-miss),然后,相关统计量对应于属性j的分量为

 

其中表示样本xa在属性j上的取值,取决于属性j的类型。

对离散型属性:

对连续型属性:

注意 和  已规范化到[0, 1]区间

从上述式子可看出,若xi与其猜中近邻Xi,nh在属性j上的距离小于xi与其猜错近邻Xi,nm的距离,则说明属性j对区分同类与异类样本是有益的,于是增大属性j所对应的统计量分量。最后,对基于不同样本得到的估计结果进行平均,就得到各属性的相关统计量分量,分量值越大,则对应属性的分类能力就越强。

3、包裹式选择

与过滤式特征选择不考虑后续学习器不同,包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价准则。换言之,包裹式特征选择的目的就是为给定学习器选择最有利于其性能、“量身定做”的特征子集。

一般而言,由于包裹式特征选择方法直接针对给定学习器进行优化,因此从最终学习器性能来看,包裹式特征选择比过滤式选择更好,但另一方,由于在特征选择过程中需多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择大得多。

LVW(Las Vegas Wrapper)[Liu and Setiono, 1996]:一个典型的包裹式特征选择方法

它是在拉斯维加斯方法框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。算法描述如下:

算法第8行是通过在数据集D上,使用交叉验证法来估计学习器的误差,注意这个误差是仅考虑特征子集A`是得到的,即特征子集A'上的误差,若它比当前特征子集A上的误差更小,或误差相当但A'中包含的特征数更少,则将A'保留下来。

4、嵌入式选择与L1正则化

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

考虑最简单的线性回归模型,以平方误差为损失函数,为了缓解过拟合问题,使用L2范数正则化,则有:

若使用L1范数,则有:

L1范数和L2范数正则化都有助于降低过拟合风险,而L1范数比L2范数更易于获得“稀疏”(sparse)解。

为了理解这一点,我们来看一个直观的例子:假定x仅有两个属性,于是解出的ω只有两个分量,即ω1,ω2,我们将其作为两个坐标轴,然后在图中绘制出式(1)和式(2)的第一项的“等值线”,再分别绘制L1范数与L2范数的等值线。如下图所示:

L1正则化比L2正则化更易于得到稀疏解

由上图可看出,采用L1范数时平方误差项等值线与正则化项等值线的交点常出现在坐标轴上,即ω1或ω2为0,而在采用L2范数时,两者的交点常出现在某个象限中,即ω1和ω2均非0。

注意到ω取得稀疏解意味着初始的d个特征中仅有对应着ω的非零分量的特征才会出现在最终模型中,于是,求解L1范数正则化的结果是得到了仅采用一部分初始特征的模型;换言之,基于L1正则化的学习方法就是一种嵌入式特征选择方法,其特征选择过程与学习器训练过程融为一体,同时完成。

转载于:https://www.cnblogs.com/zz-jing/p/9091099.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值