zoukankan      html  css  js  c++  java
  • 协方差矩阵计算方法

    1. 协方差定义

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

    其中:

     、

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

    n个随机变量,m个样本。

    协方差矩阵:

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

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

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

     
     

    1. 求每个维度的平均值

     
     

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

     
     
    其中:
     

    3. 计算协方差矩阵

     

    4. MATLAB 示例

    data = randn(1000, 10); 
    n = length(data); % 样本数目
    mu = mean(data, 1); % 均值行向量
    MU = repmat(mu, n, 1); % 均值矩阵(重复n次,变为n行1列的均值矩阵)
    s = (data-MU)'*(data-MU)/(124-1); % 协方差矩阵
    
    % 计算马氏距离
    DM = zeros(n, 1);
    for i = 1:n
        xi = data(i, :);
        DMi = sqrt((xi'-mu')'*s*(xi'-mu'));
        DM(i) = DMi;
    end
    
    plot(DM, 'ko', 'markersize', 3)

  • 相关阅读:
    CSS属性值一览
    CSS属性一览
    CSS选择器一览
    HTML颜色编码
    游戏
    数据库系统概念
    关于总结
    章节测试
    我的博客皮肤
    Emeditor所有快捷键操作
  • 原文地址:https://www.cnblogs.com/jiangkejie/p/10655791.html
Copyright © 2011-2022 走看看