特征选择和特征提取一、概述

特征选择和特征提取属于图像处理领域最基本的操作。

再这之前,我们先来了解一下卷积和滤波,像平时我们听到的CNN,就是使用卷积操进行图像的滤波操作,简单来说,滤波是图像处理的操作,而卷积是实现滤波的方法。一个是图像处理概念,一个是数学概念。

特征,其实就是我们要从图像中提取的可以描述图像的性质,简单理解,像边缘、角、轮廓等都属于图像的特征,而图像处理就是通过机器学习的方式得到图像中的这些特征,从而用这些特征来实现图像识别、物体检测等等。

那么,滤波和特征有有什么关系呢?其实,正常的滤波操作,都是通过卷积核来对图像进行操作的,而卷积核就是用来提取特征的,简单来说,想要从图像中提取几个特征,就定义几个卷积核来对图像进行处理即可。等学习完成,即可通过得到的这些特征来实现对应的用途。

那么,特征到底是什么,在机器学习中又是什么格式的,是如何存储的呢?下面,就一块通过特征选择和特征提取来一块了解一下吧!

特征选择

对同一问题进行研究,我们可以从不同的维度出发、不同的角度来考虑,再衡量结果时,我们会根据不同因素所占的比重来对其进行区分,同样的,在机器学习过程中,不论是cv领域还是nlp领域,在处理问题时,都会得到很多不同的特征,同样,我们也可以用其中的某些特征来替代全部特征对问题进行描述(达到一定的占比)。这即是特征选择的理解。

这里延伸一下,特征一般分为相关特征、无关特征和冗余特征,分别指对问题学习有帮助的、无帮助的及可以从其他特征推到得到的特征

另外,我们需要了解,特征选择的意义,在机器学习的过程中,增加一个特征的处理意味着要进行更多的计算,而有些特征对问题处理的贡献很小,因此,我们可以理解,特征选择其实是一种降维处理,目的是减少特征数量,加快模型训练速度,提高学习效率,同时,保证模型的正确度不会损失太多。其要实现的效果是选择尽可能少的子特征,模型的效果不会显著下降,并且
结果的类别分布尽可能的接近真实的类别分布。

那么,特征选择是怎样进行处理的呢?

主要有4个步骤,分别是:

  1. 生成过程:生成不同的候选特征子集
  2. 评价函数:用于评价特征子集的好坏
  3. 停止条件:决定何时停止(最大迭代次数、达到设定的阈值等)
  4. 验证函数:用于验证得到的子集是否有效。

 

特征提取

从字面简单理解,特征提取用于提取特征,而非选择,其区别在于,提取是从已有的特征中提取出其他的特征,而非选择已有特征。特征提取也是一种降维算法,其主要目的也是为了减小计算量,提高模型效率。

而特征提取一般使用的方法是主成分分析(PCA)方法。

PCA简单理解,就是从M个特征中,提取出N个有同样效果的特征,举个例子,如果有一个三维坐标系(x,y,z),我们通过平移和旋转等操作,得到一个某一维度的值几乎为0的坐标系(a,b,c),若c为0,则我们可以认为二维坐标系(a,b)下的数据包含了(x,y,z)下数据的全部特征,因为(x,y,z)下的数据,同样可以用(a,b)来表示。

PCA方法的步骤一般为:

  1. 0均值化
  2. 求协方差矩阵
  3. 对协方差矩阵求特征向量和特征值,这些特征向量所组成的即为我们所求的特征空间。

异同

根据以上的初步了解,特征选择和特征提取有哪些异同点呢?

相同点:

  1. 都为降维算法,可以减少计算,加速计算,提高效率

不同点:

  1. 结果不同,特征选择是选取已有特征中可以最大近似表征数据的特征子集,是包含关系;而特征提取是产生新的特征空间。
  2. 处理不同,特征选择只需要求对应子集的效果,而特征提取需要通过协方差矩阵来进行计算。

本节主要是对特征选择和特征提取的概念和处理方法的基本了解,由于协方差部分比较复杂,因此单独放在一个章节进行代码演示和说明。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340