距离度量 —— 闵可夫斯基距离(Minkowski Distance)

Python学习系列文章目录

在这里插入图片描述

文章目录

    • 一、概述
    • 二、计算公式
      • 1. 闵氏距离公式
      • 2. 闵氏距离的参数 p
      • 3. 闵氏距离的缺点

一、概述

闵可夫斯基距离 (Minkowski Distance),也被称为 闵氏距离。它不仅仅是一种距离,而是将多个距离公式(曼哈顿距离、欧式距离、切比雪夫距离)总结成为的一个公式

二、计算公式

1. 闵氏距离公式

首先假设两个 n 维变量 A ( x 11 , x 12 , . . . , x 1 n ) A(x_{11},x_{12},...,x_{1n}) A(x11,x12,...,x1n) B ( x 21 , x 22 , . . . , x 2 n ) B(x_{21},x_{22},...,x_{2n}) B(x21,x22,...,x2n)

对于这两个 n 维变量,则有闵氏距离公式为: d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ p p d_{12}=\sqrt[p]{\sum_{k=1}^n|x_{1k}-x_{2k}|^p} d12=pk=1nx1kx2kp

乍一看,可能觉得这个公式很复杂,也觉得这个公式与前面说到的距离公式(曼哈顿距离、欧式距离、切比雪夫距离)没太大关联,但当我分解一下,就知道有什么关联了。

2. 闵氏距离的参数 p

闵氏距离主要和它的参数 p p p 有关, p p p 值不同,公式也将不同。

距离度量 —— 闵可夫斯基距离(Minkowski Distance)_第1张图片

p = 1 p=1 p=1 时,闵氏距离 为 曼哈顿距离

d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ p p = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ \begin{aligned} d_{12}&=\sqrt[p]{\sum_{k=1}^n|x_{1k}-x_{2k}|^p} \\ &=\sum_{k=1}^n|x_{1k}-x_{2k}| \end{aligned} d12=pk=1nx1kx2kp =k=1nx1kx2k

p = 2 p=2 p=2 时,闵氏距离 为 欧式距离

d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ p p = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ 2 = ∑ k = 1 n ( x 1 k − x 2 k ) 2 \begin{aligned} d_{12}&=\sqrt[p]{\sum_{k=1}^n|x_{1k}-x_{2k}|^p} \\ &=\sqrt{\sum_{k=1}^n|x_{1k}-x_{2k}|^2}\\ &=\sqrt{\sum_{k=1}^n(x_{1k}-x_{2k})^2}\\ \end{aligned} d12=pk=1nx1kx2kp =k=1nx1kx2k2 =k=1n(x1kx2k)2

p = ∞ p=\infty p= 时,闵氏距离 为 切比雪夫距离

d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ p p = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ ∞ ∞ = m a x ( ∣ x 1 i − x 2 i ∣ ) \begin{aligned} d_{12}&=\sqrt[p]{\sum_{k=1}^n|x_{1k}-x_{2k}|^p} \\ &=\sqrt[\infty]{\sum_{k=1}^n|x_{1k}-x_{2k}|^\infty}\\ &=max(|x_{1i}-x_{2i}|) \end{aligned} d12=pk=1nx1kx2kp =k=1nx1kx2k =max(x1ix2i)

3. 闵氏距离的缺点

① 将各个分量的量纲(scale),也就是“单位”相同的看待了;

例如:二维样本(身高[单位:cm],体重[单位:kg]),现有三个样本:a(180,50),b(190,50),c(180,60)。

a与b的闵氏距离(无论是曼哈顿距离、欧氏距离或切比雪夫距离)等于a与c的闵氏距离。但实际上身高的 10cm 并不能和体重的 10kg 划等号。

② 未考虑各个分量的分布(期望,方差等)可能是不同的。

在这里插入图片描述

你可能感兴趣的:(Python,从入门到精通,python,开发语言)