PCA是机器学习中recognition中的传统方法,今天下午遇到了,梳理记一下

提出背景:

二维空间里,2个相近的样本,有更大概率具有相同的属性,但是在高维空间里,由于样本在高维空间里,呈现越来越稀疏的特性,即使相同属性的样本,距离也是随着维度提高,越来越远。

如100 * 100的照片分析,数据维度10000维,数据维度太高,计算机处理复杂度高,需要将维度降低(因为10000维里面数据之间存在相关关系,所以可以除去重复维度信息,而保持信息不丢失)

降维方法

1.以二维空间的5个样本X为例

先进行零均值化变为 
 
坐标轴上表示为:
                                     
2.求原始坐标空间x,y的协方差矩阵
                                                                
 x和y轴上均值为0, 所以x轴上元素的方差Variance(x)满足:
                                
 x轴,y轴上元素的方差Coariance(x,y)满足:
                               
我们将原始矩阵X做如下变换
                                
此时矩阵对角线上的元素是X,Y轴上的方差,邪对角线上的元素是,XY的协方差,此规律扩展到多维空间,同样成立:
                                                                          C是一个对称矩阵,其对角线分别个各个轴的方差,而第 i 行 i 列和,  j 行 i 列元素相同,表示和两个轴的协方差。
 
3.将X经过P做基变换后得到Y = PX,此时Y已变换到以P为基的新空间,这个空间维数更少,Y的各轴上方差达到最大,且轴与轴之间协方差最小
          
                             
 
                             
在变换后的新空间上,Y的各轴方差,和轴与轴之间的协方差,可以通过Y的协方差矩阵D表示
                          
 我们的优化目标即:Y的新空间上的新坐标轴上方差达到最大,且轴与轴之间协方差最小,此目标等价于Y的协方差矩阵D的对角化(非对角线上全为0,表示各轴之间表示的信息相互独立,将对角线上元素按照从大往小排列,最大的第1个元素,在那个轴上的方差最大)
                       
4.C是一个实对称矩阵(
                           
5.
                           
 对C求得特征值为,对应的特征向量为:
                                            
6.
                            
           
                
                           
如下图所示:
                           

PCA(Principal Component Analysis)笔记的更多相关文章

  1. R: 主成分分析 ~ PCA(Principal Component Analysis)

    本文摘自:http://www.cnblogs.com/longzhongren/p/4300593.html 以表感谢. 综述: 主成分分析 因子分析 典型相关分析,三种方法的共同点主要是用来对数据 ...

  2. 《principal component analysis based cataract grading and classification》学习笔记

    Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...

  3. Principal Component Analysis(PCA) algorithm summary

    Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...

  4. PCA(Principal Component Analysis)主成分分析

    PCA的数学原理(非常值得阅读)!!!!   PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...

  5. Principal Component Analysis(PCA)

    Principal Component Analysis(PCA) 概念 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, \[x_j - \bar x_j\] 归一化(标 ...

  6. (4)主成分分析Principal Component Analysis——PCA

    主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...

  7. Principal Component Analysis ---- PRML读书笔记

    To summarize, principal component analysis involves evaluating the mean x and the covariance matrix ...

  8. 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理

    0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...

  9. Sparse Principal Component Analysis via Rotation and Truncation

    目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...

随机推荐

  1. 【430】BST and Splay Tree

    参考:Hello, Splay! 目录: 1. Binary Search Tree 2. Splay Tree

  2. maven 引入的jar有出现两种图标

    两种同样都引入到maven项目中,但是第二种在打包的过程中会显示找不到jar,无法调用!

  3. Python subprocess中的run方法

    调用subprocess的推荐方法是对于它可以处理的所有使用场景都使用run()函数. run()函数是在Python 3.5中添加的,如果在老版本中使用,需要下载并扩展. 扩展安装方式: $ pip ...

  4. ABAP语法篇1 DATA新用法

    @DATA  按取数指定的字段定义内表结 定义工作区: SELECT SINGLE *          FROM lfbk          INTO @DATA(is_lfbk)          ...

  5. IDEA 多模块工程相互依赖

    最近为了结构项目,抽离通用模块,同时使用一个工程管理所有模块,使用了多模块工程.不过在依赖其他模块的编译上出现了问题,总是报找不到被依赖的jar包. 最后的解决办法也很简单,对于被依赖的模块,要在ma ...

  6. RabbitMQ官方教程五 Topic(GOLANG语言实现)

    在上一教程中,我们改进了日志记录系统. 我们没有使用只能进行虚拟广播的fanout交换器,而是使用直接交换器,并有可能选择性地接收日志. 尽管使用直接交换改进了我们的系统,但它仍然存在局限性-它不能基 ...

  7. Mac下WordPress4.1安装使用笔记

    WordPress简介         WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内 ...

  8. union all 关键字的应用(合并两个查询结果集到同一个结果集)

    在此对于数据库中 union all 关键字的功能和用法进行简单的使用介绍. 这是我工作中的一个需求: 有两个 A表 和B表. A表的数据: B表的数据: 现在有这样一个需求,让他一次性的全部查出来. ...

  9. kafka为什么吞吐量高,怎样保证高可用

    1:kafka可以通过多个broker形成集群,来存储大量数据:而且便于横向扩展. 2:kafka信息存储核心的broker,通过partition的segment只关心信息的存储,而生产者只负责向l ...

  10. js多种去重的方法总结

    第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 Array.pro ...