1. 相关系数

称为Correlation coefficient,又称皮尔逊相关系数,衡量了两个变量的线性相关程度。定义变量XXX与YYY的协方差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{[X−E(x)][Y−E(Y)]}
随机变量XXX与YYY的相关系数ρ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∣ρXY​∣≤1,∣ρ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,即XXX和YYY一定存在线性关系。
3.线性相关和独立的关系:

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

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=x1​∗y1​+x1​∗y1​+...+xn​∗yn​
cos⁡<X,Y>=XTY∣∣X∣∣∣∣Y∣∣\cos<X,Y>=\frac{X^{T} Y}{||X||\ ||Y||}cos<X,Y>=∣∣X∣∣ ∣∣Y∣∣XTY​

  • 余弦相似度衡量了两个向量的夹角,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||X⋅Y=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}X∈RH×W×M,Y∈RH×W×NY\in R^{H\times W\times N}Y∈RH×W×N,H,WH,WH,W是spatial维度,M,NM,NM,N为channel维度,Gram矩阵G∈RM×NG\in R^{M\times N}G∈RM×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=1∑H​w=1∑W​H×WXh,w,i​×Yh,w,j​​
得到的Gram矩阵相当于抓住了特征图XXX与YYY之间的channel-wise相关度。
实现代码:

import torchdef 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 GAx = torch.randn(2, 3, 4, 4)
y = torch.randn(2, 5, 4, 4)print(GramMatrix(x,y).size())  # torch.Size([2, 3, 5])

变量之间的相关性度量相关推荐

  1. 最大信息系数——检测变量之间非线性相关性

    https://blog.csdn.net/qtlyx/article/details/50780400 最后的效果就是这样的.很明显可以看到,左下角那个有点像三角函数的关系,Pearson系数(就是 ...

  2. 变量之间的相关性研究

    目录 1 什么是相关性? 协方差及协方差矩阵 相关系数 (1)简单相关分析 (2)偏相关分析 (3)复相关分析 (4)典型相关分析 2 对已有数据的预分析 2.1 绘制变量相关的热力图 2.2 对热力 ...

  3. 变量之间的相关性:协方差、相关系数

    协方差 方差和标准差衡量的是一个变量(一组数据)的离散程度,也就是变量和均值之间的偏离程度. 协方差衡量的是两个变量之间的相关性,如: 正相关:两个变量具有相同的变化趋势(也称同方向),要么同时变大, ...

  4. 用pwcorr命令求变量之间的相关性如何加不同的星号?

    用pwcorr命令求变量之间的相关性如何加不同的星号? pwcorr命令中的star只能加一个星号,在连玉君老师的https://gitee.com/arlionn/pwcorr_a博客连接中下载pw ...

  5. NLP之【点互信息PMI】——衡量两变量之间的相关性

    点互信息PMI--衡量两变量之间的相关性 绪论 一.PMI的基本概念 二.调用Python nltk来计算两个词的PMI 三.根据词语的共现频次表自定义PMI函数计算 附录:nltk.download ...

  6. 两变量之间的相关性分析

    目录 0. 基本概念 1. 卡方检测 2. Eta系数 3. Pearson系数 (1) 适用条件 (2) 系数公式 (3) t检验 4. Spearman等级相关系数 (1) 适用情况 (2) 计算 ...

  7. python有哪些软件包用来考察变量之间的相关性_Python计算数据相关系数(person、Kendall、spearman)...

    pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...

  8. 如何用python进行相关性分析_如何在python中检查连续变量和分类变量之间的相关性?...

    将分类变量转换为虚拟变量,并将变量放在numpy.array中.例如: data.csv:age,size,color_head 4,50,black 9,100,blonde 12,120,brow ...

  9. 如何确定变量之间的相关性,是否是线性,是否正相关

    根据相关系数,y与x1-x9的关系都非常密切(r > 0.8,ρ < 0.001),财政收入与城乡居民储蓄存款年底余额之间关系最为密切(r = 0.995,ρ < 0.001) 相关 ...

  10. python分类变量相关性分析_如何在python中检查连续变量和分类变量之间的相关性?...

    将分类变量转换为伪变量here,并将变量放入numpy.array中.例如: data.csv:age,size,color_head 4,50,black 9,100,blonde 12,120,b ...

最新文章

  1. kindeditor-网页文字编辑
  2. AMBA、AHB、APB、AXI总线
  3. USACO Section 4.2 题解
  4. COM、COM+和DCOM的定义和区别
  5. 检测相机视野中的物体运动并用Mask显示
  6. Poj(1274),二分图匹配
  7. 手把手教你如何建立U盘免疫文件夹
  8. ios审核新坑解决,因为需要访问相机权限被拒绝We noticed that your app requests the user’s consent to access their camera
  9. 改进YOLOv7的早餐价格检测系统
  10. Linux下和编译器、程序的运行、环境变量等相关的常见问题
  11. vim 退格键(backspace)不能用
  12. 用字节数组存放二维地图数据
  13. 一般情况下的椭圆方程
  14. Matlab文件列表实现自然排序的方法排序
  15. LCR测试仪与阻抗分析仪有何不同?测试软件怎么选?
  16. 【点云处理之论文狂读前沿版6】Surface Representation for Point Clouds
  17. Abaqus软件介绍
  18. 从一座瑞典风机的倒塌看VDI2230用于螺栓连接精确计算的重要性
  19. Discovery Studio Visualizer简单操作
  20. 说说 Wine + QQ 轻聊版 7.7 的安装步骤

热门文章

  1. 计算机画图软件技巧,CAD绘图技巧(一)—速度篇
  2. matlab生成word文档
  3. mac 安装java8
  4. Android 10 添加第三方输入法为系统默认输入法
  5. 谷歌发布深度学习Efficient Net新架构,各方面表现全面碾压卷积神经网络
  6. zbox的测试例——selectAll+selectInverse
  7. win10找不到计算机配置文件,Win10个性化设置无法打开提示该文件没有与之关联的程序怎么办?...
  8. JavaWeb查漏补缺
  9. 高防CDN是什么?有什么作用?
  10. 如何给服务器文件设置权限,如何设置服务器文件权限