精华内容
下载资源
问答
  • 一、关系矩阵 、 二、关系矩阵示例 、 三、关系矩阵性质 、 四、关系矩阵运算 、 五、关系图 、 六、关系图示例 、 七、关系表示相关性质 、





    一、关系矩阵



    A = { a 1 , a 2 , ⋯   , a n } , R ⊆ A × A A = \{ a_1, a_2 , \cdots , a_n \} , R \subseteq A \times A A={a1,a2,,an},RA×A

    R R R 使用 关系矩阵 表示 : M ( R ) = ( r i j ) n × n M(R) = (r_{ij})_{n\times n} M(R)=(rij)n×n

    关系矩阵取值 : M ( R ) ( i , j ) = r i j = { 1 , a i R a j 0 , 无 关 系 M(R)(i, j) = r_{ij} =\begin{cases} 1, & a_i R a_j \\ 0, & 无关系 \end{cases} M(R)(i,j)=rij={1,0,aiRaj


    关系矩阵定义说明 :

    A A A 是个 n n n 元集 ( 集合中有 n n n 个元素 ) , R R R A A A 上的二元关系 , R R R 的关系矩阵是 n × n n \times n n×n 的方阵 , i i i 行第 j j j 列位置的元素 r i j r_{ij} rij 取值只能是 0 0 0 1 1 1 ;


    关系矩阵取值说明 :

    如果 r i j = 1 r_{ij} = 1 rij=1 , 则说明 A A A 集合中 第 i i i 个元素与第 j j j 个元素具有关系 R R R , 记作 : a i R a j a_i R a_j aiRaj ;

    如果 r i j = 0 r_{ij} = 0 rij=0 , 则说明 A A A 集合中 第 i i i 个元素与第 j j j 个元素没有关系 R R R ;


    关系矩阵本质 : 关系矩阵中 , 每一行对应着 A A A 集合中的元素 , 每一列也对应着 A A A 集合中的元素 , 行列交叉的位置的值 ( 0 0 0 1 1 1 ) 表示 A A A 集合中第 i i i 个元素与第 j j j 个元素构成的有序对是否有关系 R R R ;





    二、关系矩阵示例



    A = { a , b , c } A = \{ a, b, c \} A={a,b,c}

    R 1 = { < a , a > , < a , b > , < b , a > , < b , c > } R_1 = \{ <a, a>, <a,b> , <b,a> , <b,c> \} R1={<a,a>,<a,b>,<b,a>,<b,c>}

    R 2 = { < a , b > , < a , c > , < b , c > } R_2 = \{ <a,b> , <a,c> , <b,c> \} R2={<a,b>,<a,c>,<b,c>}


    使用关系矩阵表示上述 R 1 , R 2 R_1 , R_2 R1,R2 两个关系 :



    R 1 = { < a , a > , < a , b > , < b , a > , < b , c > } R_1 = \{ <a, a>, <a,b> , <b,a> , <b,c> \} R1={<a,a>,<a,b>,<b,a>,<b,c>} 其中 :

    • < a , a > <a, a> <a,a> : a a a 是第 1 1 1 个元素 , a a a 是第 1 1 1 个元素 , 第 1 1 1 行第 1 1 1 列元素是 1 1 1
    • < a , b > <a, b> <a,b> : a a a 是第 1 1 1 个元素 , b b b 是第 2 2 2 个元素 , 第 1 1 1 行第 2 2 2 列元素是 1 1 1
    • < b , a > <b, a> <b,a> : b b b 是第 2 2 2 个元素 , a a a 是第 1 1 1 个元素 , 第 2 2 2 行第 1 1 1 列元素是 1 1 1
    • < b , c > <b, c> <b,c> : b b b 是第 2 2 2 个元素 , c c c 是第 3 3 3 个元素 , 第 2 2 2 行第 3 3 3 列元素是 1 1 1
    • 其余全是 0 0 0

    M ( R 1 ) = [ 1 1 0 1 0 1 0 0 0 ] M(R_1) = \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} M(R1)=110100010



    R 2 = { < a , b > , < a , c > , < b , c > } R_2 = \{ <a,b> , <a,c> , <b,c> \} R2={<a,b>,<a,c>,<b,c>} 其中 :

    • < a , b > <a, b> <a,b> : a a a 是第 1 1 1 个元素 , b b b 是第 2 2 2 个元素 , 第 1 1 1 行第 2 2 2 列元素是 1 1 1
    • < a , c > <a, c> <a,c> : a a a 是第 1 1 1 个元素 , c c c 是第 3 3 3 个元素 , 第 1 1 1 行第 3 3 3 列元素是 1 1 1
    • < b , c > <b, c> <b,c> : b b b 是第 2 2 2 个元素 , c c c 是第 3 3 3 个元素 , 第 2 2 2 行第 3 3 3 列元素是 1 1 1
    • 其余全是 0 0 0

    M ( R 2 ) = [ 0 1 1 0 0 1 0 0 0 ] M(R_2) = \begin{bmatrix} 0 & 1 & 1 \\\\ 0 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} M(R2)=000100110





    三、关系矩阵性质



    有序对集合表达式 与 关系矩阵 可以唯一相互确定



    性质一 : 逆运算相关性质

    M ( R − 1 ) = ( M ( R ) ) T M(R^{-1}) = (M(R))^T M(R1)=(M(R))T


    M ( R − 1 ) M(R^{-1}) M(R1) 关系的逆关系矩阵

    ( M ( R ) ) T (M(R))^T (M(R))T 关系矩阵
    这两个矩阵是相等的 ;



    性质二 : 合成运算相关性质

    M ( R 1 ∘ R 2 ) = M ( R 2 ) ∙ M ( R 1 ) M(R_1 \circ R_2) = M(R_2) \bullet M(R_1) M(R1R2)=M(R2)M(R1)

    ∙ \bullet 是矩阵的 逻辑乘法 , 计算 矩阵 r i j r_{ij} rij 的值 第 i i i 行 乘以 第 j j j 列 , 逐位 逻辑相乘 , 再将逻辑相乘结果再 逻辑相加 ;

    上述 逻辑乘法使用 ∧ \land 运算 , 逻辑加法使用 ∨ \lor 运算 ;





    四、关系矩阵运算



    A = { a , b , c } A = \{ a, b, c \} A={a,b,c}

    R 1 = { < a , a > , < a , b > , < b , a > , < b , c > } R_1 = \{ <a, a>, <a,b> , <b,a> , <b,c> \} R1={<a,a>,<a,b>,<b,a>,<b,c>}

    R 2 = { < a , b > , < a , c > , < b , c > } R_2 = \{ <a,b> , <a,c> , <b,c> \} R2={<a,b>,<a,c>,<b,c>}


    在上面的示例中 , 已经求出两个关系矩阵 ;

    M ( R 1 ) = [ 1 1 0 1 0 1 0 0 0 ] M(R_1) = \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} M(R1)=110100010 , M ( R 2 ) = [ 0 1 1 0 0 1 0 0 0 ] M(R_2) = \begin{bmatrix} 0 & 1 & 1 \\\\ 0 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} M(R2)=000100110



    1. 求 M ( R − 1 ) , M ( R 2 − 1 ) M(R^{-1}) , M(R_2^{-1}) M(R1),M(R21)

    直接将矩阵转置 , 即可获取 关系的逆的关系矩阵 ;

    M ( R 1 − 1 ) = ( M ( R 1 ) ) T = [ 1 1 0 1 0 0 0 1 0 ] M(R_1^{-1}) = (M(R_1))^T = \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 0 \\\\ 0 & 1 & 0 \end{bmatrix} M(R11)=(M(R1))T=110101000

    M ( R 2 − 1 ) = ( M ( R 2 ) ) T = [ 0 0 0 1 0 0 1 1 0 ] M(R_2^{-1}) = (M(R_2))^T = \begin{bmatrix} 0 & 0 & 0 \\\\ 1 & 0 & 0 \\\\ 1 & 1 & 0 \end{bmatrix} M(R21)=(M(R2))T=011001000

    R 1 − 1 = { < a , a > , < a , b > , < b , a > , < c , b > } R_1^{-1} = \{ <a, a> , <a, b> , <b,a> , <c,b> \} R11={<a,a>,<a,b>,<b,a>,<c,b>}

    R 2 − 1 = { < b , a > , < c , a > , < c , b > } R_2^{-1} = \{ <b, a> , <c,a> , <c,b> \} R21={<b,a>,<c,a>,<c,b>}



    2. 求 M ( R 1 ∘ R 1 ) M( R_1 \circ R_1 ) M(R1R1)

    M ( R 1 ∘ R 1 ) = M ( R 1 ) ∙ M ( R 1 ) M( R_1 \circ R_1 ) = M(R_1) \bullet M(R_1) M(R1R1)=M(R1)M(R1)

    其中的 ∙ \bullet 是两个矩阵的逻辑乘法 , 加法使用 ∨ \lor , 乘法使用 ∧ \land

    M ( R 1 ) ∙ M ( R 1 ) = [ 1 1 0 1 0 1 0 0 0 ] ∙ [ 1 1 0 1 0 1 0 0 0 ] = [ 1 1 1 1 1 0 0 0 0 ] M(R_1) \bullet M(R_1) = \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} \bullet \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 \\\\ 1 & 1 & 0 \\\\ 0 & 0 & 0 \end{bmatrix} M(R1)M(R1)=110100010110100010=110110100

    矩阵的逻辑乘法 : 结果矩阵的第 i i i 行 , 第 j j j 列元素的值为 , 第 i i i 行的三个元素 分别与上第 j j j 列的三个元素 , 然后三个结果进行或运算 , 最终结果就是 矩阵的第 i i i 行 , 第 j j j 列元素的值 ;

    R 1 ∘ R 1 = { < a , a > , < a , b > , < a , c > , < b , a > , < b , b > } R_1 \circ R_1 = \{ <a,a> , <a,b> , <a,c> , <b,a>, <b,b> \} R1R1={<a,a>,<a,b>,<a,c>,<b,a>,<b,b>}



    3. 求 M ( R 1 ∘ R 2 ) M( R_1 \circ R_2 ) M(R1R2)

    M ( R 1 ∘ R 2 ) = M ( R 2 ) ∙ M ( R 1 ) M( R_1 \circ R_2 ) = M(R_2) \bullet M(R_1) M(R1R2)=M(R2)M(R1)

    其中的 ∙ \bullet 是两个矩阵的逻辑乘法 , 加法使用 ∨ \lor , 乘法使用 ∧ \land

    特别注意 , 合成的顺序是逆序合成 , 后者关系矩阵在前 , 前者关系矩阵在后

    M ( R 1 ) ∙ M ( R 2 ) = [ 0 1 1 0 0 1 0 0 0 ] ∙ [ 1 1 0 1 0 1 0 0 0 ] = [ 1 0 1 0 0 0 0 0 0 ] M(R_1) \bullet M(R_2) =\begin{bmatrix} 0 & 1 & 1 \\\\ 0 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} \bullet \begin{bmatrix} 1 & 1 & 0 \\\\ 1 & 0 & 1 \\\\ 0 & 0 & 0 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 1 \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \end{bmatrix} M(R1)M(R2)=000100110110100010=100000100

    矩阵的逻辑乘法 : 结果矩阵的第 i i i 行 , 第 j j j 列元素的值为 , 第 i i i 行的三个元素 分别与上第 j j j 列的三个元素 , 然后三个结果进行或运算 , 最终结果就是 矩阵的第 i i i 行 , 第 j j j 列元素的值 ;

    R 1 ∘ R 2 = { < a , a > , < a , c > } R_1 \circ R_2 = \{ <a,a>, <a,c> \} R1R2={<a,a>,<a,c>}





    五、关系图



    A = { a 1 , a 2 , ⋯   , a n } , R ⊆ A × A A = \{ a_1, a_2 , \cdots , a_n \} , R \subseteq A \times A A={a1,a2,,an},RA×A

    R R R 的关系图 :

    • 顶点 : ∘ \circ 表示 A A A 集合中的元素 ;
    • 有向边 : → \rightarrow 表示 R R R 中的元素 ;
    • a i R a j a_i R a_j aiRaj 就是从顶点 a i a_i ai 到 顶点 a j a_j aj 的有向边 < a i , a j > <a_i , a_j> <ai,aj> ;




    六、关系图示例



    A = { a , b , c } A = \{ a, b, c \} A={a,b,c}


    R 1 = { < a , a > , < a , b > , < b , a > , < b , c > } R_1 = \{ <a, a> , <a,b> , <b,a> , <b,c> \} R1={<a,a>,<a,b>,<b,a>,<b,c>} 关系图表示方式 :

    在这里插入图片描述

    R 2 = { < a , b > , < a , c > , < b , c > } R_2 = \{ <a,b>, <a,c>, <b,c> \} R2={<a,b>,<a,c>,<b,c>} 使用关系图表示 :

    在这里插入图片描述


    R 1 − 1 = { < a , a > , < a , b > , < b , a > , < c , b > } R_1^{-1} = \{ <a,a>, <a,b>, <b,a> , <c,b> \} R11={<a,a>,<a,b>,<b,a>,<c,b>}

    在这里插入图片描述


    R 2 − 1 = { < b , a > , < c , a > , < c , b > } R_2^{-1} = \{ <b,a> , <c,a> , <c,b> \} R21={<b,a>,<c,a>,<c,b>}

    在这里插入图片描述





    七、关系表示相关性质



    A A A 集合中的元素 , 标定次序后 , 即生成了 A A A 上的关系 , R ⊆ A × A R \subseteq A \times A RA×A , 有如下性质 :

    • 关系图 G ( R ) G(R) G(R)关系的 R R R 的集合表达式 ( 有序对集合 ) , 可以 唯一确定 ;
    • 关系 R R R 的集合表达式 , 关系矩阵 M ( R ) M(R) M(R) , 关系图 G ( R ) G(R) G(R) , 都是一一对应的 ;

    R ⊆ A × B R \subseteq A \times B RA×B

    • 集合 A A A 中有 n n n 个元素 , ∣ A ∣ = n |A| = n A=n
    • 集合 B B B 中有 m m m 个元素 , ∣ B ∣ = m |B| = m B=m
    • 关系矩阵 M ( R ) M(R) M(R) n × m n \times m n×m 阶矩阵 ;
    • 关系图 G ( R ) G(R) G(R) 有向边都是从 A A A 集合中的元素 指向 B B B 集合中的元素
    展开全文
  • vb矩阵计算

    2018-12-31 20:05:55
    包含了矩阵大多数的运算,包括行列式,逆矩阵,转置矩阵等;模糊关系矩阵的合成,传递闭包等,注意,只能用于vb。
  • 计算矩阵各列与其他各列的互相关系数,并按照概率分布利用直方图的形式展示出来。 该互相关系数的定义参考Michael Elad的《Sparse and Redundant Representations》p25 Definition2.3
  • 协方差矩阵计算及意义

    万次阅读 多人点赞 2018-12-10 10:13:39
    一、首先看一个比较简洁明了的协方差计算介绍: 1. 协方差定义 X、Y 是两个随机变量,X、Y 的协方差 cov(X, Y) 定义为: 其中, 2. 协方差矩阵定义 矩阵中的数据按行排列与按列排列求出的协方差矩阵是不同的,...

    声明:博文转自https://blog.csdn.net/mr_hhh/article/details/78490576

    一、首先看一个比较简洁明了的协方差计算介绍:

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

    其中,

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

    协方差矩阵:

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

    3. 求解协方差矩阵的步骤
    举个例子,矩阵 X 按行排列:


    1. 求每个维度的平均值

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

    其中:


    3. 计算协方差矩阵


    --------------------- 
    作者:Rise_1024 
    来源:CSDN 
    原文:https://blog.csdn.net/mr_hhh/article/details/78490576 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    二、再来看一下协方差矩阵的意义:

    协方差代表的意义是什么? 

    在概率论中,两个随机变量 X 与 Y 之间相互关系,大致有下列3种情况:

     

     

    情况一,如上, 当 X, Y 的联合分布像上图那样时,我们可以看出,大致上有: X 越大  Y 也越大, X 越小  Y 也越小,这种情况,我们称为“正相关”。

     

    情况二, 如上图, 当X, Y 的联合分布像上图那样时,我们可以看出,大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种情况,我们称为“负相关”。

    情况三,如上图, 当X, Y  的联合分布像上图那样时,我们可以看出:既不是X  越大Y 也越大,也不是 X 越大 Y 反而越小,这种情况我们称为“不相关”。

     

     

    怎样将这3种相关情况,用一个简单的数字表达出来呢?

    在图中的区域(1)中,有 X>EX ,Y-EY>0 ,所以(X-EX)(Y-EY)>0;

    在图中的区域(2)中,有 X<EX ,Y-EY>0 ,所以(X-EX)(Y-EY)<0;

    在图中的区域(3)中,有 X<EX ,Y-EY<0 ,所以(X-EX)(Y-EY)>0;

    在图中的区域(4)中,有 X>EX ,Y-EY<0 ,所以(X-EX)(Y-EY)<0。

    当X 正相关时,它们的分布大部分在区域(1)和(3)中,小部分在区域(2)和(4)中,所以平均来说,有E(X-EX)(Y-EY)>0 

    当 X与 Y负相关时,它们的分布大部分在区域(2)和(4)中,小部分在区域(1)和(3)中,所以平均来说,有(X-EX)(Y-EY)<0 

    当 X与 Y不相关时,它们在区域(1)和(3)中的分布,与在区域(2)和(4)中的分布几乎一样多,所以平均来说,有(X-EX)(Y-EY)=0 

    所以,我们可以定义一个表示X, Y 相互关系的数字特征,也就是协方差

    cov(X, Y) = E(X-EX)(Y-EY)

    当 cov(X, Y)>0时,表明 X正相关

    当 cov(X, Y)<0时,表明XY负相关;

    当 cov(X, Y)=0时,表明XY不相关。

    这就是协方差的意义。

     

    三、此部分进行更系统的说明:

    声明:博文转自 https://blog.csdn.net/ybdesire/article/details/6270328

    协方差的定义

    对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。

    记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定

    则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4个样本,每个样本都是二维的,所以只可能有X和Y两种维度。所以

    用中文来描述,就是:

    协方差(i,j)=(第i列的所有元素-第i列的均值)*(第j列的所有元素-第j列的均值)

    这里只有X,Y两列,所以得到的协方差矩阵是2x2的矩阵,下面分别求出每一个元素:

            

    所以,按照定义,给定的4个二维样本的协方差矩阵为:

    用matlab计算这个例子

    z=[1,2;3,6;4,2;5,2]

    cov(z)

    ans =

        2.9167   -0.3333

       -0.3333    4.0000

    可以看出,matlab计算协方差过程中还将元素统一缩小了3倍。所以,协方差的matlab计算公式为:

        协方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(样本数-1)

           下面在给出一个4维3样本的实例,注意4维样本与符号X,Y就没有关系了,X,Y表示两维的,4维就直接套用计算公式,不用X,Y那么具有迷惑性的表达了。

            

    (3)与matlab计算验证

                         Z=[1 2 3 4;3 4 1 2;2 3 1 4]

                         cov(Z)

                         ans =

                              1.0000    1.0000   -1.0000   -1.0000

                              1.0000    1.0000   -1.0000   -1.0000

                             -1.0000   -1.0000    1.3333    0.6667

                              -1.0000   -1.0000    0.6667    1.3333

           可知该计算方法是正确的。我们还可以看出,协方差矩阵都是方阵,它的维度与样本维度有关(相等)。参考2中还给出了计算协方差矩阵的源代码,非常简洁易懂,在此感谢一下!

     

    参考:

    [1] http://en.wikipedia.org/wiki/Covariance_matrix

    [2] http://www.cnblogs.com/cvlabs/archive/2010/05/08/1730319.html
    --------------------- 
    作者:ybdesire 
    来源:CSDN 
    原文:https://blog.csdn.net/ybdesire/article/details/6270328 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 协方差矩阵概念及计算

    万次阅读 2017-02-06 16:27:09
    原文来自:http://pinkyjie.com/2010/08/31/covariance/理解协方差矩阵的关键就在于牢记它计算的是不同维度之间的协方差,而不是不同样本之间,拿到一个样本矩阵,我们最先要明确的就是一行是一个样本还是一个维度,...

    原文来自:http://blog.sina.com.cn/s/blog_4aa4593d01012am3.html

    今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿~本文我将用自认为循序渐进的方式谈谈协方差矩阵。

    统计学的基本概念

    学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有n个样本的集合,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。

    协方差矩阵的概念及matlab计算
    均值:协方差矩阵的概念及matlab计算


    标准差:协方差矩阵的概念及matlab计算


    方差:协方差矩阵的概念及matlab计算

    很 显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为 例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前者是8.3,后者是 1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之所以除以n-1而不是除以n,是因为这样能使我们以较小的样本集更好的 逼近总体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。

    为什么需要协方差?

    上 面几个统计量看似已经描述的差不多了,但我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,最简单的 大家上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,一个男孩子的 猥琐程度跟他受女孩子欢迎程度是否存在一些联系啊,嘿嘿~协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:

    协方差矩阵的概念及matlab计算

    来度量各个维度偏离其均值的程度,标准差可以这么来定义:

    协方差矩阵的概念及matlab计算

    协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),也就是说一个人越猥琐就越受女孩子欢迎,嘿嘿,那必须的~结果为负值就说明负相关的,越猥琐女孩子越讨厌,可能吗?如果为0,也是就是统计上说的“相互独立”。

    从协方差的定义上我们也可以看出一些显而易见的性质,如:

    协方差矩阵的概念及matlab计算

    协方差多了就是协方差矩阵

    上一节提到的猥琐和受欢迎的问题是典型二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算

    协方差矩阵的概念及matlab计算

    多个协方差,比如n维的数据集就需要计算个协方差,那自然而然的我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:

    协方差矩阵的概念及matlab计算

    这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度,则协方差矩阵为

    协方差矩阵的概念及matlab计算
    可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。

    Matlab协方差实战

    上面涉及的内容都比较容易,协方差矩阵似乎也很简单,但实战起来就很容易让人迷茫了。必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。这个我将结合下面的例子说明,以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数(蓝色部分为Matlab代码)。

    首先,随机产生一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。
    MySample = fix(rand(10,3)*50)

    协方差矩阵的概念及matlab计算

    根据公式,计算协方差需要计算均值,那是按行计算均值还是按列呢,我一开始就老是困扰这个问题。前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:

    dim1 = MySample(:,1);
    dim2 = MySample(:,2);
    dim3 = MySample(:,3);

    计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:

    sum( (dim1-mean(dim1)) .* (dim2-mean(dim2)) ) / ( size(MySample,1)-1 ) % 得到  74.5333
    sum( (dim1-mean(dim1)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -10.0889
    sum( (dim2-mean(dim2)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -10***000

    搞清楚了这个后面就容易多了,协方差矩阵的对角线就是各个维度上的方差,下面我们依次计算:

    std(dim1)^2 % 得到   108.3222
    std(dim2)^2 % 得到   260.6222
    std(dim3)^2 % 得到  94.1778

    这样,我们就得到了计算协方差矩阵所需要的所有数据,调用Matlab自带的cov函数进行验证:

    cov(MySample)

    协方差矩阵的概念及matlab计算

    把我们计算的数据对号入座,是不是一摸一样?

    Update: 今天突然发现,原来协方差矩阵还可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新的到的样本矩阵乘 上它的转置,然后除以(N-1)即可。其实这种方法也是由前面的公式通道而来,只不过理解起来不是很直观,但在抽象的公式推导时还是很常用的!同样给出 Matlab代码实现:

    X = MySample – repmat(mean(MySample),10,1);    % 中心化样本矩阵,使各维度均值为0
    C = (X’*X)./(size(X,1)-1)

    总结

    理解协方差矩阵的关键就在于牢记它计算的是不同维度之间的协方差,而不是不同样本之间,拿到一个样本矩阵,我们最先要明确的就是一行是一个样本还是一个维度,心中明确这个整个计算过程就会顺流而下,这么一来就不会迷茫了~

    P.S.写论文要选Latex,在wordpress里编辑公式还得用Latex,用Latex还真对得起咱学计算机这张脸~



    例2:

    =
        -1         2
        -2         1
                 3

    for i=1:size(a,2) 
        for j=1:size(a,2) 
            c(i,j)=sum((a(:,i)-mean(a(:,i))).*(a(:,j)-mean(a(:,j))))/(size(a,1)-1);
        end 
    end

    c =

       10.3333   -4.1667    3.0000

       -4.1667    2.3333   -1.5000

        3.0000   -1.5000    1.0000 

     c为求得的协方差矩阵,在matlab以矩阵a的每一列为变量,对应的每一行为样本。这样在矩阵a中就有3个列变量分别为a(:,1), a(:,2), a(:,3)。

     在协方差矩阵c中,每一个元素c(i,j)为对第i列与第j列的协方差,例如c(1,2) = -4.1667为第一列与第二列的协方差。

     

     拿c(1,2)的求解过程来说

     c(1,2)=sum((a(:,1)-mean(a(:,1))).*(a(:,2)-mean(a(:,2))))/(size(a,1)-1);

     1. a(:,1)-mean(a(:,1)),第一列的元素减去该列的均值得到

       -1.3333

       -2.3333

        3.6667

    2,  a(:,2)-mean(a(:,2)),第二列的元素减去该列的均值得到

       -0.3333

        1.6667

       -1.3333

    3, 再将第一步与第二部的结果相乘

       -1.3333        -0.3333           0.4444

       -2.3333  .*     1.6667  =     -3.8889

        3.6667         -1.3333          -4.8889

     

    4, 再将结果求和/size(a,1)-1 得 -4.1667,该值即为c(1,2)的值。

     

    再细看一下是不是与协方差公式:Cov(X,Y) = E{ [ (X-E(X) ] [ (Y-E(Y) ] } 过程基本一致呢,只是在第4步的时候matlab做了稍微的调整,自由度为n-1,减少了一行的样本值个数。

    展开全文
  • 协方差矩阵计算

    千次阅读 2016-09-03 10:30:37
    一、统计学的基本概念统计学里最基本的概念就是样本的均值、方差、标准差。...以这两个集合为例,[0, 8, 12, 20]和[8, 9, 11, 12],两个集合的均值都是10,但显然两个集合的差别是很大的,计算两者

    一、统计学的基本概念

    统计学里最基本的概念就是样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述:
    这里写图片描述
    均值描述的是样本集合的中间点,它告诉我们的信息是有限的,而标准差给我们描述的是样本集合的各个样本点到均值的距离之平均。

    以这两个集合为例,[0, 8, 12, 20]和[8, 9, 11, 12],两个集合的均值都是10,但显然两个集合的差别是很大的,计算两者的标准差,前者是8.3后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之所以除以n-1而不是n,是因为这样能使我们以较小的样本集更好地逼近总体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。

    二、为什么需要协方差

    标准差和方差一般是用来描述一维数据的,但现实生活中我们常常会遇到含有多维数据的数据集,最简单的是大家上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,一个男孩子的猥琐程度跟他受女孩子的欢迎程度是否存在一些联系。协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:

    这里写图片描述

    来度量各个维度偏离其均值的程度,协方差可以这样来定义:

    这里写图片描述

    协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),也就是说一个人越猥琐越受女孩欢迎。如果结果为负值, 就说明两者是负相关,越猥琐女孩子越讨厌。如果为0,则两者之间没有关系,猥琐不猥琐和女孩子喜不喜欢之间没有关联,就是统计上说的“相互独立”。

    从协方差的定义上我们也可以看出一些显而易见的性质,如:
    这里写图片描述

    三、协方差矩阵

    前面提到的猥琐和受欢迎的问题是典型的二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算这里写图片描述个协方差,那自然而然我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:
    这里写图片描述

    这个定义还是很容易理解的,我们可以举一个三维的例子,假设数据集有三个维度,则协方差矩阵为:

    这里写图片描述

    可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度的方差。

    四、Matlab协方差实战

    必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数:

    首先,随机生成一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。

    这里写图片描述

    图 1 使用Matlab生成样本集

    根据公式,计算协方差需要计算均值,前面特别强调了,协方差矩阵是计算不同维度之间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列是一个维度,因此我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:

    这里写图片描述

    图 2 将三个维度的数据分别赋值

    计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:
    这里写图片描述
    图 3 计算三个协方差

    协方差矩阵的对角线上的元素就是各个维度的方差,下面我们依次计算这些方差:

    这里写图片描述
    图 4 计算对角线上的方差

    这样,我们就得到了计算协方差矩阵所需要的所有数据,可以调用Matlab的cov函数直接得到协方差矩阵:

    这里写图片描述

    图 5 使用Matlab的cov函数直接计算样本的协方差矩阵

    计算的结果,和之前的数据填入矩阵后的结果完全相同。

    五、总结

    理解协方差矩阵的关键就在于牢记它的计算是不同维度之间的协方差,而不是不同样本之间。拿到一个样本矩阵,最先要明确的就是一行是一个样本还是一个维度,心中明确整个计算过程就会顺流而下,这么一来就不会迷茫了。

    参考:http://blog.csdn.net/fngy123/article/details/45153163?locationNum=4

    展开全文
  • 这个项目本来是用来支持Chainer这个深度学习框架的,但是开发者把这个“GPU 计算包”单独分出来了,方便了大家!!! 来看几个例子: import numpy as np import cupy as cp import time x=np.ones((1024,512,4,...
  • 惯性矩阵计算

    千次阅读 2019-01-12 12:43:36
  • 不确定性是粗糙集理论研究中的热点问题之一,而知识...最后结合属性增删时不可分辨关系矩阵的更新将属性重要度的矩阵计算方法应用于求属性集的核集和最小约简中,算例表明属性重要度的矩阵计算方法在属性约简中的有效性.
  • 如何利用SNP信息计算亲缘关系G矩阵

    千次阅读 2017-03-08 10:53:37
    1,利用软件包计算亲缘关系矩阵 Gmatrix (gp.coded, ret="realized") Gmatrix[1:5,1:5] ID101 ID102 ID103 ID104 ID105 ID101 1.66197183 0.04225352 0.25352113 0.74647887 -1.22535211 ID102 ...
  • MPI并行计算 矩阵乘法

    2018-05-31 19:37:40
    MPI并行计算 矩阵乘法 如果是10000个线程的话可能会出问题
  • OpenCV中协方差矩阵计算

    千次阅读 2010-11-02 18:56:00
    下面给出了OpenCV中协方差矩阵计算方法,其输入输出特性与Matlab中的cov函数相同,但是可能由于OpenCV程序本身的问题,自带的归一化功能是按照除以矩阵行数(R)来计算的,但实际上应该除以(R-1)进行归一化,...
  • 序列自相关矩阵计算和分析

    万次阅读 多人点赞 2016-04-08 16:49:42
    序列自相关矩阵计算和分析这几天在搞DSP的时候遇到的一些问题,稍微整理了一下 在下文中,你将会看到:平稳过程到底有什么意义、随机信号处理是如何与固定信号分析联系起来的、自相关函数的定义、自相关矩阵的...
  • 矩阵乘法的计算和来源

    万次阅读 2014-10-08 12:21:02
    本文简单的描述了矩阵乘法的计算矩阵运算(加法、数乘矩阵矩阵乘法)在现实生活中对应的情况,说明数学是来源于生活,之所以与生活相差较大,只是因为在语言、符号演化过程中,数学进化的方向是趋向于抽象和一般。...
  • 协方差矩阵计算

    千次阅读 2016-04-29 20:25:24
    必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数: 首先,随机生成一个10*3维的整数矩阵作为样本集,...
  • 有向图的邻接矩阵计算

    万次阅读 2017-12-09 10:00:15
    实验题目:图的邻接矩阵计算 设计方案: 设有向图D=,V={v1,v2,…vn}。 如:给定有向图D=, V={a,b,c,d}, E={,,,,,,}. 一、需求分析 程序应满足如下功能: 1.能由有向图转换为对应的邻接矩阵。 2.能计算...
  • 用Tensorflow计算距离矩阵

    千次阅读 2019-01-23 19:05:39
    在样本维度上,距离矩阵的运算相互没有依赖关系,是可以做并行的。除了开多线程用CPU并行计算以外,还可以用GPU加速,比如拿tensorflow实现。 数据结构   现在有 NNN(可以理解为 batch_sizebatch\_sizebatch_size...
  • 什么是矩阵

    千次阅读 2019-03-19 16:55:24
    什么是矩阵 矩阵,在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。 长这个样子: 失量也可以转为矩阵,...
  • 单应矩阵公式推导及计算

    千次阅读 2019-03-08 16:09:36
    单应矩阵描述的是空间中同一平面上的三维点在两张图像中的对应关系。这里需要强调的是同一平面。 单应矩阵可以应用在图像矫正、图像配准拼接、视角转换以及计算两张图像的相机运动(旋转和平移)上。 下面我们...
  • 矩阵指数函数的计算

    千次阅读 2020-11-17 20:06:25
    矩阵指数函数的计算 方法一:利用定义关系式 注:这种方法一般用于计算机计算 方法二:利用变换矩阵P 如果系统矩阵A的n个特征值为两两相异(互不相等),则为: 注:如果特征值有重根,原则上也可以采用此...
  • 用混淆矩阵计算kappa系数

    千次阅读 2020-12-29 16:35:54
    Kappa系数用于一致性检验,也可以用于衡量分类精度,但kappa系数的计算是基于混淆矩阵的. kappa系数是一种衡量分类精度的指标。它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去...
  • 以及非对称谐振腔往返传输矩阵AB与BA的特征值及特征向量之间关系和物理意义进行了分析和讨论,建立了数学表达式,并可以通过改变传输矩阵来提高计算效率。分析了对称共焦腔离散单元数量对光腔模式计算结果的影响,建立...
  • 矩阵:就是两个矩阵相乘是单位矩阵 对角矩阵相乘:就是对角线元素相乘 当两个矩阵相乘不是单位矩阵: 伴随矩阵:是有代数余子式拼成的 为什么伴随矩阵会出现?为什么伴随矩阵的形式是这样的? 因为行列式的乘法...
  • 详解协方差与协方差矩阵计算

    千次阅读 2018-01-26 21:31:18
    对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么...
  • opencv 计算旋转矩阵R,平移矩阵T

    万次阅读 多人点赞 2016-12-05 17:15:32
    问题:已知摄像机内参K ,以及两张不同角度的图片 ,求解摄像机的RT矩阵? 步骤:  1.从两张图片中提取特征点,...将keyPoint转化为Mat,然后计算基本矩阵F  4.由基本矩阵F,求本质矩阵E。根据公式 E=(K‘)t * F *K
  • 单应性矩阵由配对的内点计算出来   u,v是原始图片左边,对应得到变换后的图片坐标x,y,其中 变换矩阵可以拆成4部分,表示线性变换,比如scaling,shearing和ratotion。用于平移,产生透视变换。 重写之前...
  • 协方差矩阵和散布矩阵(散度矩阵)的意义

    万次阅读 多人点赞 2017-03-31 19:27:42
    如在PCA主成分分析中,需要计算样本的散度矩阵,有的论文是计算协方差矩阵。实质上二者意义差不多,散布矩阵(散度矩阵)前乘以系数1/(n-1)就可以得到协方差矩阵了。 在模式识别的教程中,散布矩阵也称为散度矩阵,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,120
精华内容 71,648
关键字:

关系矩阵是如何计算的