协方差矩阵计算方法[通俗易懂]

协方差矩阵计算方法[通俗易懂]1.协方差矩阵X,YX,YX,Y是两个随机变量,X,YX,YX,Y的协方差Cov(X,Y)Cov(X,Y)Cov(X,Y)定义为:cov(X,Y)=E[(X−μx)(Y−μy)]cov(X,Y)=E[(X-\mu_x)(Y-\mu_y)]cov(X,Y)=E[(X−μx​)(Y−μy​)]其中:E(X)=μx,E(Y)=μyE(X)=\mu_x,E(Y)=\mu_yE(X)=…

大家好,又见面了,我是你们的朋友全栈君。

1. 协方差矩阵

X , Y X,Y X,Y是两个随机变量, X , Y X,Y X,Y的协方差 C o v ( X , Y ) Cov(X,Y) Cov(X,Y)定义为:
c o v ( X , Y ) = E [ ( X − μ x ) ( Y − μ y ) ] cov(X,Y) = E[(X-\mu_x)(Y-\mu_y)] cov(X,Y)=E[(Xμx)(Yμy)]
其中:
E ( X ) = μ x , E ( Y ) = μ y E(X)=\mu_x,E(Y)=\mu_y E(X)=μxE(Y)=μy

2.协方差矩阵定义

矩阵中的数据按行排列和按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observation(样本),那么每一列就是一个随机变量(特征)。
X m × n = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] = [ c 1 c 2 ⋯ c n ] X_{m \times n} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & \cdots & c_n \end{bmatrix} \quad Xm×n=a11a21am1a12a22am2a1na2namn=[c1c2cn]
协方差矩阵:
c o v M a t r i x = 1 m − 1 [ c o v ( c 1 , c 1 ) c o v ( c 1 , c 2 ) ⋯ c o v ( c 1 , c n ) c o v ( c 2 , c 1 ) c o v ( c 2 , c 2 ) ⋯ c o v ( c 2 , c n ) ⋮ ⋮ ⋱ ⋮ c o v ( c n , c 1 ) c o v ( c n , c 2 ) ⋯ c o v ( c n , c n ) ] covMatrix = \frac{1}{m-1} \begin{bmatrix} cov(c_1, c_1) & cov(c_1, c_2) & \cdots & cov(c_1, c_n) \\ cov(c_2, c_1) & cov(c_2, c_2) & \cdots & cov(c_2, c_n) \\ \vdots & \vdots & \ddots & \vdots \\ cov(c_n, c_1) & cov(c_n, c_2) & \cdots & cov(c_n, c_n) \\ \end{bmatrix} \quad covMatrix=m11cov(c1,c1)cov(c2,c1)cov(cn,c1)cov(c1,c2)cov(c2,c2)cov(cn,c2)cov(c1,cn)cov(c2,cn)cov(cn,cn)
协方差矩阵的维度等于随机变量的个数,即每一个observation的维度。在某些场合前边也会出现 1 m \frac{1}{m} m1,而不是 1 m − 1 \frac{1}{m-1} m11

3.求解协方差矩阵的步骤

举个例子,矩阵X按行排列:
X = [ 1 2 3 3 1 1 ] = [ c 1 c 2 c 3 ] X = \begin{bmatrix} 1 & 2 & 3 \\ 3 & 1 & 1\\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & c_3 \end{bmatrix} \quad X=[132131]=[c1c2c3]

1.求每个维度的平均值
c ˉ = [ 2 1.5 2 ] = [ c 1 ˉ c 2 ˉ c 3 ˉ ] \bar{c} = \begin{bmatrix} 2 & 1.5 & 2 \end{bmatrix} \quad = \begin{bmatrix} \bar{c_1} & \bar{c_2} & \bar{c_3} \end{bmatrix} \quad cˉ=[21.52]=[c1ˉc2ˉc3ˉ]
2.将X的每一列减去平均值
X = [ − 1 0.5 1 1 − 0.5 − 1 ] X = \begin{bmatrix} -1 & 0.5 & 1 \\ 1 & -0.5 & -1\\ \end{bmatrix} \quad X=[110.50.511]
其中:
c i = c i − c i ˉ c_i = c_i – \bar{c_i} ci=ciciˉ
3.计算协方差矩阵
c o v = 1 m − 1 X T X = 1 2 − 1 [ 2 − 1 − 2 − 1 0.5 1 − 2 1 2 ] cov = \frac{1}{m-1}X^TX = \frac{1}{2-1} \begin{bmatrix} 2 & -1 & -2 \\ -1 & 0.5 & 1 \\ -2 & 1 & 2 \\ \end{bmatrix} \quad cov=m11XTX=21121210.51212

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153955.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月28日 下午3:16
下一篇 2022年6月28日 下午3:36


相关推荐

  • sat错题分数换算表_acwing算法基础

    sat错题分数换算表_acwing算法基础给定 n 个还未赋值的布尔变量 x1∼xn。现在有 m 个条件,每个条件的形式为 “xi 为 0/1 或 xj 为 0/1 至少有一项成立”,例如 “x1 为 1 或 x3 为 0”、“x8 为 0 或 x4 为 0” 等。现在,请你对这 n 个布尔变量进行赋值(0 或 1),使得所有 m 个条件能够成立。输入格式第一行包含两个整数 n,m。接下来 m 行,每行包含四个整数 i,a,j,b,用来描述一个条件,表示 “xi 为 a 或 xj 为 b”。输出格式如果问题有解,则第一行输出 POSS

    2022年8月9日
    9
  • Nodecache最适合国内地区的免备案CDN推荐!

    Nodecache最适合国内地区的免备案CDN推荐!自己的一个网站,因为服务器是海外的,虽然速度还不错,但延迟和丢包问题经常困扰着我。尤其是到了晚上,丢包情况就更加严重,所以需要一款免备案、有香港节点的CDN来提升一下访问体验。查了下资料,很多人推荐使用Nodecache,用了一段时间后感觉Nodecache确实还不错,下面给大家介绍一下。Nodecache是GlobalCacheTechnologyCo.,Ltd.旗下品牌,致力于为客户提供一站式的在线业务加速服务。Nodecache主要提供的就是免备案CDN加速、SSL证书、DNS

    2025年10月24日
    5
  • 网络入门及制作双绞线实验结论_计算机网络双绞线包括哪几种类型

    网络入门及制作双绞线实验结论_计算机网络双绞线包括哪几种类型专业软件工程姓名小何学长实验目的:1. 掌握RJ-45双绞线的直通线和交叉线的制作方法,了解其应用场合。2. 利用测线仪测试网线是否正常。实验原理:1. 双绞线简介双绞线是最常用的网络传输媒体,其型号10BBASE-T、100BASE-T是指10Mbps、100Mbps以基带传输方式工作的双绞线。按信号线外面有无屏蔽保护层分为:屏蔽双绞线——STP,有金属网丝套作为屏蔽层,无分类;无屏蔽双绞线——UTP,没有屏蔽层,有多个分类,如UTP-3,UTP-5,UTP-5+多…

    2025年7月6日
    5
  • Python模块——hashlib

    Python模块——hashlib简介 hashlib 模块是用于对字符串进行加密 其可以把任意长度的数据转换为一个长度固定的数据串 且这种加密是不可逆的 故这种加密方式的安全性都很高 hash 本质是一个函数 该模块提供了许多不同的加密算法 可查看其属性 algorithms guaranteed 来获取 包括 md5 sha1 sha224 sha256 sha384 sha512 使用非常简单 方便 该模块由 python 自

    2026年3月17日
    2
  • Verilog hdl与VHDL混用详解

    Verilog hdl与VHDL混用详解Veriloghdl与VHDL混用详解1.概述由于在FPGA开发过程中,多人合作时可能遇到有人使用veriloghdl,有人遇到VHDL的情况,这就涉及到了veriloghdl与VHDL的相…

    2026年2月10日
    4
  • matlab心形曲线代码_matlab心形

    matlab心形曲线代码_matlab心形(1)有网格线clearx=-2:0.01:2;y=sqrt(2*sqrt(x.^2)-x.^2);z=asin(abs(x)-1)-pi./2;plot(x,y);gridon;holdon;plot(x,z);axisequal;效果图(2)无网格线t=0:0.1:2*pi;x=16*sin(t).^3;y=13*cos(t)-5*cos(2*t)-2*co…

    2022年10月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号