Skip to content

常用向量空间距离算法

曼哈顿距离(Manhattan distance)

曼哈顿距离(L1范数)是衡量两个向量X和Y之间距离的一种方法,它的公式如下:

其中:

  • 表示向量X和Y之间的曼哈顿距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

曼哈顿距离是通过计算两个向量分量之间的绝对差值之和来衡量它们之间的距离。它的名称源于曼哈顿街道的网格状布局,其中两点之间的距离是它们水平和垂直距离的总和。与欧几里得距离相比,曼哈顿距离更适用于在高维空间中的应用,因为在高维空间中,两点之间的距离更容易通过水平和垂直距离来计算。曼哈顿距离也可以在机器学习和数据科学中广泛应用,例如在聚类和分类问题中,以及在图像和语音识别中的特征提取中。

坎贝拉距离 (Canberra Distance)

坎贝拉距离是一种衡量两个向量相似性的距离度量方法,常用于数据分析和信息检索中。它的计算公式如下:

其中:

  • 表示向量X和Y之间的坎贝拉距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

坎贝拉距离是一种考虑向量分量幅度的距离度量,适用于在分析基因表达数据等分量幅度重要的场合。坎贝拉距离与其他距离度量不同之处在于,它使用分量之间的绝对差值与它们的绝对值之和的比来计算距离。当向量中存在很多0值分量时,分母可能变得非常小,这可能导致距离的不稳定性。坎贝拉距离在机器学习和数据科学中也有广泛的应用,例如在分类、聚类、推荐系统和信息检索等领域。

欧几里得距离 (Euclidean distance)

欧几里得距离是一种常见的向量距离度量方法,它被广泛应用于机器学习和数据科学领域中的多种任务,如聚类、分类和回归等。

欧几里得距离可以用于计算两个向量之间的距离。假设我们有两个向量X和Y,它们的长度相等,即每个向量中包含n个分量。那么,它们之间的欧几里得距离可以通过以下公式进行计算:

其中:

  • 表示向量X和Y之间的欧几里得距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

欧几里得距离的计算方式是通过将两个向量分量之间的差值平方求和,再取其平方根得到的。它的名称来自于古希腊数学家欧几里得,欧几里得距离在平面几何中也有广泛应用。在机器学习和数据科学中,欧几里得距离通常用于计算两个样本之间的相似度或距离,因为它可以帮助我们识别在特征空间中离得较近的样本。

标准化欧几里得距离 (Standardized Euclidean distance)

标准化欧几里得距离是一种衡量两个向量距离的度量方法,它考虑了向量分量的变异性,通常用于在分量具有不同度量单位和尺度,且分量变异性很重要的情况下。

计算公式如下:

其中:

  • 表示向量X和Y之间的标准化欧几里得距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。
  • 是向量中第i个分量的标准差。

标准化欧几里得距离考虑了向量分量的可变性,通常适用于在分量具有不同度量单位和尺度,以及分量变异性很重要的情况下。它与欧几里得距离的计算方式相似,但在计算分量之间的差值时,将其除以分量的标准差来进行标准化。

平方欧几里得距离 (Squared Euclidean distance)

平方欧几里得距离是一种计算两个向量之间距离的度量方法,其计算公式如下:

其中:

  • 表示向量X和Y之间的平方欧几里得距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

平方欧几里得距离是通过计算两个向量分量之间的差值平方之和来衡量它们之间的距离。与欧几里得距离相比,平方欧几里得距离避免了对平方和的开方运算,从而计算更加高效。平方欧几里得距离在机器学习和数据科学中也有广泛的应用,例如在聚类、分类、回归等任务中。

需要注意的是,平方欧几里得距离忽略了分量的尺度和单位,因此在一些情况下,它可能不太适合用于测量向量之间的距离。在这种情况下,我们可以使用其他距离度量方法,如标准化欧几里得距离、曼哈顿距离、切比雪夫距离等。

余弦相似度(Cosine Similarity)

余弦相似度是一种测量两个向量相似性的度量方法,其计算公式如下:

其中:

  • 表示向量X和Y之间的余弦相似度。
  • 表示向量X和Y的点积。
  • 分别表示向量X和Y的模。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

余弦相似度是一种考虑向量之间夹角的相似度度量方法。在自然语言处理和信息检索等领域,余弦相似度通常用于测量文本之间的相似性,因为文本可以表示为向量,且分量的大小不重要。与其他距离度量方法相比,余弦相似度计算更为简单,同时也具有很好的性能。例如,当两个向量完全相同时,余弦相似度为1,当两个向量夹角为90度时,余弦相似度为0,当两个向量方向相反时,余弦相似度为-1。

需要注意的是,余弦相似度不考虑向量分量之间的大小差异,因此可能不适用于一些数据集

切比雪夫距离

切比雪夫距离是一种用于测量两个向量之间距离的度量方法,其计算方式是计算两个向量中分量差值的绝对值的最大值。假设我们有两个向量X和Y,它们的长度相等,即每个向量中包含n个分量。那么,它们之间的切比雪夫距离可以通过以下公式进行计算:

其中:

  • 表示向量X和Y之间的切比雪夫距离。
  • 分别表示向量X和Y的第i个分量。
  • 是向量中的分量数量。

切比雪夫距离通常被用于测量向量之间的距离,它的计算方式与曼哈顿距离类似,但在计算差值时取的是绝对值最大的分量差值,因此它能够比曼哈顿距离更好地捕捉到向量之间的差异。切比雪夫距离在机器学习和数据科学领域中也有广泛的应用,如在图像处理、信号处理、时间序列分析等方面。

需要注意的是,切比雪夫距离可能会受到离群值的影响,因为它是基于分量差值的绝对值的最大值计算的,因此在存在离群值的情况下,切比雪夫距离可能会给出不准确的距离度量。

马氏距离

马氏距离是一种用于测量两个向量之间距离的度量方法,它考虑了各个分量之间的相关性。假设我们有两个向量X和Y,它们的长度相等,即每个向量中包含n个分量。那么,它们之间的马氏距离可以通过以下公式进行计算:

其中:

  • 表示向量X和Y之间的马氏距离。
  • 是两个长度为n的向量。
  • 的协方差矩阵。

马氏距离的计算公式与欧几里得距离类似,但考虑到各个分量之间的相关性。如果协方差矩阵为单位矩阵,那么马氏距离就等价于欧几里得距离。与欧几里得距离相比,马氏距离能够更好地捕捉到各个分量之间的相关性,因此在一些需要考虑各个分量相关性的领域中,如金融风险管理、语音识别、图像识别等方面,马氏距离得到了广泛应用。

需要注意的是,马氏距离要求各个分量之间服从多元正态分布,且协方差矩阵需要是正定矩阵。如果分量之间不满足这些条件,马氏距离可能会给出不准确的距离度量。此外,马氏距离也受到协方差矩阵的估计误差的影响。在实际应用中,我们需要通过样本数据来估计协方差矩阵,因此样本数量的大小和样本的质量都会影响到马氏距离的准确性。

粤ICP备20009776号