一句话定义:欧氏距离(Euclidean Distance)就是两点之间拉直了量的直线距离——你能拿尺子比着画一条线量出来的那个数,本质是勾股定理的推广。
怎么算的:二维平面上两个点 (x₁, y₁) 和 (x₂, y₂),距离是 √[(x₁−x₂)² + (y₁−y₂)²]。推广到 n 维就是把每一维的差平方、加起来、开根号。在 AI 里,一段文本、一张图片、一个用户,都可以被表示成一串数字(向量,Vector),欧氏距离就是衡量两串数字"离得多远"。
生活化的比方:从家到公司,欧氏距离是无人机直线飞过去的那条线;你实际开车绕着街区走,走的是曼哈顿距离(Manhattan Distance)。欧氏距离是理想中的最短路径,不理会中间有没有楼。
它和AI 词典:余弦相似度">余弦相似度(Cosine Similarity)差在哪:这是最容易踩坑的地方。余弦相似度只看两个向量的夹角,也就是"方向像不像",完全不关心长度;欧氏距离既看方向也看长度,是"位置差多远"。
| 欧氏距离 | 余弦相似度 | |
|---|---|---|
| 关注点 | 位置差多远(含长度) | 方向夹角(不含长度) |
| 数值含义 | 0 到无穷大,越小越像 | 越小越像 / 越大越像(通常 −1 到 1) |
| 受向量长度影响 | 很大 | 几乎为零 |
| 常见场景 | 坐标、像素、聚类、异常检测 | 文本与 embedding 语义检索 |
举个具体例子:用户 A 买了 1 瓶酱油,用户 B 买了 10 瓶酱油,两人的"购买向量"方向完全一致,余弦相似度是满分 1,但欧氏距离并不小。放到文档检索上也一样:一篇长文和一篇短文用词比例相似,方向接近,可长度差异会把欧氏距离拉得很开——度量在拿"篇幅"当相似性。
有个实用结论:如果把向量先归一化成长度为 1,那么欧氏距离的排序和余弦相似度是等价的(单位向量下两者可以互相换算)。很多向量库默认就这么做,所以文档里说"用余弦"和"用 L2"有时并不冲突。
对从业者的实际意义:
- 度量选错不会报错,只会悄悄改变结果。同一批 embedding,换个距离度量,Top-K 召回可能面目全非,而系统一切正常运行,只是"感觉搜得不太对"。调检索效果前,先确认索引构建和查询用的是同一个度量(metric)。
- 量纲会碾压一切。把"年龄"和"年收入"直接塞进欧氏距离,收入那一维会独占话语权。要么标准化(Standardization),要么归一化(Normalization),要么换度量。
- 高维要当心。维度很高时,随机两点之间的距离会趋于接近,"谁离谁更近"变得难以区分,这就是所谓维度灾难(Curse of Dimensionality)。降维或换用其他度量往往比硬算更靠谱。
- 对普通职场人:看到"相似度 0.9"这种数字,不妨多问一句——是方向相似还是位置接近?两者的业务含义完全不同。
具体到某个向量数据库支持哪些度量、默认值是什么,以官方页面为准。
