微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么余弦相似度对来自 1 个人的两张人脸图像给出负值?

如何解决为什么余弦相似度对来自 1 个人的两张人脸图像给出负值?

我在网上搜索了余弦相似度负值,但答案并没有让我信服。 我实现了一个代码,该代码使用两个相似度度量 [1/(1+euclidean) 和余弦相似度] 来计算人脸间的相似度。

对于 1/(1+euclidean) 结果是逻辑的 [0,1] 但对于余弦它们是 [-1,1]。此外,余弦相似度的值小于 1/(1+euclidean)。我的意思是来自 1 个人的大多数人脸图像给出的值都小于 0.5(在 1/(1+euclidean) 相似度中,这些值大于 0.6)。

我计算余弦相似度如下:

from scipy import spatial
cosine_similarity = 1 - spatial.distance.cosine(normalized_vector1,normalized_vector2)

1个人的2张脸的相似度怎么可能是负数?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。