<div id="single_top"></div> <p> </p>
讯享网
上图讲述的两组数据,可以看到左图的数据离散度比较大,相关性比较弱,右图数据的相关性比较强;我们在使用PCA的时候,就是要将相关性强的数据进行降维,以减少处理的数据量。
那么怎么描述数据的相关性呢?使用期望,协方差以及相关系数:下面分别是左图和右图的数字特征:


其实其关键性做得是R,R说明了点间的相关性,但是想要知道R你必须要知道Sigma(X),想要知道Sigma(X)你有必须要知道期望,所以获取点间的关系,必须要求得期望和协方差。
协方差的价值有量个:
1.协方差大于零说明两套数据变化趋势是一致的;
2. 协方差=0,说明数据没有相关性
注意,这里说的是协方差,对于方差而言,方差值大小代表数据离散程度。
协方差矩阵的作用:
1. 对角线上面的是数据的方差;
2. 无关数据的形式除了对角线上的数据,其他都是0.
那么我们现在目标是找到一个新的坐标系,将xy坐标系中相关数据进行映射,保证了在新的坐标体系下面,数据是不相关的,即:他们的协方差矩阵除了对角线之外全为0。
假设存在这个平面,之前的数据为x,新的映射平面y,有
y = Gx,G为常量矩阵,实现了x数据的伸缩和旋转,这里应该主要是旋转;
于是,这个新的坐标系下面的y可以推导为:
sigma(y) = E{[y - E(y)][y - E(y)].T}
sigma(y) = E{[Gx - E(Gx)][Gx - E(Gx].T}
sigma(y) = GE{[x - E(x)][x - E(x)].T}G.T
sigma(y) = Gsigma(x)G.T
因为目标是sigma(y)中,除了对角线,其他点都是0, 为了满足这一点,首先G应该是sigma(x)的特征矢量的转置,而且是一个正交矩阵,这样就满足了最终的结果是:

对角线的值就是各个维度的方差值。同时按照从大到小的排列,这里采用的是K-L变换(霍特林变换)。所谓的主成分,就是排在前面的几个λ对应的特征,取决于你打算要几个主成分。

然后,用x去乘以所选取的特征向量组(所选的几个λ对应的特征向量),这个操作本质完成的数据的旋转,将数据旋转到一个维度减少”平面”,这个平面能够包含主成分的数据(非主成分的数据飞出平面也无所谓了,所谓主成分就是大多数的数据);所谓包含即使指投影,将原来空间的数据项旋转后的平面做投影。
PCA的的协方差部分解释完了,下面就是在上面最后提到了特征矢量(特征向量),什么是特征向量?对于方阵矩阵A:
Ax = λx
λ称之为方阵A的特殊值,x就是方阵A对应λ的特征向量,由定义的公式可以变型为:
(A - λE)x = 0
其中|A - λE|称之为特征多项式。求λ的思路就是首先求行列式|A - λE| = 0来获得特征值;然后再将将特征值带入到(A - λE)x = 0中可以求得基础解系pi,k*pi都是A的特征向量。
紧接着,我们看一下什么是基础解系呢?
基础解系首先是向量组线性相关的概念,在介绍基础解系之前要明白什么是解向量:

上式可以简化写成向量方程:Ax = 0;
那么向量[x1,x2,x3…,xn)就是方程(1)的解向量,是Ax=0的解。
解向量有如下的性质:
1) A(x1 + x2) = Ax1 + Ax2 = 0
2) A(kx1) = kA(x1) = 0
由上可得:x = k1x1 + k2x2 + … + knxn,这个就叫做方程Ax = 0的通解;
齐次线性方程组的最大无关组,称之为该齐次线性方程组的基础解系,所以求通解,只要把基础解系(即x1,x2,…,xn)求出来,既可以求得通解。
在求解过程上,首先将矩阵A进行最简行变化,选择转化为方程式,然后从中选取n - r个变量作为非自有解,指定具体的值,从而推算出r个自由变量的值,这个r个自由变量的值就是在配上之前的非自由解,就确定了一组基础解析。在求解基础解系的过程中,用到了一个定理:
设m * n矩阵,R(A) = r,则n元齐次线性方程组Ax = 0的解集S的秩Rs = n - r。
说明:设R(A) = n的时候,没有基础解析,只有零向量;R(A) < n的时候,方程式的基础解系中包含有n - r个解。根据最大无关性质,方程组(1)中任意n - r个解都可以组成一个基础解系,所以,方程组的基础解系并不唯一 => 通解形式也不唯一。
一个一个的来捋,首先思考一下为什么R(A) = n只有零向量呢?首先要建立一个概念,就是矩阵方程的理念是用别的变量来表示变量,例如下面的情况:

x1 = -x2 +2 * x3 - x4 - 4 * x5
x2 = x3 - x4
x4 = 3 * x5
x1, x2, x4叫做非自由变量,因为他们是需要其他变量来进行表示;设想一下,如果R(A) = n将会发生什么情况:xn = 0!满秩代表着x[n-1]是由xn表示,那么=>x[n-1]是0以此类推,所有的x都是0,所以,如果R(A) = n,那么只有零解。

第二个,里面提到了”最大无关性质”,什么是最大无关?上面我们提到了非自由变量有自由变量线性来表示;这个其实就是”线性表示”,只有向量组(矩阵)是线性相关的时候才时候,才能够实现线性表示。那么什么是线性表示?除了公式中给出的表示之外,在二维空间里面,线性相关代表共线,在三维空间中,代表共面。
最大无关组:
1)向量组A0:a1, a2, a3, …, ar线性无关;
2)向量组A中任何r+1个向量都是线性相关的,那么
称A0为最大无关向量组,简称最大无关组。最大无关组所包含向量的数量,称之为秩。
好了,这次就先挖到这里吧。
参考:
中心化(又叫零均值化)和标准化(又叫归一化)
https://blog.csdn.net/GoodShot/article/details/
图像处理中的数学原理详解20——主成分变换(PCA)
https://blog.csdn.net/baimafujinji/article/details/
图像处理中的数学原理详解21——PCA实例与图像编码
https://blog.csdn.net/baimafujinji/article/details/
- PCA原理解释(二)
PCA在做数据处理,一般会有一个数据预处理,其中一个目标就是将取数据特征向相关性. 为什么要去特征的相关性? 因为数据如果有相关性,在学习的时候是冗余的,徒增学习成本:所以对于数据处理(也称之为白化, ...
- PCA原理与实践
在对数据进行预处理时,我们经常会遇到数据的维数非常之大,如果不进行相应的特征处理,那么算法的资源开销会很大,这在很多场景下是我们不能接受的.而对于数据的若干维度之间往往会存在较大的相关性,如果能将数据 ...
- Kernel PCA 原理和演示
Kernel PCA 原理和演示 主成份(Principal Component Analysis)分析是降维(Dimension Reduction)的重要手段.每一个主成分都是数据在某一个方向上的 ...
- 主成分分析(PCA)原理与实现
主成分分析原理与实现 主成分分析是一种矩阵的压缩算法,在减少矩阵维数的同时尽可能的保留原矩阵的信息,简单来说就是将 (n×m)的矩阵转换成(n×k)的矩阵,仅保留矩阵中所存在的主要特性,从 ...
- 降维算法----PCA原理推导
1.从几何的角度去理解PCA降维 以平面坐标系为例,点的坐标是怎么来的? 图1 ...
- UDP 打洞 原理解释
终于找到了一份满意的UDP打洞原理解释,附上正文,自己整理了一下源码 3.3. UDP hole punching UDP打洞技术 The third technique, and the one o ...
- [分享]Host文件的原理解释及应用说明
Host文件的原理解释及应用说明 Host文件位置及打开方式: Window系统中有个Hosts文件(没有后缀名), Windows 98系统下该文件在Windows目录,在Windows 2 ...
- 用EM4305/T5557模拟EM4100的ID卡,原理解释
用EM4305/T5557模拟EM4100,原理解释 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osnosn的博客 写于: 2019-0 ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
讯享网 <li>MySQL:数据库的基本操作
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">第二篇.数据库的基本操作 一.创建数据库 附:创建数据库并不意味输入数据在这个数据库中,只有用切换数据库才可以输数据到这个数据库中. 1.创建数据库 格式:create database数据库名字 [ ...</p>
</li>
<li>debian镜像下载地址
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;"> http://cdimage.debian.org/debian-cd/9.8.0-live/amd64/iso-hybrid/ </p>
</li>
<li>vuejs中v-bind绑定class时的注意事项
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">关于v-bind绑定class的实例 作用:可用于不同样式之间的切换 <!DOCTYPE html> <html lang="en"> <head&g ...</p>
</li>
<li>xargs用法
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">xargs是一个很有用的命令,它可以实现并行,同&有异曲同工之妙,在大批量管理服务器时非常有用 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据 ...</p>
</li>
<li>angular 学习日志
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">1.创建项目 npm install -g @angular/cli ng new my-app cd my-app ng serve --open // 或者 npm start 2.生成新模块 n ...</p>
</li>
<li>robotframework·WEB项目
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">date:2018527 day11 一.项目分层 1.测试数据(配置变量,如网址.用户名.密码等) 2.关键字(关键字封装,要调用直接使用关键字名即可,输入内容.点击元素.滚动滑动条等等) 3.测试 ...</p>
</li>
<li>【Python】利用正则解析xml练习题
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">{ "date": "18-03-29 06:04:47", "data": { "deviceType": 1, &q ...</p>
</li>
<li>[err]multiple definition of `*'
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">err CMakeFiles/dsm.dir/src/main_stateEstimation.cpp.o: In function `align_mean(cv::Mat, cv::Rect_< ...</p>
</li>
<li>[LeetCode&Python] Problem 762. Prime Number of Set Bits in Binary Representation
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">Given two integers L and R, find the count of numbers in the range [L, R](inclusive) having a prime ...</p>
</li>
<li>软件安装配置笔记(二)——SQL Server安装
<p style="color: rgba(0, 0, 0, 0.32);margin-bottom: 8px;">客户端安装: 服务器端安装:</p>
</li>
</ol>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192851.html