使用余弦相似度还是欧氏距离?

总览#

度量学习 Metric Learning 的目标是预测不同输入的相对距离。例如衡量两张人脸的相似程度,或是推理两句话表达含义的相似度。通常做法是,让模型使用各种输入 生成代表特征的 embedding 向量,然后用向量间的距离衡量这些输入的相似度。

至于如何计算 embedding 向量间的距离,主要有两种方法。

  • 余弦相似度 Cosine Similarity,向量之间角度的余弦值
  • 欧氏距离 Euclidean Distance,向量之间的距离

两者异同#

该如何选择合适的计算方法?

余弦相似度 欧氏距离
模长 对模长不敏感 对模长敏感
维度 适用于高维空间 适用于低维空间
正交性 能较好区分相似向量 几乎无法分辨正交性
归一化 需要归一化向量以获得准确结果 不需要归一化
实际应用 NLP、文档相似度、推荐系统等 聚类、分类、降维等
计算 计算复杂度相对较低 在高维空间中计算复杂度较高

总结#

对于涉及高维的且模长不重要的向量的任务(例如 NLP),余弦相似度很合适。

对于涉及低维的、模长大小不可忽视的向量的任务(例如分类),欧氏距离很合适。

参考来源#

作者:chirp

出处:https://www.cnblogs.com/chirp/p/18230483

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   倒地  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示