![机器学习数学基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/482/43738482/b_43738482.jpg)
1.5.1 距离
设某个内积空间中有向量和
,这两个向量的起点位于坐标原点,向量间的距离就是指它们的终点——对应于坐标系中的两个点——之间的距离。
定义:内积空间中的向量之间的距离记作:
,定义为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_512.jpg?sign=1739274927-t5LfdC5BnYalRHSr1JZStjiL2wYJcfJs-0-5cde7992e33e829d04d79b20e2c164d4)
显然,距离的具体计算方法,是由内积的函数形式确定的。对于欧几里得空间,也就是用点积作为内积的具体函数形式,两个向量之间的距离就称为欧几里得距离,在三维几何空间中,就等同于我们所熟知的“两点间的距离”。
● 欧几里得距离
依据点积的定义,欧几里得距离(Euclidean Distance)定义如下。
定义 设和
是欧几里得空间的两个向量,它们之间的距离是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_515.jpg?sign=1739274927-XaYBhvL7yYIpi3oDfyVTydVVgQqtoPhx-0-b72bd2aa0da17df9d2403d211f4c9c6e)
例如,有两个向量,它们之间的欧几里得距离是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_517.jpg?sign=1739274927-3Eq0MODuvtb52iG4yIrzrgjVt6Sgy2SF-0-8d98ffc81e6a208e54165005a0956a05)
如果对应为平面几何,则如图1-5-1所示,就是计算两点的距离,根据平面几何知识,容易求得
。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_520.jpg?sign=1739274927-13U3aBXesw4NtCHGPXaKdsS6TE5IA5iK-0-0169e7a8d81db559f289081e5ab9fd85)
图1-5-1
手工计算可以依据定义完成,如果用程序计算,则下面所演示的是常见的方法。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_521.jpg?sign=1739274927-nUW40An9QiKNnzzcAk8XvLUFOyBCxiMX-0-03f2e6b2ba41314d1a60c3d620b423c3)
至此,我们已经从线性代数的角度,从开始探讨向量空间的性质,到进行特殊化,定义内积,再定义点积,然后看到了我们能够直观感受到的欧几里得空间,其中的二维、三维空间就与平面几何、立体几何中遵循的规律相同,并且有一些基本概念还可以在线性代数中推广到更高维度,比如刚才的距离定义。这些我们熟知的内容,皆源自古希腊的伟大数学家欧几里得(Euclid)的著作《几何原本》(图1-5-2所示的是1704年出版的《几何原本》封面)。
欧几里得距离是线性代数教材所讨论的距离,但是,在机器学习中和生活生产实践中,有时候用其他方式定义距离更方便,下面列举常见的几个。
● 曼哈顿距离
曼哈顿距离(Manhattan Distance),也称出租车距离或城市街区距离。曼哈顿是美国纽约市(New York City)的中心区,它的大部分道路呈黑棋盘格形状,如图1-5-3所示。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_522.jpg?sign=1739274927-VtMTdqvgiFuOi4fKNYwiommw0ntgMHOQ-0-e3dda590161f0be25ec91fe892c36560)
图1-5-2
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_523.jpg?sign=1739274927-N8E2vRSVoz6L3YyGLfNfPUwmA9sCujbp-0-01e2386708a75eec02347f0ec13492bb)
图1-5-3
在如棋盘布局的街道上,从一点到另外一点,不论怎么走,距离都差不多。考虑理想化情况,如图1-5-4中的标记所示。如果从点出发,到点
,则可以有多种路径,例如:
● ,长度为8个单位
● ,长度为8个单位
● ,长度为8个单位
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_529.jpg?sign=1739274927-W070CHnYe5DoIqdW8nSXRskbOFAP6og4-0-f3a733ba271502d75809c61a6e1e409f)
图1-5-4
德国数学家闵可夫斯基(Hermann Minkowskin,四维时空理论的创立者)根据图1-5-4所示的特点,命名了曼哈顿距离。
定义 设和
是两个向量,这两个向量之间的曼哈顿距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_532.jpg?sign=1739274927-jnbZZxkdtHqFV69OuFFNHYqLjVabq6e6-0-e73f400b275b891836d794e5e609df97)
曼哈顿距离也被称为距离。
例如,对于向量,依据上述定义,可以计算它们之间的曼哈顿距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_535.jpg?sign=1739274927-hIqi6w80Z19D2d33hrYIsu6mPKRzXXsQ-0-65a2e0a491c0f7022d4aecff46da0796)
在Python的科学计算算法程度序中,有一个重要的库SciPy,它不仅包括了本节所介绍的各种距离的计算函数,还有其他很多本节没有介绍的距离计算函数。比如曼哈顿距离,可以使用cityblock()函数实现计算。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_536.jpg?sign=1739274927-1VwkrbNTUWjkdL2VrlQP1F3TCRzmwhYP-0-c322bc18d436d3700094d03a8327d1f8)
● 切比雪夫距离
以俄罗斯数学家切比雪夫命名的切比雪夫距离(Chebyshev Distance),定义如下。
定义:设和
是两个向量,这两个向量之间的切比雪夫距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_539.jpg?sign=1739274927-2wKh5IwZXyFr5zz0FANJsajeNETsKeya-0-c271a1ff5686cba56394c0a537bfc3ec)
即:和
的对应坐标差的绝对值集合中最大的值。
例如向量之间的切比雪夫距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_543.jpg?sign=1739274927-MLi8cZYvbIAd7oEGrMrQHphfq7L8LcvJ-0-47f4882356ea7895b8d8d637649346b7)
切比雪夫距离的另外一种等价表达方式是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_544.jpg?sign=1739274927-b5VvtoJeyVSnm0AYd0RmE2i4E2fBLxZH-0-ec23bed594ec502b93d4ad4cb6f5492e)
于是也将切比雪夫距离称为距离。
如果用程序计算切比雪夫距离,则可以使用scipy.spatial.distance中提供的函数chebyshev()实现。
请读者关注切比雪夫(巴夫尼提·列波维奇·切比雪夫,如图1-5-5所示),因为他的大名在概率论中还会出现——切比雪夫不等式,而且他还有一个得意门生:安德雷·马尔可夫(Andrey Andreyevich Markov),随机过程中的马尔科夫链就是他的研究成果。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_546.jpg?sign=1739274927-2lx2S4vi8Jwbi4asi4tJwEqe6ermruQA-0-db0f077887dfdd4c5aec64db8d635473)
图1-5-5
● 闵可夫斯基距离
从数学角度来看,将前述对距离的定义一般化,就是闵可夫斯基距离(Minkowski Distance)。
定义 设和
是两个向量,这两个向量之间的闵可夫斯基距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_549.jpg?sign=1739274927-d50vS1Gj8UDFUkHuUKBDqFUKHg71hw4Z-0-b7f11a439d78677e26752ec0002bd584)
● 若,
,即为“曼哈顿距离”;
● 若,
,即为“欧几里得距离”;
● 若,
,即为“切比雪夫距离”。
这里用闵可夫斯基距离作为更一般化的定义,或许是要纪念这位伟大的数学家、物理学家(如图1-5-6所示),他创立了闵可夫斯基时空(四维时空),为后来的广义相对论的建立提供了框架。可惜天妒英才,45岁便因病英年早逝。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_556.jpg?sign=1739274927-cXDLn64Th3YpeXUl6mJHnQWKUgkPWA42-0-22fe12b5fa884a48869bc50aaedcd530)
图1-5-6