《机器学习》西瓜书第十一章特征选择与稀疏学习

第十一章 特征选择与稀疏学习

11.1 子集搜索与评价

对当前学习任务有用的属性称为“相关特征 ”、没什么用的属性称为“无关特征”。从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”。

特征选择是一个重要的“数据预处理”过程,获取数据之后通常先进行特征选择,此后在训练学习器。

为什么要进行特征选择?原因:①为了解决属性过多导致的维数灾难问题;②去除不相关的特征往往会降低学习任务的难度。-

如何从初始的特征集合中选取一个包含所有重要信息的特征子集?产生一个“候选子集”,评价其好坏,基于评价结果产生下一个候选子集,再对其进行评价,直到无法找到更好的候选子集为止。

第一个环节是“子集搜索”,给定特征集合,我们可以将每个特征看做一个候选子集,对这d个候选单特征子集进行评价,假定{

a_2

}最优,于是将其作为第一轮的选定集;然后在上一轮的选定集中加入一个特征,然后再进行评价。。。假定在第k+1轮时,最优的候选k+1特征子集不如上一轮的选定集,则停止生成候选子集,并将上一轮选定的k特征集合作为特征选择结果。这样逐渐增加相关特征的策略称为“前向搜索”,类似的,如果我们从完整的特征集合开始,每次尝试去掉一个无关特征,这样逐渐减少的特征策略称为“后向搜索”。还可以将前向搜索与后向搜索结合起来,每一轮逐渐增加选定相关特征、同时减少无关特征,这样的策略称为“双向”搜索。

第二个环节是“子集评价”问题,属性子集A的信息增益:

其中信息熵定义为:

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

更一般的,特征子集A是加上确定了对数据集D 的一个划分,每个划分区域对应着A上的一个取值,而样本标记信息Y则对应着对D的真是划分,通过估算这两个划分的差异,就能对A进行评价。

将特征子集搜索与子集评价机制相结合,即可得到特征选择方法。

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

11.2 过滤式选择

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

Relief是一种著名的过滤式特征选择方法。该方法利用“相关统计量”来度量特征的重要性。该统计量是一个向量,每个分量分别对应于一个初始特征,而特征子集的重要性则是由子集中每个特征所对应的相关统计量分量之和来决定。最终只需制定一个阈值,然后选择比阈值大的相关统计量的分量所对应的特征即可。

如何确定相关统计量?给定训练集

{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}

对每个示例xi,Relief先在其同类样本中寻找其最近邻,称为“猜中近邻",再从xi的异类样本中寻找其最近邻,称为”猜错近邻'',然后相关统计量对应于属性j的分量为

若xi与其猜中近邻在属性j上的距离小于xi与其猜错近邻的距离,则说明属性j对区分同类与异类样本是有益的,于是增大属性j所对应的统计量分量;反之,若大于,则说明属性j其负面作用,于是减小属性j所对应的统计量分量。最后对基于不同样本得到的估计结果进行平均,就得到各属性的相关统计量分量,分量值越大,则对应属性的分类能力就越强。

11.3 包裹式选择

与过滤式特征选择不考虑后续学习器不同,包裹式特征选择直接把最终将要使用的学习器性能作为特征子集的评价准则。

猜你喜欢

转载自www.cnblogs.com/ttzz/p/11730679.html