机器学习中的特征选择和特征提取:概述
机器学习的重要方面包括“ 特征选择 ”和“ 特征提取 ”。
机器学习中的特征选择与特征提取
什么是特性选择(或变量选择)?
选择学习算法的输入变量的某个子集的问题,它应该将注意力集中在这个子集上,而忽略其余的。换句话说,降维。作为人类,我们经常这样做!
什么是特征选择(或变量选择)?
数学上讲,
- 在给定一组特征F = {f1,…,fi,…,fn}的情况下,特征选择问题是找到一个“最大限度提高学习者分类模式能力”的子集
- F '应该最大化一些得分函数
- 这个通用定义包含特征选择(即特征选择算法也执行映射,但只能映射到输入变量的子集)
特征选择:两种思想流派
关于特征选择有两种观点
虽然上述两种思想共存,但我们将重点放在特征选择的动机上。
- 特别是在处理大量变量时,需要降维
- 特征选择可以显着提高学习算法的性能
维度的诅咒
所需的样本数量(为了达到同样的精度)随变量的数量呈指数增长。
在实践中:训练例子的数量是固定的。
分类器的性能通常会因为大量的特性而降低
在许多情况下,丢弃变量所丢失的信息是由较低维度空间中的更精确的映射/抽样所弥补的。
特征选择 - 最优性?
理论上,目标是找到最佳特征子集(最大化评分函数的子集)。
在实际应用中,这通常是不可能的。
对于大多数问题,搜索可能的特征子集的整个空间在计算上是难以处理的
通常必须满足最佳子集的近似值
该领域的大部分研究致力于寻找有效的搜索 - 启发式方法
最佳特征子集:
- 通常,根据分类器的性能来定义最佳特征子集
- 理论上最好的是希望贝叶斯误差率
特征相关性
在文献中有几种相关的定义。
- 1个变量的相关性,给定其他变量的相关性,给定学习算法的相关性。
- 大多数定义都是有问题的,因为有一些问题是所有的特性都被声明为不相关的
- 这可以通过两个相关性来定义:弱相关性和强相关性。
- 一个特征可能是相关的、弱相关、强相关或者不相关(冗余)。
变量/特征的强相关性:
设Si = {f1,...,fi-1,fi + 1,... fn}是除fi之外的所有特征的集合。用si表示对Si中所有特征的值赋值。
特征fi是强相关的,如果存在一些xi,y和si,其中p(fi = xi,Si = si)> 0,使得
p(Y = y | fi = xi; Si = si)≠p(Y = y | Si = si)
这意味着单独移除fi将总是导致最佳贝叶斯分类器的性能下降。
变量/特征的弱相关性:
特征fi是弱相关的,如果它不是非常相关的,并且存在Si的特征Si'的子集,其中存在一些xi,y和si',其中p(fi = xi,Si'= si')> 0这样
p(Y = y | fi = xi; Si'= si')≠p(Y = y | Si'= si')
这意味着,存在特征的一个子集的Si“使得在最佳的贝叶斯分类器的性能的Si”是差于Si’ U { fi }
总结
- 特性选择可以显著提高学习算法的性能(准确性和计算时间)——但这并不容易!
- 相关性< - >最优