协方差协方差矩阵【matlab实例】
协方差矩阵
协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算 n!(n−2)!∗2 \frac{n!}{(n-2)!*2}个协方差,那自然而然我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:
C_{n*n}=(c_{i,j}, c_{i,j}=cov(Dim_i, Dim_j))
这个定义还是很容易理解的,我们可以举一个三维的例子,假设数据集有三个维度,则协方差矩阵为:
必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数:
首先,随机生成一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。
>> mySample=fix(rand(10,3)*50)mySample =40 7 3245 48 16 47 4245 24 4631 40 334 7 3713 21 3727 45 1947 39 3248 47 8
根据公式,计算协方差需要计算均值,前面特别强调了,协方差矩阵是计算不同维度之间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列是一个维度,因此我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:
>> dim1=mySample(:,1)dim1 =404564531413274748>> dim2=mySample(:,2)dim2 =748472440721453947>> dim3=mySample(:,3)dim3 =321424633373719328
计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:
>> cov12=sum((dim1-mean(dim1)).*(dim2-mean(dim2)))/(size(mySample,1)-1)cov12 =78>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov23=sum((dim2-mean(dim2)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov23 =-126.9444
协方差矩阵的对角线上的元素就是各个维度的方差,下面我们依次计算这些方差:
>> var1=std(dim1)^2var1 =301.1556>> var2=std(dim2)^2var2 =268.9444>> var3=std(dim3)^2var3 =216.0111
这样,我们就得到了计算协方差矩阵所需要的所有数据,可以调用Matlab的cov函数直接得到协方差矩阵:
>> cov(mySample)ans =301.1556 78.0000 -120.244478.0000 268.9444 -126.9444-120.2444 -126.9444 216.0111
计算的结果,和之前的数据填入矩阵后的结果完全相同。
协方差协方差矩阵【matlab实例】相关推荐
- 协方差矩阵的实例与意义
协方差矩阵的实例与意义 在机器学习中经常需要计算协方差矩阵,本科时没学过这个概念,一直对此非常头疼.现在试图通过实例的计算.图形化的表示来梳理一下什么是协方差矩阵. A numerical examp ...
- 高斯 二维 matlab,MATLAB实例:二维高斯分布图
MATLAB实例:二维高斯分布图 问题描述:用MATLAB在一张图上同时画出二维高斯散点图与分布图. 数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss_data.txt. 前期工作 ...
- 卡尔曼滤波MatLab实例一:房间温度
卡尔曼滤波简介 最近接触到卡尔曼滤波,查阅了图书馆以及网上的一些资料,稍微有点收获,在此记录一下,方便之后用到. 我主要参考了以下内容: ①https://blog.csdn.net/u0107206 ...
- 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...
MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...
- bp神经网络matlab实例蚊子,bp神经网络matlab实例
bp神经网络matlab实例 采用 Matlab 工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考 Matlab 帮助文档.实例一% 例 1 采用动量梯度下降算法训练 BP 网 ...
- matlab指派问题求法,MATLAB实例:Munkres指派算法
MATLAB实例:Munkres指派算法 1. 指派问题陈述 指派问题涉及将机器分配给任务,将工人分配给工作,将足球运动员分配给职位等.目标是确定最佳分配,例如,使总成本最小化或使团队效率最大化.指派 ...
- matlab中二维散点图,MATLAB实例:二维散点图
MATLAB实例:二维散点图 用MATLAB实现简单的散点图的绘制,可以自行设置点的形状与颜色,可以去掉坐标轴边框. 数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss.txt. 1 ...
- 【啃书】《智能优化算法及其MATLAB实例》例6.1基本粒子群算法进行sphere函数寻优
文章目录 问题描述 仿真过程 matlab源码 问题描述 仿真过程 基本粒子群算法的进化进程如下 matlab源码 以下给出的粒子群算法代码使用了给定惯性权重 %该脚本要命名为func1.m %%%% ...
- 支持向量机(SVM)MATLAB 实例讲解,及选择训练方式使误差率尽可能减为0
今天看了有关支持向量机(Support vector machine,简称SVM )用来分类的内容.通过学习算法,SVM可以自动找出那些对分类有用有较好区分能力的支持向量,由此构造出的分类器可以最大化 ...
- matlab 画非线性曲线,MATLAB实例:非线性曲线拟合
MATLAB实例:非线性曲线拟合 用最小二乘法拟合非线性曲线,给出两种方法:(1)指定非线性函数,(2)用傅里叶函数拟合曲线 1. MATLAB程序 clear clc xdata=[0.1732;0 ...
最新文章
- tools。php,phpTools/tools.php at master · superve/phpTools · GitHub
- 用python画爱心-python画一个玫瑰和一个爱心
- 【Linux】一步一步学Linux——help命令(16)
- python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化
- mysql的innodb如何定位锁问题_mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?...
- 周志华教授专著《集成学习:基础与算法》上市,豆瓣满分森林书破解AI实践难题...
- 2019年互联网实习高薪清单,看你有没有被倒挂
- 移动视频监控(2)---原型开发---(音视频编解码多平台移植(for window/wince))ffmpeg --自由之路即是曲折之路。...
- css ios动画,我的CSS动画未在iOS的
- 如何查看python的版本号
- js ---- 数组操作
- 余丙森概率论pdf_【概率论与数理统计pdf】下载 - 面包树
- 【知识图谱】08KBQA问答系统(python+fuseki+jena)
- 02-Ceph 集群部署
- python|爬虫东宫小说
- 打印表格留标题怎么设置_打印如何添加标题?内容一页打不下?—关于Excel文档打印的那些事-excel打印区域怎么设置...
- color constancy dataset(白平衡仿真数据集)
- Maven多模块开发Action:Consider defining a bean of type '*.*.*' in your configuration解决
- jenkin设置定时构建及时区修改
- 【做人:一,性格和习惯的重要性[转载]】
热门文章
- Object R3TR DOCT ZLOGIN_SCREEN_INFO can not be modify
- PDF页面大小方向调整
- NXP发布M33的内核MCU,只有M0+的价格!
- 利用微搭实现下拉框动态填充值得问题
- cla无证书认证_一年制留服认证研究生
- IT项目管理:IT项目集成管理
- 深入理解 tornado 之底层 ioloop 实现
- 互联网思维“独孤九剑”:传统企业互联网化的心法
- Python爬虫第一步之获取网页源代码
- eul for Mac(菜单栏系统监控工具) v1.5中文版