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. Flutter: 运行新项目报错

    今天接手了一个客户传过来的Flutter项目,估计是客户直接拷贝过来的,无法直接运行,由于刚接手Flutter, 很多东西还不懂,折腾了一会给弄好了. 1. 提示Dart SDK is not con ...

  2. ubuntu下如何开机自动执行自定义脚本?

    答: 将自定义脚本(假设自定义的脚本绝对路径为~/start_test.sh)添加到/etc/init.d/目录下,并更新系统启动项,命令如下: sudo cp ~/start_test.sh /et ...

  3. uboot下如何使用fatls工具?

    答: 如列出第一个sd卡第一个分区中的文件: fatls mmc 0:1 /

  4. 国人开发的api测试工具 ApiPost

    挺好用的 ApiPost https://www.apipost.cn/download.html 需要注册,免费试用.感觉比postman好用

  5. pytorch 计算图像数据集的均值和标准差

    在使用 torchvision.transforms进行数据处理时我们经常进行的操作是: transforms.Normalize((0.485,0.456,0.406), (0.229,0.224, ...

  6. ADO连接各种数据库的基本方法

    第一种方法: 以DSN的方法链接数据库(dbType=mysql): 前提需要配置DSN数据源 可以不用手动配置DSN,也可以使用如下代码让ODBC数据源自动注册SQLConfigDataSource ...

  7. RabbitMQ 清除全部队列及消息

    前言 安装RabbitMQ后可访问:http://{rabbitmq安装IP}:15672使用(默认的是帐号guest,密码guest.此账号只能在安装RabbitMQ的机器上登录,无法远程访问登录. ...

  8. Spring MVC 数据转换和格式化

    HttpMessageConverter和JSON消息转换器 HttpMessageConverter是定义从HTTP接受请求信息和应答给用户的 HttpMessageConverter是一个比较广的 ...

  9. SELinux安全子系统的学习

    SELinux(Security-Enhanced Linux)是美国国家安全局在 Linux 开源社区的帮助下开发的 一个强制访问控制(MAC,Mandatory Access Control)的安 ...

  10. 封装transform函数(设置和获取transform的属性和属性值)

    (function (w) { /** * 设置或者获取元素的transform属性值 * @param node 要设置的元素 * @param param 变换属性: translate\scal ...