【问题标题】:A proper vector similarity index适当的向量相似度指数
【发布时间】:2012-01-06 10:14:45
【问题描述】:

我正在尝试调整余弦相似度以确定两个向量在条目方面的相似程度。由于获得的度量在向量尺度 {(0, 1, 2) 和 (0, 2, 4) 的余弦相似度为 1} 下是不变的,那么扩展相似度度量以解释初始向量尺度的方法是什么?我想过用 min{|v1|, |v2|}/max{|v1|, |v2|} 乘以 |v|表示向量 v 范数,以保留 -1 和 1 的界限。任何建议都非常感谢。

【问题讨论】:

    标签: math vector similarity


    【解决方案1】:

    嗯,余弦相似度是基于两个向量之间的角度(不取决于向量的长度)。如果您需要考虑向量长度的东西,那么您需要考虑向量长度如何影响上下文中的相似性

    另外请注意,如果需要保持在特定边界内(例如 [-1, 1]),您始终可以对相似度或距离度量进行后处理。进行此类转换的常用函数是 arctan

    例如,您可以尝试欧几里得距离并进行适当的变换,而不是扩展余弦相似度:

    d = Euclidean distance between your vectors
    similarity =  1 - 2 * arctan(d) / (pi/2) 
    

    但正如我所说,“正确”的公式取决于您的上下文。

    【讨论】:

    • 谢谢。我必须检查我对余弦相似度的适应是否有效。
    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2020-11-02
    • 2011-03-08
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多