特征
在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表征的。比如在房价预测的问题中,影响房价y的因素有房子面积x1,卧室数量x2等,我们得到的样本数据就是(x1,x2)这样一些样本点,这里的x1和x2又被称为特征。
特征选择
为什么做特征选择?
在现实生活中,一个对象往往具有很多属性(以下称为特征),这些特征大致可以分成三种主要的类型:
- 相关特征:对于学习任务有帮助,可以提升学习算法 的效果。
- 无关特征:对于我们的算法没有任何帮助,不会给算法的效果带来任何提升。
- 冗余特征:不会对我们的算法带来新的信息,或者这种特征的信息可以由其他的特征推断出来。
但是对一个特定的学习算法来说,哪一个特征是有效的是未知的。因此需要从所有特征中选择出对于学习算法有益的相关特征。
进行特征选择的主要目的:
- 降维
- 降低学习任务的难度
- 提升模型的效率
什么是特征选择?
定义:从N个特征中选择其中M个子特征,并且在M个子特征中,准则函数可以达到最优解。
特征选择想要的做的是:选择尽可能少的子特征,模型效果不会显著下降,并且结果的类别分布尽可能的接近真实的类别分布。
怎么做特征选择?
特征选择主要包含四个过程:
1、生成过程:生成候选的特征子集
生成过程是一个搜索过程,这个过程主要有以下三个策略:
1)完全搜索:根据评价函数做完全搜索,主要有两种:穷举搜索和非穷举搜索
2)启发式搜索:根据一些启发式规则在每次迭代时,决定剩下的特征是应该被选择还是别拒绝,这种方法很简单并且速度很快。
3)随机搜索:每次迭代时会设置一些参数,参数的选择会影响特征选择的效果。
2、评价函数:评价特征子集的好坏
评价函数主要用来评价选出的特征子集的好坏,一个特征子集是最优的往往指相对于特定的评价函数来说的。评价函数主要用来度量一个特征可以区分不同类别的能力。根据具体的评价方法主要有三类:过滤式、包裹式、嵌入式、过滤和包裹组合式。
3、停止条件:决定什么时候该停止
停止条件用来决定迭代过程什么时候停止,生成过程和评价函数可能会对于怎么选择停止条件产生影响。停止条件有以下四种选择:
- 达到预定义的最大迭代次数;
- 达到预定义的最大特征数;
- 增加(删除)任何特征不会产生更好地特征子集;
- 根据评价函数产生最优特征子集。
4、验证过程:特征子集是否有效
特征提取
特征提取:是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的特征空间。
特征选择:是从原始特征数据集中选择出子集,是一种包含关系,没有改变原始的特征空间。
目前图像特征的提取方法主要有两种方法:传统图像特征提取方法和深度学习方法。
- 传统的特征提取方法:基于图像本身的特征进行提取
- 深度学习方法:基于样本自动训练出区分图像的特征分类器
特征选择和特征提取都属于降维。