机器学习中的距离

79 阅读2分钟

在机器学习中,向量是非常重要的概念。在对向量进行各种操作时,我们经常需要计算它们之间的距离。本文将介绍几种常用的向量距离计算方法,包括欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、余弦相似度和皮尔逊相关系数。

欧氏距离(Euclidean Distance)

欧氏距离是最常见的向量距离计算方法。对于两个n维向量xxyy,它们之间的欧氏距离可以表示为:

d(x,y)=i=1n(xiyi)2d(x,y) = \sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}

其中,xix_iyiy_i分别表示向量xxyy的第ii个元素。欧氏距离通常用于分类问题中的特征相似度计算。

曼哈顿距离(Manhattan Distance)

曼哈顿距离也称为城市街区距离。对于两个n维向量xxyy,它们之间的曼哈顿距离可以表示为:

d(x,y)=i=1nxiyid(x,y) = \sum_{i=1}^{n}|x_i-y_i|

曼哈顿距离通常用于图像处理、自然语言处理等领域。

切比雪夫距离(Chebyshev Distance)

切比雪夫距离也称为棋盘距离。对于两个n维向量xxyy,它们之间的切比雪夫距离可以表示为:

d(x,y)=maxi=1,...,nxiyid(x,y) = \max_{i=1,...,n}|x_i-y_i|

切比雪夫距离与曼哈顿距离相似,不同之处在于切比雪夫距离是基于向量元素之间的最大差值计算的。切比雪夫距离通常用于棋类游戏、地理信息系统等领域。

闵可夫斯基距离(Minkowski Distance)

闵可夫斯基距离是欧氏距离和曼哈顿距离的一般化。对于两个n维向量xxyy,它们之间的闵可夫斯基距离可以表示为:

d(x,y)=(i=1nxiyip)1pd(x,y)=(\sum_{i=1}^{n}|x_i-y_i|^p)^{\frac{1}{p}}

其中,pp是一个参数,当p=1p=1时,闵可夫斯基距离退化为曼哈顿距离;当p=2p=2时,闵可夫斯基距离退化为欧氏距离。闵可夫斯基距离通常用于关键词搜索、语音识别等领域。

余弦相似度(Cosine Similarity)

余弦相似度是一种常用的向量相似度计算方法。对于两个n维向量xxyy,它们之间的余弦相似度可以表示为:

cos(x,y)=xyx×y\cos(x,y) = \frac{x\cdot y}{||x||\times ||y||}

其中,\cdot表示向量的点积,x||x||y||y||分别表示向量xxyy的范数。