【碎片知识(9)】PCA (Principal Component Analysis) [主成分分析]
离开很久啦,从Ph.D.套磁开始到全部settle down花费了太久的时间,在上周也终于把研究方向定下来了,终于手头的事告一段落了。未来是跨度三到四年的research生涯,无数师兄师姐告诫我,读博,尤其是在国外一个人读博是一个漫长和痛苦的过程(莫名心头响起“时间是一把刀【哭】”的声音)。慢慢的记录自己学过的东西和心得,借助网络和CSDN Blog这个平台大家一起讨论和进步!
之前关于Learning OpenCV 3的个人翻译后续会有更新,之前的工作因为个人水平所限虽然翻译了不少但是没有贴在网上,后续校准之后会陆续放出来。
另,提一句,本人研究方向大体是机器人立体视觉方向,身在大不列颠一所研究型大学读Ph.D.,如果有想聊机器人立体视觉方面的问题可以直接撩我哈~当然,想找大不列颠Ph.D.小伙伴也可以撩,小子不才在腐国也待了不短的一段时间了,多少能给一些建议的说。
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
以下内容来自《PCA数学原理》
http://www.360doc.com/content/17/1006/09/48112216_692562036.shtml
- 数据的向量表示及降维
比如淘宝某网店一天的统计数据为:(日期,浏览量,访客数,下单数,成交数,成交金额),这一组数据可以看做是一个6维空间中的向量。而许多数据算法的复杂度与数据的维度成指数关系。
所以过多的数据维度是不可接受的,那么这将会涉及到数据降维问题。比如“日期”仅为标识性数据,可以直接删除。而“访客数”和“下单数”成正相关,可以利用某种权重系数用更少的维度代表更多维度的信息。
- 内积与投影
向量的内积就是一向量在另一向量上的投影与另一向量的模的乘积。
如果向量B的模为1,则:
- 基
描述某一确定向量时会需要用到一组基底,和相应基底中的坐标值(特征值)。例如向量(3,2)是在基底(1,0)和(0,1)中特征值分别为3和2的表示。
- 基变换的矩阵表示
两个矩阵相乘的意义是将右边矩阵中的每一列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。
‘pi’是行向量,表示第i个基,‘aj’是列向量,表示第j个原始数据记录。
- 协方差矩阵及优化目标
在第四步中讨论了对同一组数据在不同维度中转换的方法,而左边基的维度小于右边基则达到了降维目的。
1)降维逻辑
将一组N维向量降为K维(K大于0小于N),其目标是选择K个单位(模为1)正交基,使得原始数据变换到这组基上后,各字段两两间协方差为0,而字段方差则尽可能大(在正交的约束下,取最大的K个方差)。
2)协方差矩阵
设有m个n维数据记录,将其按列排成n乘m的矩阵R。对每一行上的字段元素都减去这一字段的平均值,从而得到新矩阵X,这样X的字段平均值都为0。设,C是一个对称矩阵,其对角线为各个字段的方差,而第i行j列的元素与第j行i列的元素相同,表示i和j两个字段的协方差。
3)协方差矩阵对角化
设原始数据矩阵X对应的协方差矩阵为C(),经过基底P的变换之后X变为Y(
),且假设Y的协方差矩阵为D(
),则:
4)所以目的变为寻找一个矩阵P,满足是一个对角矩阵,并且对角元素按从大到小排列,那么P的前K行就是要寻找的基,用P的前K行组成矩阵乘以X就使得X从N维降到了K维,从而满足了降维条件。
- 为何采用协方差矩阵:协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间。协方差矩阵的主对角线上的元素是各个维度上的方差(即能量),其他元素是两两维度间的协方差(即相关性)。让保留下的不同维度间的相关性尽可能小,也就是说让协方差矩阵中非对角线元素都基本为零。
- 一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量,设这n个向量为e1, e2, …, en,将其排列成矩阵:
其中为对角矩阵,其对角元素为各特征向量对应的特征值。
于是我们知道。
- PCA算法总结:
1)假设:有m条n维数据;
2)将原始数据组成n行m列矩阵X;
3)将矩阵X的每一行进行零均值化(减去这一行的均值);
4)求出协方差矩阵;
5)求出协方差矩阵的特征值及对应的特征向量;
6)将特征向量按对应特征值的大小从上到下按行排列成矩阵,取前K行组成矩阵P;
Y=PX即为降维到K维后的数据。
PCA算法的局限性:
1)PCA算法可以很好的解决线性相关性,但是对于高阶的相关性作用不大(Kernel PCA);
2)PCA算法的主特征取得是正交方向上的,如果某情况主特征多分布在非正交情况,PCA算法的效果就会下降了;
3)PCA技术是一种通用技术,没有针对性,便于普遍实现,但是具体案例不同,PCA不一定是最合适的。
【碎片知识(9)】PCA (Principal Component Analysis) [主成分分析]相关推荐
- pca主成分分析结果解释_SKLEARN中的PCA(Principal Component Analysis)主成分分析法
PCA(Principal Component Analysis)主成分分析法是机器学习中非常重要的方法,主要作用有降维和可视化.PCA的过程除了背后深刻的数学意义外,也有深刻的思路和方法. 1. 准 ...
- Principal Component Analysis 主成分分析 【学习笔记】
Principal Component Analysis 主成分分析笔记 文章目录 Principal Component Analysis 主成分分析笔记 PCA是什么? 数据的线性变换 拉伸操作: ...
- 主成分分析PCA(principal component analysis)原理
PCA在很多方面均有应用,但是之前没有仔细探究过,最近看了一些博客和论文,做一下总结. 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将 ...
- JAVA实现PCA主成分分析_主成分分析PCA(principal component analysis)原理
PCA在很多方面均有应用,但是之前没有仔细探究过,最近看了一些博客和论文,做一下总结. 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将 ...
- 【机器学习sklearn】主成分分析PCA(Principal Component Analysis)
主成分分析方法PCA 前言 一.PCA是什么? 二.代码实践 使用MNIST数据集实现sklearn库里的主成分分析方法 不同主成分个数对应的可解释方差分析(Explained Variance) 总 ...
- 机器学习降维算法一:PCA (Principal Component Analysis)
引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达 ...
- 主成分分析碎石图_R: 主成分分析 ~ PCA(Principal Component Analysis)
本文摘自:http://www.cnblogs.com/longzhongren/p/4300593.html 以表感谢.感谢 综述: 主成分分析 因子分析 典型相关分析,三种方法的共同点主要是用来对 ...
- PCA(Principal Component Analysis 主成分分析)原理及MATLAB实现
关于PCA的原理参见: PCA原理 PCA:一种通过特征的线性组合来实现降维的方法,目的就是在尽可能好的代表原始数据的前提下,通过线性变换将样本数据投影到地位空间中. 如图示意,二维样本分别投影到e1 ...
- 如何利用PCA(Principal component analysis)来简化数据
本博文的的内容为以下: 降维技术 主成分分析(PCA) 对半导体数据进行降维处理 降维(dimensionality reduction)的目标就是对输入的数目进行消减,由此剔除数据中的噪声并提高机器 ...
最新文章
- [转]hibernate------HQL总结
- ant 改变表格数据_学不会这几个操作,面试时千万别说自己精通数据分析
- editplus行转列_EditPlus常用快捷键
- ERP customizing extraction - how extraction function module is determined
- 函数计算搭建 Serverless Web 应用(三)- 三分钟搭建 Web 应用
- 易优Eyoucms企业建站系统 1.4.2
- 坚持的力量 第十一篇
- 两个服务器之间怎么传输大量数据速度快 java socket_千兆网络的传输速度能超过125MB/s么?...
- bigdecimal不等于0怎么写_写文章死憋写不出来,怎么破?
- html 折叠焦点图切换,jQuery层叠式图片切换焦点图插件
- [课程相关]homework-03
- 九章算法系列(#2 Binary Search)-课堂笔记
- docker基础3--容器的基本操作
- win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
- java程序员面试宝典第四版pdf下载
- jpg图片怎么压缩大小?简单快捷的方法教给你
- python电脑怎么运行_如何运行python文件
- 纯CSS实现四种方式文本反差色效果
- 5个高质量简历模板网站,免费、免费、免费
- 色彩可视化 | 30DayMapChallenge
热门文章
- 学堂在线_大数据机器学习_小笔记
- 【Matplotlib】绘制多张图像时,上一张图像的内容重叠在下一张图像上
- yourshelf是什么意思中文_lose yourself是什么中文意思
- 【博弈-暴搜orDP】中山纪念中学暑期游Day1——游戏
- 知道QQ号码 怎么取它的昵称呢?
- Python入门 —— 2048实战(字符界面和图形界面)
- python学习笔记 - 设置Excel单元格样式
- 美国人测评马斯克的星链服务: 现实太骨感,梦想已破灭
- Spring初使用:使用Spring为对象的属性赋值
- MFC图片控件PictrueControl用法