欧几里得距离是欧几里得空间中两点之间通常所说的直线距离。在几何学中,它表示连接两点的线段长度;在数值应用中,它衡量两个坐标向量之间的距离。其坐标公式将勾股定理推广到了任意有限维空间。它是由欧几里得范数(也称为2-范数)诱导的距离,也是度量的一个标准示例。(assets.cambridge.org)
定义与坐标公式
对于 中坐标为实数的两点 和 ,欧几里得距离为
这个公式以正交归一坐标系为前提:各坐标轴彼此垂直,并使用相同的长度单位。在一维情况下,公式简化为 。在二维情况下,两个坐标之差构成直角三角形的两条直角边,连接两点的线段则是斜边。同样的构造可以推广到三维及更高维空间。(assets.cambridge.org)
例如, 与 之间的距离为
其中, 是标准内积。范数衡量向量的长度,而距离衡量两点之差所对应向量的长度。(bpb-us-e1.wpmucdn.com)
度量与几何性质
欧几里得距离使 成为一个度量空间。它满足度量定义中的四项性质:非负性;距离为零当且仅当两点重合;对称性,即 ;以及三角不等式,
最后一项性质表示,直接从一点到另一点的路程,不会长于途经一个中间点的路程。从代数上看,它可由欧几里得范数的三角不等式推出。(assets.cambridge.org)
当两点经历相同的平移、旋转或反射时,它们之间的距离不变。对于转置满足 的正交矩阵 ,以及平移向量 ,有
因此,更换正交归一坐标系不会改变实际距离。不过,将所有坐标乘以标量 ,会使距离变为原来的 倍。这些结论源于正交变换保持长度不变,以及范数的齐次性。(ocw.mit.edu)
欧几里得距离的平方
欧几里得距离的平方省去了开平方运算:
由于平方函数在非负数范围内严格递增,取平方不会改变距离的大小顺序。因此,搜索最近点时可以直接比较距离的平方,而不必计算平方根。然而,距离的平方本身并不是度量:对于直线上的点 ,距离的平方给出 ,违反了三角不等式。这个反例可以直接由公式得出。(docs.scipy.org)
距离的平方在数学优化中尤为重要。K均值聚类最小化各观测点到其所属聚类中心的距离平方之和。同样,均方误差等于预测向量与目标向量之间的欧几里得距离的平方,除以向量的分量个数。尽管取平方不会改变各个近邻的距离排序,但它会改变误差对目标函数的贡献方式。(scikit-learn.org)
应用与特征缩放
在机器学习中,观测数据通常表示为数值特征向量。K近邻算法可以利用欧几里得距离找出相近的观测样本,用于分类或回归。包括KD树和球树在内的空间搜索结构,通过组织数据点来加速适用的近邻查询。它们的性能取决于维数和数据结构。(scikit-learn.org)
“接近”的含义取决于坐标的尺度。如果某个特征的数值范围远大于其他特征,它就可能主导坐标差的平方和。因此,特征缩放会改变基于距离的方法所使用的几何结构。标准化处理先减去每个特征的均值,再除以其标准差;由此得到的距离反映的是相对于特征变异程度的差异,而不是以原始单位表示的差异。仅进行中心化不会改变两两距离,因为相同的均值会在求差时抵消。(scikit-learn.org)
高维也会影响距离的解释与计算。维数灾难可能降低空间搜索的效率,而基于距离的聚类方法也可能随着维数增加而表现出不同的行为。降维改变了计算距离所依据的数据表示,但并不会自动保留所有原始距离。(scikit-learn.org)
相关距离与计算
欧几里得距离是闵可夫斯基距离在 时的特例。加权欧几里得距离将各坐标差的平方替换为 ;正权重相当于对各个坐标分别进行缩放。马氏距离引入协方差矩阵的逆矩阵,使这一距离度量能够考虑不同的变异程度以及相关性。(scikit-learn.org)
对于长度为1的向量,展开内积可得
因此,按欧几里得距离从小到大排列这些向量,与按余弦相似度从大到小排列的顺序一致。如果不进行归一化,欧几里得距离还会受到向量长度的影响。(docs.scipy.org)
计算实现中可以使用
这一恒等式有助于高效计算两两距离,并复用预先计算的范数。然而,将大小接近的大数相减可能引起数值消去,因此,代数上等价的公式未必会产生完全相同的浮点计算结果。(scikit-learn.org)