写作业的时候看到了顺手翻译分享一下。博客
余弦相似度和相关系数以及z-score之间的关系
向量a和b之间的余弦相似度只与他们之间的角度有关:
cos\theta = \frac{a\cdot b}{\|a\| \|b\|}
应用余弦相似度的时候,很多情况下向量都是非负的(比如文档中词项的频次向量)。在这些时候,余弦相似度也是非负的。
向量x的“z-score”向量一般地定义如下:
z=\frac{x-\bar{x}}{s_x}
其中\bar{x}=\frac{1}{n}\sum_ix_i且s_x^2=\overline{(x-\bar{x})^2},分别是x的均值和标准差。也就是说,z_x是x标准化之后的结果,是x的标准化版本。
对于向量x和向量y,他们的相关性系数为:
\rho_{x,y}=\overline{(z_xz_y)}
因而,如果一个向量a的均值为0,那么它的方差为s_a^2=\frac{1}{n}\lVert{a}\rVert^2。因此,其单位向量和z-score的关系为:
\hat{a}=\frac{a}{\lVert{a}\rVert}=\frac{z_a}{\sqrt n}
所以,如果向量a和向量b是中心化的(也就是均值为0),那么它们的余弦相似度和它们的相关性系数是一样的。
太长不看:余弦相似度是向量方向上的单位向量的点积。而皮尔森相关系数是向量中心化后之间的余弦相似度。一个向量的"z-score变换"是将中心化的向量缩放到\sqrt{n}大小。
Is there any relationship among cosine similarity, pearson correlation, and z-score?