大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」
在算法模型构建中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。 今天,一键拿下九种距离算法。走你~
一、欧氏距离 (Euclidean Distance)
定义与公式
欧氏距离是两个点在 n 维空间中直线距离的度量。它是最常见的距离度量方法之一,用于计算两个向量之间的距离。欧氏距离的公式如下:
应用场景
欧氏距离广泛应用于许多领域,如机器学习、统计学、模式识别和数据挖掘。常见的应用场景包括:
- 分类算法:如 k 近邻 (k-Nearest Neighbors, KNN) 算法,通过计算新样本与训练样本之间的欧氏距离来进行分类
- 聚类分析:如 k 均值 (k-Means) 聚类算法,通过计算样本与聚类中心之间的欧氏距离来确定样本所属的簇
- 图像处理:用于度量图像之间的相似度,如图像检索和图像匹配
优缺点分析
优点:
- 计算简单:欧氏距离的计算公式简单易懂,且计算量较小,适用于大多数应用场景
- 直观性强:欧氏距离直接反映了两个点之间的几何距离,具有很强的直观性
缺点:
- 对尺度敏感:不同维度的数值尺度差异会影响距离的计算结果,需要对数据进行标准化或归一化处理
- 对异常值敏感:欧氏距离对数据中的异常值非常敏感,异常值可能会显著影响计算结果
欧氏距离(Euclidean Distance)
二、余弦相似度 (Cosine Similarity)
定义与公式
余弦相似度是一种衡量两个向量夹角余弦值的度量,常用于评估两个向量的相似度。公式如下:
应用场景
余弦相似度在许多领域有广泛应用,特别是文本和信息检索领域:
- 文本相似度计算:在自然语言处理 (NLP) 中,余弦相似度用于计算两个文本或文档之间的相似度,通过比较它们的词频向量
- 推荐系统:如用户-物品推荐系统,通过计算用户之间或物品之间的相似度来进行推荐
- 图像相似度计算:在计算机视觉中,用于比较图像特征向量的相似度
优缺点分析
优点:
- 不受向量长度影响:余弦相似度仅关注向量的方向,而不受向量的长度影响,适用于不同规模的数据
- 计算简单:公式简单,计算效率高,适合大规模数据处理
缺点:
- 无法反映数值大小的差异:余弦相似度仅考虑向量的方向,不考虑数值的大小,可能会忽略重要的数值信息
- 对稀疏向量效果较差:对于稀疏向量(如文本数据中的词频向量),计算结果可能不准确,需要结合其他方法使用
余弦相似度(Cosine Si