特征选择与特征提取

一、特征的选择

1、原始特征

在描述对象的时候
模式识别中把每个对象都量化为一组特征来描述,构建特征空间是解决模式识别问题的第一步,其中通过直接测量得到的特征称为原始特征
如: - 人体的各种生理指标(以描述健康状况) - 数字图像中的每点的灰度值(以描述图像内容)

原始特征的形成一般包含三大类:物理、结构和数学特征

物理和结构特征:易于为人的直觉感知,但是有时难以定量描述,因此不利于机器判别数学特征:易于用机器判别和分析,如统计特征。

原始特征是我们直接测量获得的,但是往往不用于模式识别中,主要有以下几个原因:

1、原始特征不能反映对象的本质特征;
2、高维的原始特征不利于分类器的设计;
3、计算量大,如对于一幅1024768的灰度图像,灰度级为256级,直接表示需要786432 bytes,进行训练识别所需的空间、时间和计算量都无法接受冗余,原始特征空间中,大量的特征都是相关性强的冗余特征样本分布十分稀疏,对于有限训练样本而言,在高维的原始特征空间中分布十分稀疏

如果将数目过多的测量值不做分析,直接用于分类特征,不但耗时,而且会影响分类效果,产生“维数灾难”等问题。

针对原始特征以上的特性和不足,为了设计出更好的分类器,通常需要对原始特征的测量值集合进行分析,经过选择变换处理,组成有效的识别特征。 处理方式主要有以下思路:

1、 在保证一定分类精度的前提下,减少特征维数,进行“降维”处理,使分类器实现快速、准确、高效的分类;
2、去掉模棱两可、不利于分类的特征,使得提供的特征具有更好的可分性,使分类器容易判别;
3、提供的特征不应重复,即去掉相关性强但是没有增加更多分类信息的特征。即特征选择

2、什么是特征选择

对于一个特定的学习算法来说,哪一个特征是有效的是未知的。因此,需要从所有特征中选择出对于学习算法有益的相关特征。

进行特征选择的主要目的:
• 降维
• 降低学习任务的难度
• 提升模型的效率

特征选择定义:
从N个特征中选择其中M(M<=N)个子特征,并且在M个子特征中,准则函数可以达到最优解。

特征选择想要做的是: 选择尽可能少的子特征,模型的效果不会显著下降,并且结果的类别分布尽可能的接近真实的类别分布。
通俗的理解就是:
特征选择指从原始特征中挑选出一组最有代表性、分类性能好的特征。
注意!注意!注意! 特征选择是指从已有的特征集合中按某一分类准则选出一组子特征集和作为降维的分类特征使用。

3、怎么做特征选择

特征选择主要包括四个过程:

  1. 生成过程: 生成候选的特征子集;从原始特征集中选择特征的过程,选择出的特征叫特征子集
  2. 评价函数: 评价特征子集的好坏;
  3. 停止条件: 决定什么时候该停止;
  4. 验证过程: 特征子集是否有效;
    在这里插入图片描述
1、生成过程

生成过程是一个搜索过程,这个过程主要有以下三个策略:

  1. 完全搜索: 根据评价函数做完全搜索。完全搜索主要有两种:穷举搜索和非穷
    举搜索;
  2. 启发式搜索: 根据一些启发式规则在每次迭代时,决定剩下的特征是应该被选
    择还是被拒绝。这种方法很简单并且速度很快。
  3. 随机搜索: 每次迭代时会设置一些参数,参数的选择会影响特征选择的效果。
    由于会设置一些参数(例如最大迭代次数)。
2、停止条件

停止条件用来决定迭代过程什么时候停止,生成过程和评价函数可能会对于怎么选择停止条
件产生影响。停止条件有以下四种选择:

  1. 达到预定义的最大迭代次数;
  2. 达到预定义的最大特征数;
  3. 增加(删除)任何特征不会产生更好的特征子集;
  4. 根据评价函数,产生最优特征子集;
3、评价函数

评价函数主要用来评价选出的特征子集的好坏,一个特征子集是最优的往往指相对于特定的评价函数来说的。评价函数主要用来度量一个特征(或者特征子集)可以区分不同类别的能力。根据具体的评价方法主要有三类:
• 过滤式(filter): 先进行特征选择,然后去训练学习器,所以特征选择的过程与学习器无关。相当于先对于特征进行过滤操作,然后用特征子集来训练分类器。

其主要思想是:对每一维的特征“打分”,即给每一维的特征赋予权重,这样的权重就代表着该维特征的重要性,然后依据权重排序。
主要的方法有:Chi-squared test(卡方检验),ID3(信息增益),correlation coefficient scores(相关系数)

• 包裹式(wrapper): 直接把最后要使用的分类器作为特征选择的评价函数,对于特定的分类器
选择最优的特征子集。将子集的选择看作是一个搜索寻优问题,生成不同的组合,对组合进行评
价,再与其他的组合进行比较。这样就将子集的选择看作是一个优化问题,

其主要思想是:将子集的选择看作是一个搜索寻优问题,生成不同的组合,对组合进行评价,再与其他的组合进行比较。这样就将子集的选择看作是一个是一个优化问题,这里有很多的优化算法可以解决,尤其是一些启发式的优化算法,如GA,PSO,DE,ABC等,
主要方法有:recursive feature elimination algorithm(递归特征消除算法)

• Filter和Wrapper组合式算法: 先使用Filter进行特征选择,去掉不相关的特征,降低特征维度;然后利用Wrapper进行特征选择。
• 嵌入式(embedding): 把特征选择的过程与分类器学习的过程融合一起,在学习的过程中进行
特征选择。其主要思想是:在模型既定的情况下学习出对提高模型准确性最好的属性。这句话并
不是很好理解,其实是讲在确定模型的过程中,挑选出那些对模型的训练有重要意义的属性。如L1、L2正则化

其主要思想是:在模型既定的情况下学习出对提高模型准确性最好的属性。这句话并不是很好理解,其实是讲在确定模型的过程中,挑选出那些对模型的训练有重要意义的属性。
主要方法:正则化。如岭回归就是在基本线性回归的过程中加入了正则项。

一般有5种比较常见的评价函数:
  1. 距离度量: 如果 X 在不同类别中能产生比 Y 大的差异,那么就说明 X 要好于 Y;
  2. 信息度量: 主要是计算一个特征的信息增益(度量先验不确定性和期望, 后验不确定性
    之间的差异);
  3. 依赖度量: 主要用来度量从一个变量的值预测另一个变量值的能力。最常见的是相关系
    数:用来发现一个特征和一个类别的相关性。如果 X 和类别的相关性高于 Y与类别的相关
    性,那么X优于Y。对相关系数做一点改变,用来计算两个特征之间的依赖性,值代表着两
    个特征之间的冗余度。
  4. 一致性度量: 对于两个样本,如果它们的类别不同,但是特征值是相同的,那么它们是
    不一致的;否则是一致的。找到与全集具有同样区分能力的最小子集。严重依赖于特定的
    训练集和 最小特征偏见(Min-Feature bias)的用法;找到满足可接受的不一致率(用户
    指定的参数)的最小规模的特征子集。
  5. 误分类率度量: 主要用于Wrapper式的评价方法中。使用特定的分类器,利用选择的特
    征子集来预测测试集的类别,用分类器的准确率来作为指标。这种方法准确率很高,但是
    计算开销较大。

二、特征提取:

特征是什么: 常见的特征有边缘、角、区域等。
特征提取: 是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的
特征空间。本质是一种映射。将m维特征映射为n维特征 n<m
特征选择: 是从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。

目前图像特征的提取主要有两种方法: 传统图像特征提取方法 和 深度学习方法。

  1. 传统的特征提取方法: 基于图像本身的特征进行提取;
  2. 深度学习方法: 基于样本自动训练出区分图像的特征分类器;
    特征提取的主要方法:PCA
    特征选择(feature selection)和特征提取(Feature extraction)都属于降维(Dimension
    reduction)

特征提取过程

传统的图像特征提取一般分为三个步骤:预处理、特征提取、特征处理;然后再利用机器学习等方法对特征进行分类等操作;
预处理: 预处理的目的主要是排除干扰因素,突出特征信息;主要的方法有:

1、图片标准化:调整图片尺寸; 图片大小调整一致
2、图片归一化:调整图片重心为0;每个像素值都减去平均像素值

特征提取: 利用特殊的特征提取子对图像进行特征提取。
特征处理: 主要目的是为了排除信息量小的特征,减少计算量等:常见的特征处理方法是降维,
常见的降维方法有:
1. 主成分分析(PCA);
2. 奇异值分解(SVD);
3. 线性判别分析;

参考

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐