【问题标题】:Correctly interpreting Cosine Angular Distance Similarity & Euclidean Distance Similarity正确解释余弦角距离相似度和欧几里得距离相似度
【发布时间】:2016-01-01 08:39:45
【问题描述】:

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

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

马丁:

雅各布:

授予:

相似度计算:

+--------------+---------+---------+----------+ | | M & J | M & G | J & G | +--------------+---------+---------+----------+ | Euclidean | 6.85 | 5.91 | 6.92 | +--------------+---------+---------+----------+ | Cosine | .69 | .83 | .32 | +--------------+---------+---------+----------+

现在,我对相似性的期望是 Martin 和 Jacob 将是最相似的。我会预料到这一点,因为他们对他们俩都评价过的书的评价完全相同。但我们最终发现马丁和格兰特是最相似的。

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

我的一个想法是只计算欧几里得距离,但忽略所有没有一位用户评价的书。

然后我就这样结束了

+--------------+---------+---------+----------+ | | M & J | M & G | J & G | +--------------+---------+---------+----------+ | Euclidean | 0 | 5.91 | 6.92 | +--------------+---------+---------+----------+ | Cosine | .69 | .83 | .32 | +--------------+---------+---------+----------+

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

编辑:

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

雅各布:

当我用 Martin 计算余弦角距离时,我仍然只得到 0.82!仍然不像 Martin 和 Grant 那样相似,但通过检查,我认为这两个非常相似。

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

【问题讨论】:

    标签: machine-learning similarity nearest-neighbor euclidean-distance cosine-similarity


    【解决方案1】:

    正如您所注意到的,欧几里得和余弦角度是基于距离的。例如,3 和 5 之间的距离远小于 3 和 0 之间的距离,Jacob 的评分中有多个零,您不会在 Jacob 和 Martin 之间获得太多相似性。 您的示例的主要问题是您假设 0 表示没有评级,实际上它被两个公式解释为评级 0(这是可能的最低评级)如果您跳过零评级并仅比较用户的评级他们的共同点比 Marin 和 Jacob 的相似度为 1!

    【讨论】:

      【解决方案2】:

      您的想法是正确的,但您的代码可能会错误地计算余弦相似度。

      Kris 已经给了你一个正确的答案,但是我想指出的是,当你计算余弦相似度时,你并没有跳过那些未评级的项目。我们可以看到,第一张表和第二张表的余弦相似度完全相同。这可能是您的代码中的一个错误。

      【讨论】:

        猜你喜欢
        • 2012-08-20
        • 2018-04-20
        • 2010-12-22
        • 2013-10-24
        • 2017-12-12
        • 2015-05-31
        • 2014-02-25
        • 2010-10-31
        • 2017-09-27
        相关资源
        最近更新 更多