1. 特征
特征:描述物体的属性。
特征的分类:相关特征: 对当前学习任务有用的属性;无关特征: 与当前学习任务无关的属性
特征选择:从给定的特征集合中选出任务相关特征子集;必须确保不丢失重要特征。
原因:减轻维度灾难:在少量属性上构建模型;降低学习难度:留下关键信息
特征选择的一般方法:遍历所有可能的子集;计算上遭遇组合爆炸,不可行。
可行方法:
两个关键环节:子集搜索和子集评价。若要从初始的特征集合中选取一个包含了所有重要信息的特
征子集,如果没有任何领域知识作为先验假设,那就只好遍历所有可能的子集了。然而,这在计算
上是不可行的,因为这样做会遭遇组合爆炸,特征个数稍多,就无法进行。
1.1 子集搜索
用贪心策略选择包含重要信息的特征子集;前向搜索:最优子集初始为空集,逐渐增加相关特征
后向搜索:从完整的特征集合开始,逐渐减少特征;双向搜索:每一轮逐渐增加相关特征,同时减
少无关特征。特征选择的第一个环节,是“子集搜索”问题,通常我们选择用贪心策略选择包含重要
信息的特征子集。即,仅考虑了本轮选定的特征集合是最优的。
1.2 子集评价
特征子集A 确定了对数据集D的一个划分:每个划分区域对应着特征子集A的某种取值。样本标记Y
对应着对数据集的真实划分。通过估算这两个划分的差异,就能对特征子集进行评价;与样本标记
对应的划分的差异越小,则说明当前特征子集越好。信息熵是判断这种差异的一种方式:
特征选择的第二个环节,是“子集评价”问题,对于特征子集 A 确定了对 数据集 D 的一个划分,每
个划分区域对应着特征子集 A 的某种取值,样本标记信息 Y 对应着对数据集 D 的真实划分。通过
估算这两个划分的差异,就能对特征子集 A 进行评价;与 样本标记 Y 对应的划分的差异越小,则
说明当前特征子集 A 越好。我们可以选择信息熵来判断这种差异。
2. 常见的特征选择方法
将特征子集搜索机制与子集评价机制相结合,即可得到特征选择方法。
2.1 过滤式
先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关。先用特征选择过
程过滤原始数据,再用过滤后的特征来训练模型。
Relief (Relevant Features) 方法是一种著名的过滤式特征选择方法。Relief算法最早由Kira提出,
最初局限于两类数据的分类问题。Relief算法是一种特征权重算法(Feature weighting algorithms),
根据各个特征和类别的相关性赋予特征不同的权重(相关统计量),权重小于某个阈值的特征将被
移除。Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。Relief的关键是如何
确定权重(相关统计量)?
Relief算法从训练集D中随机选择一个样本 𝒙𝑖 ,然后从和 𝒙𝑖 同类的样本中寻找最近邻样本,称为
猜中近邻(near-hit);从和 𝒙𝑖 不同类的样本中寻找最近邻样本,称为猜错近邻(near-miss),
然后根据以下规则更新每个特征的权重:如果 𝒙𝑖 和猜中近邻在某个特征上的距离小于 𝒙𝑖 和猜错近
邻上的距离,则说明该特征对区分同类和不同类的最近邻是有益的,则增加该特征的权重;反之,
如果 𝒙𝑖 和猜中近邻在某个特征的距离大于 𝒙𝑖 和