在机器学习中,距离是一个非常形象并且常用的概念。在分类和聚类问题中,距离的作用尤为明显。除此之外,在回归问题,甚至自然语言处理问题上,距离也有其相应的应用。
除了距离之外,相似系数也是解决这一问题的方法之一,显而易见,距离和相似系数应该呈反比,距离越小越相似;距离越大越不同。距离主要是对不同的观测进行度量,相似系数主要是对不同的变量进行度量。但是,距离也可以衡量不同的变量,同理,相似系数也可以衡量不同的观测。
本文将介绍距离的定义,并详细介绍两种非常常用的距离:明可夫斯基距离和马氏距离。在后文中,我们将介绍相似系数。
距离定义
设两个n维向量 x ⃗ = ( x 1 , x 2 , ⋯   , x n ) T \vec{x} = (x_1,x_2,\cdots,x_n)^T x=(x1,x2,⋯,xn)T和 y ⃗ = ( y 1 , y 2 , ⋯   , y n ) T \vec{y} = (y_1,y_2,\cdots,y_n)^T y=(y1,y2,⋯,yn)T为两个观测,其所定义的距离一般需要满足三个条件:
- 非负性: d ( x ⃗ , y ⃗ ) ≥ 0 d(\vec{x},\vec{y}) ≥ 0 d(x,y)≥0, d ( x ⃗ , y ⃗ ) = 0 d(\vec{x},\vec{y}) = 0 d(x,y)=0当且仅当 x ⃗ = y ⃗ \vec{x} = \vec{y} x=y