余弦相似度和相关系数以及z-score之间的关系

余弦相似度和相关系数以及z-score之间的关系

向量a aab bb之间的余弦相似度只与他们之间的角度有关:
c o s θ = a ⋅ b ∥ a ∥ ∥ b ∥ cos\theta = \frac{a\cdot b}{\|a\| \|b\|}cosθ=abab
应用余弦相似度的时候,很多情况下向量都是非负的(比如文档中词项的频次向量)。在这些时候,余弦相似度也是非负的。

向量x xx的“z zz-score”向量一般地定义如下:
z = x − x ˉ s x z=\frac{x-\bar{x}}{s_x}z=sxxxˉ

其中x ˉ = 1 n ∑ i x i \bar{x}=\frac{1}{n}\sum_ix_ixˉ=n1ixis x 2 = ( x − x ˉ ) 2 ‾ s_x^2=\overline{(x-\bar{x})^2}sx2=(xxˉ)2,分别是x xx的均值和标准差。也就是说,z x z_xzxx xx标准化之后的结果,是x xx的标准化版本。

对于向量x xx和向量y yy,他们的相关性系数为:
ρ x , y = ( z x z y ) ‾ \rho_{x,y}=\overline{(z_xz_y)}ρx,y=(zxzy)
因而,如果一个向量a aa的均值为0,那么它的方差为s a 2 = 1 n ∥ a ∥ 2 s_a^2=\frac{1}{n}\lVert{a}\rVert^2sa2=n1a2。因此,其单位向量和z zz-score的关系为:
a ^ = a ∥ a ∥ = z a n \hat{a}=\frac{a}{\lVert{a}\rVert}=\frac{z_a}{\sqrt n}a^=aa=nza
所以,如果向量a aa和向量b bb是中心化的(也就是均值为0),那么它们的余弦相似度和它们的相关性系数是一样的。

太长不看:余弦相似度是向量方向上的单位向量的点积。而皮尔森相关系数是向量中心化后之间的余弦相似度。一个向量的"z zz-score变换"是将中心化的向量缩放到n \sqrt{n}n大小。

原文:Is there any relationship among cosine similarity, pearson correlation, and z-score?