特征选择过程与方法
1. 特征选择过程
特征选择是从原数据的特征集合中寻找一个目标子集,使其携带最有效的分类信息。
特征选择的目的是依据某种算法挑选出尽可能少的特征子集而达到尽可能好的分类效果。
通常,特征选择由四个步骤组成:搜索策略、评价函数、终止条件和结果验证。
框架图如下所示:
由框架图可知,原始特征子集使用搜索策略生成特征子集,这些特征子集将用评价函数
来进行评价,若评价的结果符合预先设定的条件则结束特征选择的算法,并对生成的特征
子集的有效性实施验证操作。若不满足先前设定的条件则返回搜索策略的步骤,循环构建
特征子集,直至符合预先设定的条件。
2. 特征选择方法
本文所介绍的特征选择的过程及方法可以由下图概括:
具体方法介绍如下
2.1.搜索策略
搜索策略主要分为三大类,分别是全局最优搜索策略、启发式搜索策略和随机搜索策略。
2.1.1. 全局最优搜索策略
全局最优搜索策略的基本思路是从所有可能的搜索空间状态中挑选出表现最优的特征子集,两个典型代表是穷举法以及分支界定法。
穷举法: 假设特征数目为 m,则穷举法的搜索空间为
O
(
2
m
)
O(2^m)
O(2m)
分支界定法:以树结构的形式将所有可能的搜索空间分割成一个个小的候选特征子集,并对每一个子集(子节点)进行定界,如果分割后生成的子集对应的评价函数值(限界)均不大于当前节点对应的评价函数值则减掉搜索树的,这样就可以保证空间树的搜索方向是朝着包含最优解的分支展开。
2.1.2. 启发式搜索策略
启发式的搜索策略将要解决的问题中的一些特征作为导向,使搜索的进程向最优目标推进。
通常,启发式搜索策略包括前向序列选择方法、后向序列删除方法、增l减r方法、序列浮动搜索方法等。
前向序列选择方法:由空的候选集合出发,依据剩下的特征集合中所有特征对应的评价函数值,挑选值最大的特征放入候选特征集合同时将该特征从原始集合剔除。当特征选择过程满足预先设定的终止条件时,迭代结束。
后向序列删除方法:从原始特征全集出发,将原特征集所有特征中使评价函数值最小的特征剔除,即剔除对分类任务贡献最小的特征。达到预先设定的候选特征子集中特征个数时迭代结束。
增 l 减 r 方法:从空集开始,迭代一次就会加入l个分类信息多的特征并剔除r 个分类信息小的特征,达到迭代次数时结束循环,其中l与r的值是固定的。
序列浮动搜索方法:增l减r方法的改进,该搜索策略会按照现实情况动态调整步长增加l和删除特征 r 的取值。
2.1.3. 随机搜索策略
随机搜索策略是根据随机取样函数来随机生成候选子集的,在随机采样具体实施的过程中,先为特征赋予一定权重且每迭代一次特征的权重就更新一次,其次通过与用户设定的阈值进行比较来对特征的重要程度进行评估,最后选择大于阈值的特征来训练分类器。
随机搜索策略的典型代表是遗传算法和模拟退火算法。
2.2. 评价函数
评价函数常用来对候选特征以及特征子集的性能进行评估。评价函数大致可以分为五种:距离度量、一致性度量、依赖性度量、信息度量和分类误差度量。
2.2.1. 距离度量
距离度量的评判依据是样本间的距离,该评价函数认为样本间的距离越小,则样本之间相似度越高,越可能同属一个类别。
距离度量可以分为几何距离度量及概率距离度量。
几何距离度量:更具体的分为欧氏距离(典型算法:Relief算法)及马氏距离。
概率距离度量:用概率的形式刻画样本之间距离,若某一距离度量能够实现类间距离尽可能大且类内距离尽可能小,则说明该距离度量的类别间的可分离性很强。
2.2.2. 一致性度量
一致性度量的目的是找到和原特征集具有一样分类性能的最小的特征集合,它通常采用不一致率来进行评价。
若通过计算得知给定俩样本的特征值相同但分别属于不同的类别,这种情况就说它们不一致,否则认为是一致的。数据集中不一致率体现为不一致样本数和总样本数的比值。在一致性度量具体实施过程中,若删除某一特征之后,样本数据集不一致率增大幅度很明显,则证明这个特征重要性高,反之,认为该特征不重要。
2.2.3. 依赖性度量
依赖性度量也称为相关性度量,该度量主要是对特征和类别之间以及特征与特征之间的相关性进行考察,也就是说,若两变量在统计学角度上是相关的,那么通过一个变量的值就可以预估另外一个的值。通常,变量之间的相关程度可以通过相关系数来确定。目前人们已经提出了很多的相关系数,其中包括 t-test、F-measure、皮尔逊相关系数以及 Fisher 分数等。
2.2.4. 信息度量
信息度量用信息熵、信息增益以及互信息等信息论知识来量化特征所包含的对分类有用的信息,该度量标准用特征与类标签之间信息量大小来评价特征子集分类性能的优劣程度。
特征和类标签间互信息的值如果越大,用这些选择出来的特征构建起来的分类器会有较好的分类性能。
2.2.5. 分类误差度量
分类误差度量与以上四种评价函数都不同,一方面,以上几种度量方式均侧重特征和特征之间以及特征和类标签之间相关性的度量,没有调用分类器,而分类误差度量直接调用分类器,在分类器上有较好分类性能的特征子集会被优先选择。另一方面,以上四种评价函数是过滤式模型,而分类误差度量是包装式的。
2.3. 终值条件
以下是常用的几种终止条件:
1)候选特征子集中包含的特征总数目超过了我们在特征选择之前设置的最大值;
2)特征选择在循环的过程中搜索的总次数超过我们在之前设定的最大次数;
3)所选用评价函数的值为最优值;
4)所选用评价标准函数值超过特征选择过程执行之前设定的最大值。
2.4. 结果验证
为保证选择出来的特征都是有效的,通过选用不同的测试集和分类器来验证特征子集的分类性能,最后对比分析特征子集的验证结果。