如何求协方差矩阵[转载]

如何求协方差矩阵

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

转载自:https://blog.csdn.net/kuang_liu/article/details/16369475 非常感谢

1. 协方差定义

X、Y 是两个随机变量,X、Y 的协方差 cov(X, Y) 定义为:

其中:

 、

2. 协方差矩阵定义

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

协方差矩阵:

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

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

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



1. 求每个维度的平均值




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




其中:


3. 计算协方差矩阵






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


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



另外在 opencv 文档中关于计算协方差矩阵的 calcCovarMatrix 函数的说明我觉得是有问题的,
在正常的 CV_COVAR_NORMAL 状态下它给出的 cov = scale * X * X',而这个定义仅仅是在数据按列排列下才有的,即 CV_COVAR_COLS.

posted @   WUST许志伟  阅读(2860)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示