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. 积神经网络(CNN)的参数优化方法

    http://www.cnblogs.com/bonelee/p/8528863.html 积神经网络的参数优化方法——调整网络结构是关键!!!你只需不停增加层,直到测试误差不再减少. 积神经网络(C ...

  2. AndoridSQLite数据库开发基础教程(7)

    AndoridSQLite数据库开发基础教程(7) 为空表添加数据 开发者可以单击Data按钮,看到Students表中是没有数据的,创建好的Students表是一个空表.如图1.15所示.如果开发者 ...

  3. Kali Linux软件更新日报20190622

    Kali Linux软件更新日报20190622   (1)laudanum更新到1.0+r36-0kali3,此次更新移除了添加到webshells的链接. (2)mimikatz更新到2.2.0- ...

  4. VPB编译日志1

    1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Release x64 ------1> Checking Build System1> CMake ...

  5. netty5自定义私有协议实例

    一般业务需求都会自行定义私有协议来满足自己的业务场景,私有协议也可以解决粘包和拆包问题,比如客户端发送数据时携带数据包长度,服务端接收数据后解析消息体,获取数据包长度值,据此继续获取数据包内容.我们来 ...

  6. 定时备份删除数据库sql

    1.备份数据库 mkdir -p /home/mysql/mysql_bak/ vi mysql_bak.sh #!/bin/bash #Shell Command For Backup MySQL ...

  7. java中如何使用列表数组

    java中如何使用列表数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me 转载链接 https://blog.csdn.net/hgtjcxy/article/details/8183519 ...

  8. 【CSS3练习】在圆上旋转的菜单

    先上效果图:就是用js计算每个小圆的位置分布到大圆的边线上,然后在让大圆旋转起来. 线上查看地址:http://dtdxrk.github.io/game/css3-demo/diffuse.html ...

  9. python:datetime.datetime is not JSON serializable 报错问题解决

    问题: 项目使用django开发,返回的数据中有时间字段,当json.dumps()时提示:datetime.datetime is not JSON serializable 解决: import ...

  10. 非常好用的JavaScript 工具库--lodash

    一.什么是lodash? lodash库是一个具有一致接口.模块化.高性能等特性的 JavaScript 工具库. lodash是一个javascript库,也是Node JS的常用模块,它内部封装了 ...