机器学习——特征选择(子集搜索与评价)

我们将属性称为“特征”

对当前学习任务有用的属性:相关特征

没什么用的属性:无关特征

冗余特征:所包含的信息能从其他特征中推演出来)

从给定的特征集合中选择出相关特征子集的过程:特征选择

特征选择——即“数据预处理”过程

现实机器学习:获得数据之后先特征选择,后训练学习器

特征选择原因:

1、维数灾难:属性过多(与降维类似)

2、降低学习任务的难度


欲从初始特征集合中选取一个包含了所有重要信息的特征子集,若没有任何领域知识作为先验假设,那就只好遍历所有可能的子集;然而这在计算上会遭遇组合爆炸,特征个数稍多就无法进行,可行的做法是产生“候选子集”,评价出它的好坏,基于评价结果产生下一个候选子集,再对其进行评价,……这个过程持续进行下去,直至无法找到更好的特征子集为止。

问题来了:如何根据评价结果候选下一个特征自己?如何评价候选特征子集的好坏?

环节1:“子集搜索”(子集生成与搜索)——前向、后向、双向。 缺点:太贪心,需要穷举搜索

环节2:“子集评价”——

数据集D,属性子集A,D分为V个子集,每个子集中的样本在A上取值相同,于是可计算属性子集A的信息增益

,

其中信息熵定义为 ,

信息增益越大,意味着特征子集A包含的有助于分类的信息越多;因此信息增益可作为评价准则。


特征选择方法:特征子集搜索+特征子集评价

eg,前向搜索+信息熵类似于决策树算法

其他特征选择方法虽不这么明显,但本质都是显式或隐式的结合了某种(或多种)子集搜索机制和子集评价机制。


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

你可能感兴趣的:(机器学习,人工智能,深度学习)