协方差

PCA数学角度解析

我只是一个虾纸丫 提交于 2020-04-03 13:50:31
转:http://blog.csdn.net/passball/article/details/24037593 主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是K-L变换。PCA方法最著名的应用应该是在人脸识别中特征提取及数据维,我们知道输入200*200大小的人脸图像,单单提取它的灰度值作为原始特征,则这个原始特征将达到40000维,这给后面分类器的处理将带来极大的难度。著名的人脸识别Eigenface算法就是采用PCA算法,用一个低维子空间描述人脸图像,同时用保存了识别所需要的信息。下面先介绍下PCA算法的本质K-L变换。 1、K-L变换(卡洛南-洛伊(Karhunen-Loeve)变换): 最优正交变换 一种常用的特征提取方法; 最小均方误差意义下的最优正交变换; 在消除模式特征之间的相关性、突出差异性方面有最优的效果。 离散K-L变换:对向量 x (可以想象成 M维=width*height 的人脸图像原始特征)用确定的完备正交归一向量系 u j 展开: 这个公式由来我想应该是任一 n维欧式空间 V均存在正交基,利用施密特正交化过程即可构建这个正交基。 现在我们希望用 d个有限项来估计向量 x,公式如下: 计算该估计的均方误差如下: 要使用均方误差最小

GMM算法应用实例介绍及参数详解

坚强是说给别人听的谎言 提交于 2020-03-10 19:30:26
GMM,高斯混合模型,也可以简写为MOG。高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 高斯混合模型(CMMs)是统计学习理论的基本模型,在可视媒体领域应用广泛。近些年来,随着可视媒体信息的增长和分析技术的深入,GMMs在(纹理)图像分割、视频分析、图像配准、聚类等领域有了进一步的发展。从GMMs的基本模型出发,从理论和应用的角度讨论和分析了GMMs的求解算法,包括EM算法、变化形式等,论述了GMMs的模型选择问题:在线学习和模型约简。在视觉应用领域,介绍了GMMs在图像分段、视频分析、图像配准、图像降噪等领域的扩展模型与方法,详细地阐述了一些最新的典型模型的原理与过程,如用于图像分段的空间约束CMMs、图像配准中的关联点漂移算法。最后,讨论了一些潜在的发展方向与存在的困难问题。 GMM在视觉分析中的应用 1. 图像分段 高斯混合模型在图像分割领域应用广泛,在一般图像上经典过程是将像素映射到特征空间,然后假设特征空间的点由待定参数的GMMs生成,使用EM等算法计算最优的参数值以确定像素的类别。实际上,在图像分割应用中GMMs被看做是一个聚类模型,与特征选择、聚类分析、模型选择、EM算法设计紧密相关。 2. 视频分析 CMMs和相关的统计方法广泛应用于视频分段、目标识别和跟踪、错误消除,为手势识别

【算法原理】主成分分析(PCA)

十年热恋 提交于 2020-03-07 19:33:20
目标: 降低特征维度 如何降维: 基变换(将原始特征所依赖的基组变换为新的基组,基组改变,原始特征也会按照基组的变换而变)。 如何确定新基组: 变换后方差越大越好(保留的原始信息越多),同时基组中的基协方差要为0(协方差衡量变量间的相关程度,协方差为0则两个变量不相关,即基组中的基两两正交,几何表示为垂直)。 有了新基组的确定标准,该如何计算新基组: 利用协方差矩阵(对角线上是方差,其余位置是协方差,该矩阵为对称矩阵),因为实对称矩阵一定能找到单位正交的特征向量,所以利用协方差矩阵的对角化(考研数学知识)找到特征值及对应的特征向量。 特征向量与降维的关系: 选择出的特征向量乘以原始数据就可以实现对原始数据的降维。例如将150个具有4个特征的数据(150 4)乘以两个特征向量(加入为4 2),则原始数据降维成150*2,特征维度降为2维。 那么该如何选择特征向量个数及具体哪些特征向量呢: 以特征值为标准,特征值越大,代表该特征值所对应的特征向量越重要。对特征值大小排序,按照预先指定的降维后的特征数(如2),选择特征值排名前2的所对应的特征向量。 来源: CSDN 作者: 不停下脚步的乌龟 链接: https://blog.csdn.net/weixin_44680262/article/details/104718311

pca图像识别

心不动则不痛 提交于 2020-03-03 19:48:39
代码下载: 基于PCA(主成分分析)的人脸识别 人脸识别是一个有监督学习过程,首先利用训练集构造一个人脸模型,然后将测试集与训练集进行匹配,找到与之对应的训练集头像。最容易的方式是直接利用欧式距离计算测试集的每一幅图像与训练集的每一幅图像的距离,然后选择距离最近的图像作为识别的结果。这种直接计算距离的方式直观,但是有一个非常大的缺陷—计算量太大。如果每幅图像大小为100*100,训练集大小1000,则识别测试集中的一幅图像就需要1000*100*100的计算量,当测试集很大时,识别速度非常缓慢。 解决上述问题的一个途径是对图像进行降维,通过只保留某些关键像素可以使识别速度大大提升。降维的一个方法即是PCA(主成分分析),在此我们介绍通过PCA进行人脸识别的步骤。 1 读取训练集图像数据 读取测试集目录下指定个数的图像,然后将其保存在一个二维数组中。如果图像个数为m,图像长宽为i、j,则我们创建一个二维数组A[m][i*j=n]用来保存图像数据。 数组的每一行表示一个图像的所有像素信息,每一列表示一个随机变量,也即不同图像同一位置的像素信息,降维也即用更少的列来代表图像。 2 每列减去均值 将步骤一的每列减去该列的均值,这样每列的数据均值为0。在利用matlab的函数princomp执行PCA的过程中,princomp会首先将每一列减去该列均值,不用我们自己执行。 3 计算协方差矩阵

数据压缩·课前任务二(PCA)

徘徊边缘 提交于 2020-03-03 05:10:55
要求:主成分分析:步骤、应用及代码实现 目的: 降维。 简介: 通俗易懂见详解:https://www.matongxue.com/madocs/1025.html 这里举一个例子帮助理解。 首先我们观察一下下面这个矩阵: 会发现,这个矩阵的第一列,第二列,第四列这三个列向量在空间中的指向是没有变的,仅仅只是缩放了相应的倍数而已,所以这个看起来是四维度矩阵其实是个二维矩阵。看到这你可能开始迷惑了,为啥是二维,这个矩阵不是有四个列向量吗?鲁迅曾经说过:不要被表象迷惑了双眼。好吧,不管这句话是不是鲁迅说的,但总之,仔细想想我们就会发现,第一、二、四个列向量它们都处在同一条直线上,用线性代数的语言来说,就是这三个列向量张成的空间是一条直线,那在加上第三个列向量所张成的直线,那这个矩阵不就只代表了一个二维平面嘛!所以说,这个四维的矩阵其实只是一个二维矩阵而已! 到这里,我们就会顺理成章产生这样的想法:既然是一个二维的矩阵,干嘛不用二维的形式呢?所以自然地我们就会想到要找一个办法让这个矩阵降维,让它把冗余数据给去掉,只留下它的主成分。我们可以把上面的矩阵看成是一个四维空间中的二维平面,既然是二维平面,就应该在二维平面上重建一个坐标系,这样就可以把原来的列向量都表示出来,也就是说,这四个列向量在空间中没有变,只是我们换了一个参考系,表征它们的值也就变了,原来需要四个数(x,y,z,r

面向软件工程师的卡尔曼滤波器

孤街醉人 提交于 2020-03-01 12:08:07
与我的朋友交谈时,我经常听到:“哦,卡尔曼(Kalman)滤波器……我经常学它,然后我什么都忘了”。好吧,考虑到卡尔曼滤波器(KF)是世界上应用最广泛的算法之一(如果环顾四周,你80%的技术可能已经在内部运行某种KF),让我们尝试将其弄清楚。 在这篇文章的结尾,你将对KF的工作原理,其背后的想法,为什么需要多个变体以及最常见的变体有一个直观而详细的了解。 状态估计 KF是所谓的状态估计算法的一部分。什么是状态估计?假设你有一个系统(让我们将其视为黑箱)。黑箱可以是任何东西:你的风扇,化学系统,移动机器人。对于这些系统中的每一个,我们都可以定义一个状态。状态是我们关心的变量向量,可以描述系统处于特定时间点的“状态”(这就是为什么将其称为状态)。“可以描述”是什么意思?这意味着,如果你了解当时的状态向量k和提供给系统的输入,则可以了解当时的k+1的系统状态(与此同时使用系统工作原理的一些知识)。 例如,假设我们有一个移动的机器人,并且我们关心其在空间中的位置(并且不在乎其方向)。如果我们将状态定义为机器人的位置(x, y)及其速度,( v x v_x v x ​ , v y v_y v y ​ )并且我们有一个机器人如何运动的模型,那么就足以确定机器人的位置以及下一个时刻的位置。 因此,状态估计算法估计系统的状态。为什么要估算呢?因为在现实生活中,外部观察者永远无法访问系统的真实状态

相关系数与协方差

和自甴很熟 提交于 2020-02-24 10:45:45
用Excel做数据分析一相关系数与协方差 协方差的统计与相关系数的方法相似,统计结果都是返回一个输出表和一个矩阵,分别表示每对测量值变量之间的相关系数和协方差。 不同之处在于相关系数的取值在-1和+1之间,而协方差没有限定的取值范围。相关系数和协方差都是描述两个变量离散程度的指标。 同样的方法计算出协方差阵 来源: CSDN 作者: 卖山楂啦prss 链接: https://blog.csdn.net/qq_42374697/article/details/104471632

主成分分析详解以及python实现

China☆狼群 提交于 2020-02-22 22:33:41
主成分分析的基本概念 主成分分析(Principal Component Analysis,PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 主成分分析的意义 对于一组数据X,存在以下特征{x1,x2,x3},这些特征之间可能存在一些关联性,主成分分析就是利用代表数据之间关联性的协方差矩阵来去除数据的关联性,找到一组数据中最关键的要素。 举一个简单的例子,比如对于一组深海鱼的数据,有身长,体重,游速,体温等等。但是如果我们用这些数据来描述一条深海鱼,那就过于复杂了。显然,即使凭借我们从先验的感官中,就可以看出鱼的身长和体重这两组数据是有高度重合性的,身长长的鱼类体重必然沉。那么我们可不可以把这两种鱼类特征合并到一起呢。因为对于数据的分析而言,少了一个数据,就让整数据的空间下降了一个维度,这是十分必要的。 主成分分析用到的数学工具 协方差矩阵 协方差矩阵是利用标准化过后特征矩阵的转置乘以它本身来得到的,它是一个对角矩阵,用来表示特征与特征之间的关联性。 特征值与特征向量 一个矩阵的特征向量表示在乘以这个矩阵后只发生长度变化而不发生方向变化的向量,而特征值是这些向量乘以矩阵后的变化的程度。因此,求矩阵的特征向量,本质上是将矩阵分解为相互独立正交的向量,而特征值是这些向量对于矩阵本身影响的重要程度

深入理解 “协方差矩阵”(python 模拟)

烂漫一生 提交于 2020-02-21 05:25:23
深入理解“协方差矩阵”(python模拟) 协方差矩阵时机器学习中常用的概念,应该是像是牛顿三大定律一样章口就莱。但是真当用到的时候却还是模棱两可,需要重新查资料确认,这次就写一篇文章一次性给自己说清楚,也争取能给大家说清楚。 方差和协方差 先弄清楚方差和协方差才能深入理解协方差矩阵(以下给出的均为统计学中的定义) 方差 :是用来度量单个随机变量的变化程度(也称离散程度) 协方差 :用于衡量两个随机变量总体变化程度。 有的地方说:“协方差刻画两个随机变量的相似程度”,这种表述是不够准确的,可以说:“刻画两个随机变量偏离各自期望的的程度的程度”。这么说就很绕,下面给出百度百科的解释 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。(百度百科) 网上还有一种比喻就是说方差就像是在一群人中衡量一个人的身高;而协方差是在一群中衡量一个人的升高和体重(也许对有些人会比较好理解,下面的说明也会用到这个例子) 下面给出 方差 的方程: σ x 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 \sigma_x^2=\frac{1}{n-1}\sum_{i=1}^n(x_i-