在机器学习中,做分类时经常须要估算不相同本之间的类似性度量(Similarity Measurement)。这时通常採用的方法就是计算样本间的距离。采用什么样的方法计算距离是非常讲究。甚至关系到分类的正确与否。
在这里首先要理解距离概念:
闵可夫斯基距离(Minkowski Distance)
闵氏距离不是一种距离。而是一组距离的定义,下文说的几个距离都是属于闵可夫斯基距离的。
(1) 闵氏距离的定义
两个n维变量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的闵可夫斯基距离定义为:
当中p是一个变參数。
当p=1时,就是曼哈顿距离
当p=2时,就是欧氏距离
当p→∞时,就是切比雪夫距离
依据变參数的不同。闵氏距离能够表示一类的距离。
简单说来。闵氏距离的缺点主要有两个:
(1)将各个分量的量纲(scale),也就是“单位”当作相同的看待了。
(2)没有考虑各个分量的分布(期望,方差等)可能是不同的。
欧氏距离(Euclidean Distance)
欧氏距离是最易于理解的一种距离计算方法,源自欧几里得几何中两点间的距离公式。
(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:
(2)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:
也能够用表示成向量运算的形式:
标准化欧氏距离 (Standardized Euclidean distance )
(1)