gpt4 book ai didi

machine-learning - 正确解释余弦角距离相似度和欧氏距离相似度

转载 作者:行者123 更新时间:2023-11-30 09:01:27 25 4
gpt4 key购买 nike

举个例子,假设我有一个非常简单的数据集。我得到了一个包含三列的 csv:user_id、book_id、评分。评分可以是 0-5 之间的任意数字,其中 0 表示用户对该书进行评分。

假设我随机选择三个用户,然后得到这些特征/评分向量。

马丁:<3,3,5,1,2,3,2,2,5>

雅各布:<3,3,5,0,0,0,0,0,0>

授予:<1,1,1,2,2,2,2,2,2>

相似度计算:


+--------------+---------+---------+---------+
| |玛杰 |晨光 | J&G |
+--------------+---------+---------+---------+
|欧几里得| 6.85 | 5.91 | 5.91 6.92 | 6.92
+--------------+---------+---------+---------+
|余弦| .69 | .83 | .32 |
+--------------+---------+---------+---------+

现在,我对相似性的期望是马丁和雅各布是最相似的。我预料到会出现这样的情况,因为他们对他们所评分的书的评分完全相同。但我们最终发现马丁和格兰特最相似。

我在数学上理解我们如何得出这个结论,但我不明白如果发生这种类型的事情,我如何能够依赖余弦角距离或欧几里德距离作为计算相似度的方法。马丁和格兰特比马丁和雅各布更相似的解释是什么?

我的一个想法是只计算欧几里德距离,但忽略一位用户尚未对这本书进行评分的所有书籍。

然后我就得到了这个


+--------------+---------+---------+---------+
| |玛杰 |晨光 | J&G |
+--------------+---------+---------+---------+
|欧几里得| 0 | 5.91 | 5.91 6.92 | 6.92
+--------------+---------+---------+---------+
|余弦| .69 | .83 | .32 |
+--------------+---------+---------+---------+

当然,现在我的欧几里得距离为 0,这符合我对推荐系统的期望。我看到很多教程和讲座使用余弦角距离来忽略未评级的书籍,而不是使用欧几里德距离来忽略它们,所以我相信这通常是行不通的。

编辑:

为了进行一点实验,我将 Jacob 的特征向量调整为更加相似:

雅各布:<3,3,5,1,2,3,2,0,0>

当我和 Martin 计算余弦角距离时,我仍然只得到 0.82!仍然不如马丁和格兰特相似,但通过检查,我认为这两个人非常相似。

有人可以帮助解释我的想法错误在哪里,并可能建议另一种相似性度量吗?

最佳答案

正如您自己所指出的,欧几里德和余弦角是基于距离的。例如,3 和 5 之间的距离比 3 和 0 之间的距离小得多,雅各布的评分中有多个零,因此雅各布和马丁之间不会有太多相似之处。您的示例的主要问题是您假设 0 表示没有评级,实际上这两个公式将其解释为评级 0(这是可能的最低评级)如果您跳过零评级并仅在评级上比较用户他们的共同点比 Marin 和 Jacob 的相似度为 1!

关于machine-learning - 正确解释余弦角距离相似度和欧氏距离相似度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32935917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com