变量之间的相关性度量

本文深入探讨了相关系数的概念及其在衡量两个变量线性关系中的应用,并介绍了相关矩阵的形成;同时,讲解了余弦相似度和点积在评估向量相似度中的作用,以及Gram矩阵在捕捉特征图通道间相关性的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 相关系数

称为Correlation coefficient,又称皮尔逊相关系数,衡量了两个变量的线性相关程度。定义变量XXXYYY的协方差Cov(X,Y)Cov(X,Y)Cov(X,Y)
Cov(X,Y)=E{[X−E(x)][Y−E(Y)]}Cov(X,Y)=E\{[X-E(x)][Y-E(Y)]\}Cov(X,Y)=E{[XE(x)][YE(Y)]}
随机变量XXXYYY的相关系数ρXY\rho_{XY}ρXY
ρXY=Cov(X,Y)D(x)D(y)\rho_{XY}=\frac{Cov(X,Y)}{\sqrt{D(x)}\sqrt{D(y)}}ρXY=D(x)D(y)Cov(X,Y)

相关系数有如下的性质:
1.∣ρXY∣≤1|\rho_{XY}|\leq 1ρXY1,∣ρXY∣|\rho_{XY}|ρXY越大,标明线性相关程度越高,当∣ρXY∣=0|\rho_{XY}|=0ρXY=0,表示为不相关。
2.∣ρXY∣=1|\rho_{XY}|=1ρXY=1的充要条件是,存在常数a,ba,ba,b使得 P{Y=a+bX}=1P\{Y=a+bX\}=1P{Y=a+bX}=1,即XXXYYY一定存在线性关系。
3.线性相关和独立的关系:

  • XXXYYY相互独立时,Cov(X,Y)=0Cov(X,Y)=0Cov(X,Y)=0,因此∣ρXY∣=0|\rho_{XY}|=0ρXY=0,此时XXXYYY一定不相关。
  • XXXYYY不相关,XXXYYY不一定相互独立。因为不相关针对线性关系来说的,相关独立是就一般关系来说的。

1.1相关矩阵

相关系数针对两个随机变量,相关矩阵是对相关系数在nnn个随机变量的扩展:(X1,X2,...,Xn)(X_{1},X_{2},...,X_{n})(X1,X2,...,Xn),
R=[ρ11ρ12...ρ1nρ21ρ22...ρ2n............ρn1ρn2...ρnn]R=\begin{bmatrix} \rho_{11} & \rho_{12}&... &\rho_{1n} \\ \rho_{21} & \rho_{22}&... &\rho_{2n} \\ ... & ...&... &... \\ \rho_{n1} & \rho_{n2}&... &\rho_{nn} \\ \end{bmatrix}R=ρ11ρ21...ρn1ρ12ρ22...ρn2............ρ1nρ2n...ρnn

2.向量的相似度

当前最常用的衡量向量相似度的是余弦相似度,或者是两者的点积。设两个向量X=[x1,x2,...,xn]TX=[x_{1},x_{2},...,x_{n}]^{T}X=[x1,x2,...,xn]T,Y=[y1,y2,...,yn]TY=[y_{1},y_{2},...,y_{n}]^{T}Y=[y1,y2,...,yn]T,点积也成为了内积(inner product),
XTY=x1∗y1+x1∗y1+...+xn∗ynX^{T} Y=x_{1}*y_{1}+x_{1}*y_{1}+...+x_{n}*y_{n}XTY=x1y1+x1y1+...+xnyn
cos⁡<X,Y>=XTY∣∣X∣∣ ∣∣Y∣∣\cos<X,Y>=\frac{X^{T} Y}{||X||\ ||Y||}cos<X,Y>=X YXTY

  • 余弦相似度衡量了两个向量的夹角,cos⁡<X,Y>∈[−1,1]\cos<X,Y>\in [-1,1]cos<X,Y>[1,1],值越大,标明两个向量夹角越小,相似度越高。
  • 点积,X⋅Y=cos⁡<X,Y>∣∣X∣∣ ∣∣Y∣∣X\cdot Y=\cos<X,Y>||X||\ ||Y||XY=cos<X,Y>X Y。点积反映了夹角以及向量的长度因素,在余弦相似度的基础上,两个向量的模越大,相关性越大。点积被用在capsule network时的参数更新计算。

2.1 Gram矩阵

点积运算可以被扩展到3D的feature map,论文:A Gift from Knowledge Distillation:
Fast Optimization, Network Minimization and Transfer Learning中采用Gram矩阵来tranfer的teacher的解过程的流动。
X∈RH×W×MX\in R^{H\times W\times M}XRH×W×M,Y∈RH×W×NY\in R^{H\times W\times N}YRH×W×N,H,WH,WH,W是spatial维度,M,NM,NM,N为channel维度,Gram矩阵G∈RM×NG\in R^{M\times N}GRM×N
Gi,j=∑h=1H∑w=1WXh,w,i×Yh,w,jH×WG_{i,j}=\sum_{h=1}^{H}\sum_{w=1}^{W}\frac{X_{h,w,i}\times Y_{h,w,j}}{H\times W}Gi,j=h=1Hw=1WH×WXh,w,i×Yh,w,j
得到的Gram矩阵相当于抓住了特征图XXXYYY之间的channel-wise相关度。
实现代码:

import torch

def GramMatrix(A, B):
    """
    Argument:
    A -- matrix of shape (batch_size, n_C,n_H, n_W)

    Returns:
    GA -- Gram matrix of A, of shape (n_C, n_C)
    """
    A_batch_size, A_n_C, A_n_H, A_n_W = A.size()
    B_batch_size, B_n_C, B_n_H, B_n_W = B.size()
    A = A.view(A_batch_size, A_n_C, -1)
    B = B.view(B_batch_size, B_n_C, -1)
    GA = torch.bmm(A, B.transpose(1, 2))
    return GA

x = torch.randn(2, 3, 4, 4)
y = torch.randn(2, 5, 4, 4)

print(GramMatrix(x,y).size())  # torch.Size([2, 3, 5])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值