PCA(基础知识)
参考:http://blog.csdn.net/wangjian1204/article/details/50642732
参考:https://www.zhihu.com/question/38319536
对角化的概念:
已知n x n的矩阵M,如果对于i≠j,Mij=0,则该矩阵为对角矩阵,如果存在一个矩阵A,使得A-1MA的结果为对角矩阵,则称矩阵A将矩阵M对角化。对一个矩阵来说,不一定存在将其对角化的矩阵,但是对于任意一个n x n的矩阵如果存在n个线性不相关的特征向量,则该矩阵可以被对角化。
定理:
令M为n x n矩阵,其特征值为λ1,λ2,...,λn,特征向量为V1,V2,...,Vn,形成线性无关组合,以每个特征向量为列构成矩阵A=[V1,V2,...,Vn],矩阵A可以将矩阵M对角化,乘积矩阵 A-1MA的主对角元素是矩阵M的特征值:
反之,如果存在可逆矩阵A,使得A-1MA为对角矩阵,则矩阵A的列等于矩阵M的特征向量,A-1MA的主对角元素为矩阵M的特征值,即M=AΛA-1。
若M为实对称矩阵,那么M也可以表示为:,其中Λ为特征值组成的特征矩阵。因为A为正交矩阵,所以AT=A-1
PCA
也称为主成分分析,用于降维和去噪,PCA选取包含信息量最多的方向对数据进行投影,其投影方向可以从最大化方差和最小化投影误差来理解。
假设有n x d矩阵X,每一行是一个d维矩阵xi,寻找投影方向vj以最大化投影误差:
该式子同样可以表示成:
,左式的X为样本矩阵
上面第一个式子的右边的推导是基于X已经经过0均值化处理,即为0,vj是数据的投影方向
从式子可以发现,xivj为样本点xi在映射维度的坐标,目的就是为了使得投影方差最大化,也即当为0时,求
最大化。
那么d x d协方差矩阵C满足
,由于C是实对称矩阵,可以进行对角化处理:
d x d正交矩阵V的每一列是特征向量,d x d矩阵L对角线上的每一个元素是特征值,且特征值按递减顺序排列,将C代回最上式子:
其中λj是特征向量vj对应的特征值,可以发现当投影方向是C的最大特征值对应的特征向量时,投影方向上数据的方差最大,所以用PCA进行降维时选取最大的n个特征值对应的特征向量作为投影方向:XVk,Vk是最大的k个特征值对应的特征向量矩阵,也就是我们所需要的投影矩阵。
PCA过程与SVD分解的联系在于:
若对X作奇异值分解(SVD):
对角矩阵S对角线上的元素是奇异值,U和V是正交矩阵:,把X的奇异值分解代入协方差矩阵:
d x d正交矩阵V的每一列是特征向量,特征值和奇异值之间存在对应关系:,对X主成份方向进行投影:
Uk包含U的前k列,Sk包含S左上角的k x k个元素
区别和联系
SVD可以获取另一个方向上的主成分,而PCA只能获取单个方向上的主成分:
通过SVD可以得到和PCA相同的结果,但是通常SVD比直接使用PCA更加稳定,因为PCA需要计算XTX的值。
PCA(基础知识)的更多相关文章
- matlab pca基础知识
PCA的一些基本资料 最近因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维. 本来最早的时候我没有打算对提取的gabor特征进行降维,但是如果一个图像时64*6 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第4节 多态_15_多态的概述
不是多种状态,而是有多种形态 继承是多态的前提 子类就是一个父类.学生就是一个人 多态性说的是这个对象.
- winform控件CxFlatUI
CxFlatUI https://github.com/HuJinguang/CxFlatUI 当前控件 AlertBox Button CheckBox DatePicker GroupBox ...
- Mac基本配置
相关操作 配置文件 java 下载jdk-12.0.1_osx-x64_bin.dmg 配置环境变量 #配置java JAVA_HOME=/Library/Java/JavaVirtualMachin ...
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- github项目分享
unity 项目合集:https://michidk.github.io/Unity-Script-Collection/ ugui特效:https://github.com/mob-sakai/UI ...
- mysql5.7密码登录的那些坑
mysql5.7密码策略及修改技巧 繁著 关注 2017.08.18 22:41* 字数 522 阅读 10184评论 0喜欢 4 mysql升级5.7版本以后,安全性大幅度上升. MySQL5.7为 ...
- 一次特殊的“VARCHAR转numeric失败”错误记录
今天接触到一个很有意思的问题.当我在执行一条INSERT的sql语句时,他总是报字符串转数字类型失败. 问题 首先,该表中的所有数字类型的字段都是非必填,其次,每个数字类型的字段都有默认值.最令我感到 ...
- Java 类在 Tomcat 中是如何加载的?
作者 :xingoo https://www.cnblogs.com/xing901022/p/4574961.html 说到本篇的Tomcat类加载机制,不得不说翻译学习Tomcat的初衷. 之前实 ...
- [2019杭电多校第四场][hdu6621]K-th Closest Distance(主席树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6621 题意为求区间[l,r]内第k小|a[i]-p|的值. 可以二分答案,如果二分的值为x,则判断区间 ...
- shutdown的几种方法和利弊
1.shutdown normal 正常方式关闭数据库. 2.shutdown immediate 立即方式关闭数据库. 在SVRMGRL中执行shutdown imme ...