
极市导读
本文作者从矩阵的角度对协方差公式进行了推导,推导过程思路清晰,并附有python验证结果。>>加入极市CV技术交流群,走在计算机视觉的最前沿
之前搞特征分析时,对一个样本矩阵 求协方差矩阵,在 中行表示样本数,列表示特征数。直接套协方差的公式: 。对于这个公式什么来的,我当时没有具体去推导过。今天就从矩阵的角度推导一下(好像这样说不太严谨,欢迎批评指正)。
首先给出多元高斯分布的公式:
其中
定义关于参数
为了方便计算,我们对公式(2)两边取自然对数,得到:
将公式(1)代入公式(3),并利用对数的性质,将乘法展开成加法,得到:
OK,到此为止,我们的准备工作完成了,下面分别对
这里贴出三条求导法则:
(1)
(2)
(3)
1.对
这里套用法则(1),可得:
注意,公式(5)套用了链式求导法则,即:
注意,按照协方差矩阵的定义,协方差矩阵是一个对称矩阵,它的逆矩阵也是对称的。
令
2.对
这里运用矩阵微分来做,可得:
根据矩阵微分与导数的关系:
注意,公式(8)的推导用到了
令
OK,对比文章开始的协方差矩阵公式
所以可以看到原文开始的公式
3.验证
我们在Python中验证上面的结论是否正确
import numpy as np# 100*10的矩阵,标准正态分布,即均值为0,方差为1,所以下面没有中心化操作X = np.random.randn(100, 10)S = X.T @ X # X^T * X#按照公式(9)计算协方差矩阵,s = np.zeros((10, 10))# 注意,下面的for循环计算完后,我没有除以样本数100for it in X:s += it[:,None] @ it[None,:]# 验证结果是否一致,即S是否等于snp.allclose(S,s)
运行结果截图:
可见,输出为True,所以得到验证。
推荐阅读
回归的多种写法:线性回归-贝叶斯线性回归-高斯过程回归(理论篇)
2021-03-17
贝叶斯网络,看完这篇我终于理解了!
2021-01-26
高斯过程 Gaussian Processes 原理、可视化及代码实现
2020-10-21
# CV技术社群邀请函 #
备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)
即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~

