【算法周】PCA教你如何化繁为简(上)

【算法周】PCA教你如何化繁为简(下) 欢迎关注哈希大数据微信公众号《哈希大数据》3. PCA算法流程从上面两节我们可以看出,求样本x(i)的n'维的主成分其实就是求样本集的协方差矩阵XXT的前n'个特征值对应特征向量矩阵W,然后对于每个样本x(i),做如下变换z(i)=WTx(i),即达到降维的PCA目的。输入:n维样本集D=(x(1),x(2),...,x(m)),要降维到的维数n'.输出:降维后的样本集D′1) 对所有的样本进行中... 阅读详情

欢迎关注哈希大数据微信公众号《哈希大数据》

主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。

1.PCA的思想

PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据

(x(1),x(2),...,x(m))我们希望将这m个数据的维度从n维降到n'维,希望这m个n'维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n'维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这n'维的数据尽可能表示原来的数据呢?

      我们先看看最简单的情况,也就是n=2,n=1,也就是将数据从二维降维到一维。数据如下图。我们希望找到某一个维度方向,它可以代表这两个维度的数据。图中列了两个向量方向,u1和u2,那么哪个向量可以更好的代表原始数据集呢?

从直观上也可以看出,u1比u2好。

为什么u1比u2好?可以有两种解释,第一种解释是样本点到这个直线的距离足够近,第二种解释是样本点在这个直线上的投影能尽可能的分开。

假如我们把n从1维推广到任意维,则我们的希望降维的标准为:样本点到这个超平面的距离足够近,或者说样本点在这个超平面上的投影能尽可能的分开。

基于上面的两种标准,我们可以得到PCA的两种等价推导。

2. PCA的推导:基于小于投影距离

我们首先看第一种解释的推导,即样本点到这个超平面的距离足够近。

假设m个n维数据(x(1),x(2),...,x(m))都已经进行了中心化假设m个n维数据(x(1),x(2),...,x(m))都已经进行了中心化,即


经过投影变换后得到的新坐标系为{w1,w2…wn},其中w是标准正交基,即||w||2=1 ,wiTwj=0。

如果我们将数据从n维降到n'维,即丢弃新坐标系中的部分坐标,则新的坐标系为{w1,w2…wn'},样本点x(i)在n'维坐标系中的投影为:

 z(i)=(z1(i),z2(i),...,zn′(i)).其中,zj(i)=wjTx(i)是x(i)在低维坐标系里第j维的坐标。

如果我们用z(i)来恢复原始数据x(i),则得到的恢复数据

其中, W为标准正交基组成的矩阵。

      现在我们考虑整个样本集,我们希望所有的样本到这个超平面的距离足够近,即最小化下式:


注意到
是数据集的协方差矩阵,w的每一个向量
w j是标准正交基,而 是一个常量。最小化上式等价于:

这个最小化不难,直接观察也可以发现最小值对应的W由协方差矩阵 XXT 最大的n'个特征值对应的特征向量组成。当然用数学推导也很容易。利用拉格朗日函数可以得到     
 对W求导有

这样可以更清楚的看出,W为XXT的n'个特征向量组成的矩阵,而λ为XXT的特征值。当我们将数据集从n维降到n'维时,需要找到最大的n'个特征值对应的特征向量。这n'个特征向量组成的矩阵W即为我们需要的矩阵。对于原始数据集,我们只需要用z(i)=WTx(i),就可以把原始数据集降维到最小投影距离的n'维数据集。

如果你熟悉谱聚类的优化过程,就会发现和PCA的非常类似,只不过谱聚类是求前k个最小的特征值对应的特征向量,而PCA是求前k个最大的特征值对应的特征向量。



基于Matlab人脸识别(PCA算法) 摘要 随着科技的发展,人类社会的进步,传统身份识别由于容易遗失,容易被破解已不能起到身份识别作用。人们需要更加安全可靠的身份识别技术。而生物特征的独一无二,不易丢失和被复制的特性很好满足了身份识别的需要。同时随着计算机科学技术和生物医学的发展使得利用生物特征识别成为了可能。在生物特征识别领域,由于人脸识别的操作快速简单,结果直观,准确可靠,不需要人的配合等优点已成为人们关注的焦点。主成分分... 阅读详情

相关推荐

PCA 算法详解

PCA算法步骤: 设有m条n维数据。 1)将原始数据按列组成n行m列矩阵X 2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 3)求出协方差矩阵 4)求出协方差矩阵的特征值及对应的特征向量 5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P 6)即为降维到k维后的数据 实例: 用PCA方法将这组二维数据其降到一维。 因为这个矩阵的每行已经是零均值...

我要一步一步向前走 6944

哈希函数的学习算法整理

如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。转为二进制编码:可以先降维成实数,再转为二进制,也可以直接学习一个二进制编码;学习哈希映射函数:基于二进制编码设计或学习哈希方式,使得相似元素靠近,不相似元素远离。数据无关的方法 (Data-Independent Methods)特点:哈希函数与训练集无关,通常为随机投影或手动构造。

lucius-liu.cn 1007

在线的PCA算法

1、离线PCA PCA是一种最基本的降维算法,在机器学习中被广泛使用。它是一种线性降维,其基本思想是,对大量的数据,找到其主成分,主成分的个数小于原始数据的维度,然后将原始数据投影到主成分张成的空间中,可减小数据的维度。          从上面的描述我们可以总结出: 1.      原始数据(x1,x2,x3,…,xn)(列向量)是一个n维的数据,它是在n个基(1,0,0,…,0),(0,

zhangyuming010的专栏 5024

哈希去重深度解析

在分布式系统中,传统哈希取模算法(hash(key) % N)存在致命缺陷:节点增减导致大量数据重定位,引发缓存雪崩。示例:在Memcached集群中,若新增节点Server4,仅需迁移Server3到Server4之间的数据,而非全量迁移。原理:通过位数组和多个哈希函数表示集合,查询时若所有哈希位均为1则可能存在(允许误判),否则一定不存在。哈希环:将哈希空间映射为环形结构(0~2^32-1),节点与数据均通过哈希函数映射到环上。优势:空间效率极高(1亿数据仅需12MB内存),适合海量数据去重。

小新阿呆的博客 1667

Sklearn 机器学习 数据降维PCA 自己实现PCA降维算法

PCA(主成分分析)的原理与实现方法。

Kant2048的博客 1996

PCA算法及其应用

摘 要  PCA是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题,对于某些复杂数据就可应用主成分分析法对其进行简化。计算主成分的目的是将高维数据投影到较低维空间。文中介绍了PCA算法的基本概念和基本原理,利用算法在降维和特征提取方面的有效性,结合人脸识别的实例进行详细的阐述。最后,文中还指出了PCA的优缺点,以及应用。 关键词  PCA;

qq_28942407的博客 2904

数据集预处理:计算哈希值去除重复图片

方案一:将重复的图片移动到指定的文件夹。方案二:直接删除重复图片。安装imagehash库。

weixin_71640965的博客 673

主成分分析(PCA)算法简述

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、PCA降维的简单示例1.1 降维1.2. 数学原理解释1.2.1. 基变换的矩阵表示1.2.2. 最优基的选取方法1.2.3. 示例(二维数据降维)二、PCA算法介绍2.1.PCA算法描述2.1.1. 最大化投影后方差:2.1.2. 最小化投影后的损失:2.2 PCA算法步骤三、PCA算法编程示例总结 前言        在学习ICA算法的时候,提到了P

iceberg7012的博客 3219

特征哈希(Feature Hashing)

特征哈希(Feature Hashing) Nov 20, 2014 在特征处理(Feature Processing)中我介绍了利用笛卡尔乘积的方法来构造组合特征。这种方法虽然简单,但麻烦的是会使得特征数量爆炸式增长。比如一个可以取N个不同值的类别特征,与一个可以去M个不同值的类别特征做笛卡尔乘积,就能构造出N*M个组合特征。 特征太多这个问题在具有个性化的问题里尤为突出。如果

wanglyPKU的博客 1万+

基于python与哈希算法实现图像去重

基于python与哈希算法实现图像去重

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

PCA算法详解——化繁为简

一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、前言 老鹰是一个三维立体实物,而图片是二维的,但我们能一眼识别出上图是一只老鹰而非鹌鹑,可见对于某些高维的数据,我们可以在低维空间下识其概貌,对其有个清晰的认知。然而,当我们沿老鹰翅尖拍摄一张照片,我们可能并不能很容易地看出这是一只老鹰。归其原因,拍摄的角度不同,导致最终的结果不同,在第一种情况下,图片保留...

weixin_44167798的博客 1万+

尚硅谷课程【笔记】——大数据之Shell【一】

【【尚硅谷】Shell脚本从入门到实战】笔记

n04j04h06的博客 1319

PCA算法及其应用(代码)

简介PCA(Principal Component Analysis)算法叫做主成分分析,在进行图像识别以及高维度数据降维处理中有很强的应用性,算法主要通过计算特征值最大的特征向量来对原始数据进行线性变换。 本文将从算法原理角度来分析PCA算法的可行性,文中将引入人脸识别的概念,从而介绍PCA在人脸识别1中的应用。

Jim_Liu 2万+

土壤水动力学_前 言

Van Genuchten (V-G) 模型是土壤水分特征曲线中最常用的模型之一。它通过数学方程描述了土壤基质吸力与体积含水量之间的关系,被广泛应用于土壤水分运移、土壤盐渍化、边坡稳定性等研究领域。V-G模型是描述土壤水分特征曲线的重要工具,但它并不是完美的。在实际应用中,需要根据土壤类型、试验条件等因素选择合适的模型。土壤基质吸力是土壤水分学中的一个重要概念,它对土壤水分的保持、植物的生长以及土壤的工程性质都有重要影响。

weixin_44259522的博客 5330

[官方培训]22-UE资产优化 Epic 肖月 笔记

Nanite+Lumen目标:面向TA,美术,不影响视觉的前提下,优化运行和编辑效率引擎:UE5.1延迟管线平台:主流PC,Windows 10 with DX12。

Tcohneyn的博客 1575

PCA算法

在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论。

crossoverpptx的博客 4704

【UOJ170】Picks loves segment tree VIII

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4695】最假女选手 【BZOJ3064】【TYVJ1518】CPU监控【UOJ169】【UR #11】元旦老人与数列 【思路要点】 前置阅读中的前两题中,我们分别对线段树的区间取最大/最小值和线段树的历史最大/最小值进行了研究。本题中,两类问题同时出现,因此我们

cz_xuyixuan的博客 1250

PCA算法详解

摘要 本文将介绍PCA算法,包括PCA算法的数学理解以及如何用代码逻辑。 一、简介 PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 参考文章 二、数学相关概念 内积与投影 基 在线性代数中,基(basis)(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素称为基向量。向量空间中任意一个元素,都可以唯一地

fadeG的博客 9704

【NLG】(六)文本生成评价指标—— ROUGE原理及代码示例

前奏: 【NLG】(一)文本生成评价指标——BLEU原理及代码示例 【NLG】(二)文本生成评价指标—— METEOR原理及代码示例 【NLG】(三)文本生成评价指标—— ENTROPY原理及代码示例 【NLG】(四)文本生成评价指标—— diversity原理及代码示例 【NLG】(五)文本生成评价指标—— kl_divergence原理及代码示例 1.ROUGE原理 2.优缺点 3.如何算ROUGE ...

凝眸伏笔的博客 1万+

ArcGIS新手必看:5分钟搞定等高线转DEM栅格(附完整操作截图)

本文详细介绍了在ArcGIS中将等高线转换为DEM栅格的完整流程,包括CAD数据预处理、TIN转栅格和直接插值法两种核心方法,以及常见问题排查与优化技巧。通过实战案例和操作截图,帮助GIS新手快速掌握这一测绘数据处理的核心技能,提升地形分析和三维可视化效率。

dapp9builder的博客 287

PCA算法原理及python实现

【原理】PCA算法原理 1.PCA算法 PCA(principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据压缩算法。在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方法,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。 通过这种方式获得的新的坐标系,我们发现..

weixin_56273009的博客 8678

LPDDR6 tdbR2dbR_L cross row技术探讨

LPDDR6 tdbR2dbR_L cross row技术探讨

zilan23的博客 47
上一篇: 【算法周】哆啦A梦,我想要个“感知机”
下一篇: 【算法周】PCA教你如何化繁为简(下)
哈希大数据
博客等级 码龄9年 331粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值