协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

来源:网络整理 作者:2017年12月05日 15:58
关键词:协方差矩阵

  协方差矩阵是什么

  在统计学与概率论中,协方差矩阵的每个元素是各个向量元素之间的协方差,是从标量随机变量到高维度随机向量的自然推广。

  矩阵中的数据按行排列与按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observaTIon(or sample),那么每一列就是一个随机变量。

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  协方差矩阵:

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  协方差矩阵的维度等于随机变量的个数,即每一个 observaTIon 的维度。在某些场合前边也会出现 1 / m,而不是 1 / (m - 1)。

  协方差矩阵计算公式

  在统计学与概率论中,协方差矩阵是一个矩阵,其每个元素是各个向量元素之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  如何计算协方差矩阵

  举个例子,矩阵 X 按行排列:

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  1. 求每个维度的平均值

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  2. 将 X 的每一列减去平均值

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  其中:

协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  3. 计算协方差矩阵

协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵  

  注意:

  有时候在书上或者网上会看到这样的公式,协方差矩阵 Σ:

  协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵

  这里之所以会是 X * X‘ 是因为原始数据集 X 是按列排列的,即:

协方差矩阵是什么_协方差矩阵计算公式_如何计算协方差矩阵  

  另外在 opencv 文档中关于计算协方差矩阵的 calcCovarMatrix 函数的说明我觉得是有问题的,

  在正常的 CV_COVAR_NORMAL 状态下它给出的 cov = scale * X * X’,而这个定义仅仅是在数据按列排列下才有的,即 CV_COVAR_COLS.

  URL:http://docs.opencv.org/modules/core/doc/operaTIons_on_arrays.html?highlight=calccovarmatrix#cv.CalcCovarMatrix

  这里有一个按列排列的 PCA 教程,可以参考一下:

  http://ufldl.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90

  matlab 代码:

  clear; clc;

  % data are stored as rows.

  X = [1 2 3;

  3 1 1];

  Y = X;

  [rows, cols] = size(X);

  % get mean of each dimension(each column)。

  meanMatrix = mean(X);

  % X - mean.

  X = X - ones(rows, 1) * meanMatrix;

  % get the cov matrix.

  covMatrix = 1 / (rows - 1) * (X‘ * X)

  % the given ’cov‘ funcTIon

  cov(Y)

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
收藏 人收藏
分享:
发表评论

elecfans网友

分享到:

用户评论(0