Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

解释向量余弦距离 #3

Open
takeItIzzy opened this issue Apr 17, 2023 · 1 comment
Open

解释向量余弦距离 #3

takeItIzzy opened this issue Apr 17, 2023 · 1 comment

Comments

@takeItIzzy
Copy link

IMG_0471

其实画个图会好理解很多。

首先我们知道余弦距离的计算公式:cos(θ) = (a·b) / (||a|| ||b||)

公式可以分为两部分:两个向量的点积,除以两个向量模的乘积。

两个向量模的乘积很好理解,对应上图就是红色向量 a 的长度乘以黄色向量 b 的长度。

而两个向量的点积,其实就是一个向量的长度乘以另一个向量在其方向上的投影长度,对应上图就是棕色向量的长度乘以黄色向量的长度。

如果两个向量的指向基本相同时,如下图

IMG_0472

此时向量 a 的长度和向量 a 在 b 的投影的长度几乎相等,根据余弦距离公式,cos(θ) 就趋近于 1

如果两个向量的指向基本相反,如下图

IMG_0473

此时向量 a 的长度和向量 a 在 b 的投影的长度也几乎相等,但因为投影和 b 方向相反,所以点积是负的,根据余弦距离公式,cos(θ) 就趋近于 -1

如果向量 a 和 b 成 90度,则 a 在 b 方向上的投影为 0,根据余弦距离公式,cos(θ) 就为 0

总结一下就是,两个向量方向越一致,cos(θ) 就越趋近于 1;两个向量方向越相反,cos(θ) 就越趋近于 -1;两个向量方向为 90 度,则 cos(θ) 为 0。根据这个规律,余弦距离可以被用来表示向量之间的相似度,余弦距离越接近 1,则表示两个向量方向越一致,即两个向量越相似,反之亦然。当余弦距离为 0,则表示两个向量无相关性。

@mychoxin
Copy link

mychoxin commented May 9, 2023

beautiful

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants