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

简介: 特征选择和特征提取(一、概述)

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

再这之前,我们先来了解一下卷积和滤波,像平时我们听到的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. 处理不同,特征选择只需要求对应子集的效果,而特征提取需要通过协方差矩阵来进行计算。

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

相关文章
|
Java 开发者
Java一分钟之-Quasar:协程库
【6月更文挑战第12天】Quasar是Java的高性能协程库,通过字节码增强实现轻量级并发模型——协程和通道,降低并发处理的复杂性和资源消耗。本文探讨了Quasar的常见问题,如内存泄漏、死锁和过度使用,提出相应避免策略,并提供了一个简单的协程间数据交换的代码示例。正确使用Quasar能提升程序性能和可维护性。
662 1
|
BI 测试技术 程序员
【软件工程题库】第四章 概要设计
【软件工程题库】第四章 概要设计
2616 1
|
Java
http访问springboot接口出现401 、403、 Forbidden 错误解决方法
http访问springboot接口出现401 、403、 Forbidden 错误解决方法
2958 0
|
机器学习/深度学习 并行计算 算法
深度学习中的自动化超参数优化方法探究
传统的深度学习模型优化通常依赖于人工调整超参数,这一过程繁琐且耗时。本文探讨了当前流行的自动化超参数优化方法,包括贝叶斯优化、遗传算法和进化策略等,分析它们在提高模型效率和性能方面的应用与挑战。
|
7月前
|
JSON 人工智能 API
云上玩转DeepSeek系列之四:DeepSeek R1 蒸馏和微调训练最佳实践
本文将为您带来“DeepSeek R1+Qwen 大模型蒸馏和微调训练”最佳实践。阿里云 PAI 平台提供了围绕 DeepSeek 模型的最佳实践,涵盖快速部署、应用搭建、蒸馏和微调等环节,帮助开发者高效利用计算资源,使用 Model Gallery 功能,轻松完成部署与微调任务。
|
11月前
|
存储 Linux 网络安全
让我们来尝试利用第三方软件远程连接服务器
即将进入Linux操作系统第二模块的学习,需先通过MobaXterm配置与虚拟操作系统连接。课程将基于MobaXterm讲解命令及知识。准备阶段包括:安装红帽7系统与MobaXterm远程SSH软件,检查网络连接,并按步骤完成MobaXterm的连接配置。
281 1
|
SQL 缓存 分布式计算
DataWorks操作报错合集之执行DDL任务时遇到错误代码为152,报错:"ODPS-0110061",该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
关系型数据库 MySQL 测试技术
MySQL 报错 ERROR 1709: Index column size too large
MySQL 报错 ERROR 1709: Index column size too large
553 4
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
575 0
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
|
机器学习/深度学习 存储 人工智能
【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
1214 0