1、子集搜索与评价
我们能用很多属性描述一个西瓜,例如色泽、根蒂、敲声、纹理等等。但有经验的人往往只需看根蒂,听听敲声就可以知道是否是好瓜,换言之,对于一个学习任务来说,给定属性集,其中有些属性可能很关键,而另一些则可能没什么用,我们将这些属性称为特征的话,对当前学习任务有用的特征称为相关特征,而没什么用的特征称为无关特征,从给定的特征集选择特征的过程,称为特征选择
为什么要进行特征选择呢?有两个重要的原因,一个是避免维数灾难问题,另一个是,去除不相关的特征往往会降低学习任务的难度。
如果想从初始的特征集合中选取一个包含了所有重要信息的特征子集,若没有任何领域作为先验知识,那就只好遍历所有可能的子集了,然而这在计算上是不可能的,特征个数稍多就无法进行,可行的方法是产生一个候选子集,判断它的好坏,基于评价结果产生下一个候选特征子集。显然,有两个环节需要注意:如何根据评价结果选取下一个子集?如何评价特征子集的好坏?
将特征子集搜索机制和子集评价机制相结合,即可得到特征选择方法,例如将前向搜索与信息熵相结合,这显然与决策树算法非常相似。常见的特征选择方法大致可分为三类:过滤式、包裹式和嵌入式
2、过滤式选择
过滤式方法先对数据集进行特张选择,然后再训练学习器,特征选择过程与后续学习器无关,这相当于先用特征选择过程对初识特征进行“过滤”,然后再用过滤后的特征来训练模型。
Relief方法
3、包裹式选择
包裹式选择特征不考虑后续学习器不同,包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价准则。换言之,包裹式特征选择的目的就是为给定学习器选择最有利于其性能,量身定做的特征子集。包裹式选择比过滤式特征选择更好,但是另一方面,计算开销却要大得多。
LVW方法
4、嵌入式选择与L1正则化
嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中优化,即在学习器训练过程中自动进行了特征选择。