Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PCA在图像降维的应用

PCA在图像降维的应用

作者头像
昱良
发布于 2018-04-08 06:56:07
发布于 2018-04-08 06:56:07
1.8K0
举报

自动编码器优化之主成分分析)从实例和数学背景的引导下详细的介绍了PCA的原理以及定义,并以旋转数据的角度论述其数据降维的实质,如何从降维之后的数据还原近似原始数据,以及如何选择主成分的个数。本篇文章将以简单的篇幅简单的介绍一下PCA在图像处理过程中的使用---降维。

为使PCA算法能有效工作,通常我们希望所有的特征 x[1], x[2], ... , x[n] 都有相似的取值范围(并且均值接近于0)。如果你曾在其它应用中使用过PCA算法,你可能知道有必要单独对每个特征做预处理,即通过估算每个特征 x[j] 的均值和方差,而后将其取值范围规整化为零均值和单位方差。但是,对于大部分图像类型,我们却不需要进行这样的预处理。假定我们将在自然图像上训练算法,此时特征 x[j] 代表的是像素 j 的值。所谓“自然图像”,不严格的说,是指人或动物在他们一生中所见的那种图像。

注:通常我们选取含草木等内容的户外场景图片,然后从中随机截取小图像块(如16x16像素)来训练算法。在实践中我们发现,大多数特征学习算法对训练图片的确切类型并不敏感,所以大多数用普通照相机拍摄的图片,只要不是特别的模糊或带有非常奇怪的人工痕迹,都可以使用。

在自然图像上进行训练时,对每一个像素单独估计均值和方差意义不大,因为(理论上)图像任一部分的统计性质都应该和其它部分相同,图像的这种特性被称作平稳性(stationarity)。

具体而言,为使PCA算法正常工作,我们通常需要满足以下要求:

(1)特征的均值大致为0;

(2)不同特征的方差值彼此相似。

对于自然图片,即使不进行方差归一化操作,条件(2)也自然满足,故而我们不再进行任何方差归一化操作(对音频数据,如声谱,或文本数据,如词袋向量,我们通常也不进行方差归一化)。实际上,PCA算法对输入数据具有缩放不变性,无论输入数据的值被如何放大(或缩小),返回的特征向量都不改变。更正式的说:如果将每个特征向量 x 都乘以某个正数(即所有特征量被放大或缩小相同的倍数),PCA的输出特征向量都将不会发生变化。

既然我们不做方差归一化,唯一还需进行的规整化操作就是均值规整化,其目的是保证所有特征的均值都在0附近。根据应用,在大多数情况下,我们并不关注所输入图像的整体明亮程度。比如在对象识别任务中,图像的整体明亮程度并不会影响图像中存在的是什么物体。更为正式地说,我们对图像块的平均亮度值不感兴趣,所以可以减去这个值来进行均值规整化。

具体的步骤是,如果 x[^i] 代表16x16的图像块的亮度(灰度)值(n=256 ),可用如下算法来对每幅图像进行零均值化操作:

请注意:

1)对每个输入图像块 x[^i] 都要单独执行上面两个步骤;

2)这里的 u[^i] 是指图像块 x[i] 的平均亮度值。尤其需要注意的是,这和为每个像素 x[j] 单独估算均值是两个完全不同的概念。

如果你处理的图像并非自然图像(比如,手写文字,或者白背景正中摆放单独物体),其他规整化操作就值得考虑了,而哪种做法最合适也取决于具体应用场合。但对自然图像而言,对每幅图像进行上述的零均值规整化,是默认而合理的处理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习算法与Python学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
特征工程系列之降维:用PCA压缩数据集
降维是关于摆脱“无信息的信息”的同时保留关键点。有很多方法可以定义“无信息”。PCA 侧重于线性依赖的概念。我们将数据矩阵的列空间描述为所有特征向量的跨度。如果列空间与特征的总数相比较小,则大多数特征是几个关键特征的线性组合。如果在下一步管道是一个线性模型,然后线性相关的特征会浪费空间和计算能力。为了避免这种情况,主成分分析尝试去通过将数据压缩成更低维的线性来减少这种“绒毛”子空间。
墨明棋妙27
2022/09/23
1.5K0
PCA: Principal Components Analysis,主成分分析法原理
PCA: Principal Components Analysis,主成分分析法原理 1、引入   PCA算法是无监督学习专门用来对高维数据进行降维而设计,通过将高维数据降维后得到的低维数能加快
学到老
2018/03/19
1.5K0
PCA: Principal Components Analysis,主成分分析法原理
自动编码器优化之主成分分析
Contents 1 引言 2 实例和数学背景 3 旋转数据 4 数据降维 5 还原近似数据 6 选择主成分个数 1. 引言 主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解PCA算法,对实现白化算法有很大的帮助,很多算法都先用白化算法作预处理步骤。 假设你使用图像来训练算法,因为图像中相邻的像素高度相关,输入数据是有一定冗余的。具体来说,假如我们正在训练的16x16灰度值图像,记为一个256维向量 x→R[^256] ,其中特征值 x[j] 对应每个像素的亮度值。由
昱良
2018/04/08
9870
自动编码器优化之主成分分析
【机器学习】--主成分分析PCA降维从初识到应用
主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
LhWorld哥陪你聊算法
2018/09/13
1.7K0
【机器学习】--主成分分析PCA降维从初识到应用
第十五章 降维
第二种类型的无监督学习问题,叫做降维。 这里有一些,你想要使用降维的原因: ① 数据压缩 数据压缩不仅能对数据进行压缩,使得数据占用较小的内存或硬盘空间。它还能对学习算法进行加速 ② 可视化数据
tomas家的小拨浪鼓
2019/03/19
5770
第十五章 降维
降维方法(一):PCA原理
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 PCA的作用 你手上有一批数据,但是特征太多,你感觉数据太稀疏了 你选了一堆特征,但是感觉某些特征之间的相关性太高了,比如用户月消费预测的时候,你选了用户身高以及用户性别这两个特征,一般男生的身高比较高,你觉得特征有点冗余 你的小霸王内存不够,内存只有4个G,装不下太大的矩阵,但是你又不想减少训练数据,N
智能算法
2018/04/02
1.5K0
降维方法(一):PCA原理
【Python】机器学习之PCA降维
(1)安装机器学习必要库,如NumPy、Pandas、Scikit-learn等;
SarPro
2024/02/20
7720
【Python】机器学习之PCA降维
算法理论+实战之PCA降维
如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法:
lyhue1991
2020/07/20
1.2K0
算法理论+实战之PCA降维
降维之pca算法
pca算法:  算法原理: pca利用的两个维度之间的关系和协方差成正比,协方差为0时,表示这两个维度无关,如果协方差越大这表明两个维度之间相关性越大,因而降维的时候, 都是找协方差最大的。 1 将XX中的数据进行零均值化,即每一列都减去其均值。 2 计算协方差矩阵C=1mXTXC=1mXTX 3 求出CC的特征值和特征向量 4 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P 5 Y=XPY=XP就是降维到k维后的数据。 代码: # coding=utf-8 import matplo
Gxjun
2018/03/27
6810
降维之pca算法
特征工程(五): PCA 降维
本章标志着进入基于模型的特征工程技术。在这之前,大多数技术可以在不参考数据的情况下定义。对于实例中,基于频率的过滤可能会说“删除所有小于n的计数“,这个程序可以在没有进一步输入的情况下进行数据本身。 另一方面,基于模型的技术则需要来自数据的信息。例如,PCA 是围绕数据的主轴定义的。 在之前的技术中,数据,功能和模型之间从来没有明确的界限。从这一点前进,差异变得越来越模糊。这正是目前关于特征学习研究的兴奋之处。
机器学习AI算法工程
2019/10/28
1.1K0
特征工程(五): PCA 降维
数据挖掘实战:PCA算法
PCA 算法也叫主成分分析(principal components analysis),主要是用于数据降维的。 为什么要进行数据降维?因为实际情况中我们的训练数据会存在特征过多或者是特征累赘的问题,比如: 一个关于汽车的样本数据,一个特征是”km/h的最大速度特征“,另一个是”英里每小时“的最大速度特征,很显然这两个特征具有很强的相关性 拿到一个样本,特征非常多,样本缺很少,这样的数据用回归去你和将非常困难,很容易导致过度拟合 PCA算法就是用来解决这种问题的,其核心思想就是将 n 维特征映射到 k 维上
机器学习AI算法工程
2018/03/12
1.5K0
数据挖掘实战:PCA算法
数据预处理之降维-PCA和LDA
给定训练集样例,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的接近、异类样例的投影点尽可能地远离;在对新样本分类时,将其投影点同样的投影到这条直线上,再根据投影点的位置来确定新样例的位置。
数据万花筒
2020/12/30
2.1K0
数据预处理之降维-PCA和LDA
PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击!
今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法。
TechFlow-承志
2020/07/02
3.1K0
常见面试算法:PCA、简化数据
主成分分析(Principal Component Analysis, PCA):通俗理解:就是找出一个最主要的特征,然后进行分析。
机器学习AI算法工程
2019/10/28
1.2K0
常见面试算法:PCA、简化数据
吴恩达笔记9_PCA
在PCA中,要做的是找到一个方向向量(Vector direction),当把所有的数据都投射到该向量上时,PCA的关键点就是找到一个投影平面使得投影误差最小化。
皮大大
2021/03/02
6740
机器学习-主成分分析PCA降维
主成分分析(Principle Component Analysis,PCA)是常用的降维方法,用较少的互不相关的新变量来反映原变量所表示的大部分信息,有效解决维度灾难问题。
唔仄lo咚锵
2023/05/23
5600
机器学习-主成分分析PCA降维
模式识别从0构建—PCA
PCA或K-L变换是用一种正交归一向量系表示样本。如果只选取前k个正交向量表示样本,就会达到降维的效果。PCA的推导基于最小化均方误差准则,约束是:u为单位正交向量。推导结果是,正交向量就是归一化的协方差矩阵的特征向量,对应的系数就是对应的特征值。使用PCA方法提取特征脸的步骤如下:
孔西皮
2021/03/04
1.5K0
模式识别从0构建—PCA
《人工智能之高维数据降维算法:PCA与LDA深度剖析》
在人工智能与机器学习蓬勃发展的当下,数据处理成为关键环节。高维数据在带来丰富信息的同时,也引入了计算复杂度高、过拟合风险增大以及数据稀疏性等难题。降维算法应运而生,它能将高维数据映射到低维空间,在减少维度的同时最大程度保留关键信息。主成分分析(PCA)与线性判别分析(LDA)作为两种常用的降维算法,在人工智能领域应用广泛。本文将深入探讨它们的原理。
程序员阿伟
2025/02/26
1710
机器学习(二十) ——PCA实现样本特征降维
机器学习(二十)——PCA实现样本特征降维 (原创内容,转载请注明来源,谢谢) 一、概述 所谓降维(dimensionalityreduction),即降低样本的特征的数量,例如样本有10个特征值,要降维成5个特征值,即通过一些方法,把样本的10个特征值映射换算成5个特征值。 因此,降维是对输入的样本数据进行处理的,并没有对预测、分类的结果进行处理。 降维的最常用的方法叫做主成分分析(PCA,principal component analysis)。最常用的业务场景是数据压缩、数据可视化。该方法只
用户1327360
2018/03/07
2.8K0
机器学习(二十) ——PCA实现样本特征降维
PCA系列(一):降维基础知识及PCA原理总结
  降维分为三种:特征选择、线性降维和非线性降维。本文主要介绍一些关于降维的基础知识以及线性降维的典例PCA(主成分分析法)。
Cyril-KI
2022/07/29
1.8K0
PCA系列(一):降维基础知识及PCA原理总结
相关推荐
特征工程系列之降维:用PCA压缩数据集
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档