机器学习中的距离

欧式距离

也称欧几里得距离,在一个N维度的空间里,求两个点的距离,这个距离肯定是一个大于等于零的数字,那么这个距离需要用两个点在各自维度上的坐标相减,平方后加和再开方。

  • 二维:d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}

  • 三维:d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}

平方欧式距离

就是欧式距离的平方

曼哈顿距离

相比欧氏距离要简单得多,曼哈顿距离只要把两个点坐标的x坐标相减取绝对值,y坐标相减取绝对值,再加和。

  • c = \left | x_1-x_2 \right |+\left | y_1-y_2 \right |

余弦距离

也叫做余弦相似度,是用向量空间中两个向量的夹角的余弦值作为衡量两个个体间差异的大小的度量。如果两个向量的方向一致,即夹角接近零,那么这两个向量就越相近。要确定两个向量方向是否一致,要用到余弦定理计算向量的夹角。

cos\theta =\frac{\sum_{1}^{n}A_i\times B_i}{\sqrt{\sum_{1}^{n}A_i^2}\times \sqrt{\sum_{1}^{n}B_i^2}}

闵可夫斯基距离

闵式距离不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性表述。

定义:两个n维变量(可以理解为n维数组,就是有n个元素)a(x_1_1,x_1_2,...x_1_n) 与 b(x_2_1,x_2_2,...,x_2_n) 间的闵可夫斯基距离定义为:d_1_2=\sqrt[p]{\sum_{k=1}^{n}\left | x_1_k-x_2_k \right |^p} 其中p是一个变参数,当p=1时,就是曼哈顿距离,当p=2时,就是欧式距离,当 p\rightarrow \infty 就是切比雪夫距离。

切比雪夫距离

国际象棋中,国王可以直行、横行、斜行。国王走一步,可以移动到相邻的8个方格之一。国王从格子 (x_1,y_1) 到 (x_2,y_2) 最少需要多少步?这个距离就是切比雪夫距离。

切比雪夫距离公式简单理解为就是各坐标数值差的最大值,在二维空间中的计算公式为:d=max(\left | x_1-x_2 \right |,\left | y_1-y_2 \right |)

 

 

发布了17 篇原创文章 · 获赞 4 · 访问量 474

猜你喜欢

转载自blog.csdn.net/dhyaishuai/article/details/96479401