![机器学习数学基础](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=1739276446-QMMr3KVrNxhNw9fRagXNSS2QKF9gv9D7-0-be92ffc32621b9dc1a11c77900b7ee69)
显然,距离的具体计算方法,是由内积的函数形式确定的。对于欧几里得空间,也就是用点积作为内积的具体函数形式,两个向量之间的距离就称为欧几里得距离,在三维几何空间中,就等同于我们所熟知的“两点间的距离”。
● 欧几里得距离
依据点积的定义,欧几里得距离(Euclidean Distance)定义如下。
定义 设和
是欧几里得空间的两个向量,它们之间的距离是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_515.jpg?sign=1739276446-kr3mKNxbklHvqaXQaDIJQNr02fHNp2vV-0-89305a37a324dd9a652a690b4a7132a3)
例如,有两个向量,它们之间的欧几里得距离是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_517.jpg?sign=1739276446-C3ITty8zYnTurJyCaSl0Kh4bPzXX9kL1-0-5294d041faccf40ea754feb9769928a8)
如果对应为平面几何,则如图1-5-1所示,就是计算两点的距离,根据平面几何知识,容易求得
。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_520.jpg?sign=1739276446-few5CuLry5CwJOoNNHTMslARALMeDcbV-0-23b5db37712eaad826d017b9f98aca50)
图1-5-1
手工计算可以依据定义完成,如果用程序计算,则下面所演示的是常见的方法。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_521.jpg?sign=1739276446-5FZOR6O1uHbeo6t3lCvQq6s0yaquRq0Y-0-bbfc9b6056ca85a3c2f12ae7edaa76c8)
至此,我们已经从线性代数的角度,从开始探讨向量空间的性质,到进行特殊化,定义内积,再定义点积,然后看到了我们能够直观感受到的欧几里得空间,其中的二维、三维空间就与平面几何、立体几何中遵循的规律相同,并且有一些基本概念还可以在线性代数中推广到更高维度,比如刚才的距离定义。这些我们熟知的内容,皆源自古希腊的伟大数学家欧几里得(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=1739276446-OobG10AdLoeXozXg2JjsLHL7d0uSbaOX-0-a80bcd67ac9118f66fcb897a7a9d86a7)
图1-5-2
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_523.jpg?sign=1739276446-wSdczp3GjApff2fr7zTM8kzcdKqsr5Lw-0-2f2bfee2204c489a13e28097b8dc7325)
图1-5-3
在如棋盘布局的街道上,从一点到另外一点,不论怎么走,距离都差不多。考虑理想化情况,如图1-5-4中的标记所示。如果从点出发,到点
,则可以有多种路径,例如:
● ,长度为8个单位
● ,长度为8个单位
● ,长度为8个单位
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_529.jpg?sign=1739276446-TOgStCOL1sKVyeHARMoIEbeh0Z2DgDG4-0-2abdf78bfb59129a9e82115b2cad5c7b)
图1-5-4
德国数学家闵可夫斯基(Hermann Minkowskin,四维时空理论的创立者)根据图1-5-4所示的特点,命名了曼哈顿距离。
定义 设和
是两个向量,这两个向量之间的曼哈顿距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_532.jpg?sign=1739276446-LpXFYhb6DfiZowpnEdkGjXQX7Zhl6d4O-0-6d1fe38b8a2d7b035e75a8b08796ea4c)
曼哈顿距离也被称为距离。
例如,对于向量,依据上述定义,可以计算它们之间的曼哈顿距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_535.jpg?sign=1739276446-yCtrpxgomIL4NNhOtcq6WhkbHnfUW16B-0-33ba3eb9253a6faf924cba901fa96d68)
在Python的科学计算算法程度序中,有一个重要的库SciPy,它不仅包括了本节所介绍的各种距离的计算函数,还有其他很多本节没有介绍的距离计算函数。比如曼哈顿距离,可以使用cityblock()函数实现计算。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_536.jpg?sign=1739276446-3hLxpqy4tR6MUQxn89FJwwCLa3LYcBBO-0-25332d0305900230654660610dbd9ba7)
● 切比雪夫距离
以俄罗斯数学家切比雪夫命名的切比雪夫距离(Chebyshev Distance),定义如下。
定义:设和
是两个向量,这两个向量之间的切比雪夫距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_539.jpg?sign=1739276446-cd0eZikECiIH5Zq5yEEvMROkeT8EbuEA-0-80a6037033cc582563e7ebac03bf866a)
即:和
的对应坐标差的绝对值集合中最大的值。
例如向量之间的切比雪夫距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_543.jpg?sign=1739276446-tu47H4RZ0wpzW4HzNwEuZyXZEEC4ylz0-0-447ba69908b1984b0e2e79934216a7bb)
切比雪夫距离的另外一种等价表达方式是:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_544.jpg?sign=1739276446-IYcyZAFonyPd4c7uLnZvIzPmNpynu2nc-0-df9042816001fcaaf0e528c0c978b3be)
于是也将切比雪夫距离称为距离。
如果用程序计算切比雪夫距离,则可以使用scipy.spatial.distance中提供的函数chebyshev()实现。
请读者关注切比雪夫(巴夫尼提·列波维奇·切比雪夫,如图1-5-5所示),因为他的大名在概率论中还会出现——切比雪夫不等式,而且他还有一个得意门生:安德雷·马尔可夫(Andrey Andreyevich Markov),随机过程中的马尔科夫链就是他的研究成果。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_546.jpg?sign=1739276446-MleBdxlt9D3MwMq2M5hq7bgx5FwOQUok-0-a79367c193af25bec03ea3cee251b049)
图1-5-5
● 闵可夫斯基距离
从数学角度来看,将前述对距离的定义一般化,就是闵可夫斯基距离(Minkowski Distance)。
定义 设和
是两个向量,这两个向量之间的闵可夫斯基距离为:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_549.jpg?sign=1739276446-Dc2QdhwTsrA4f7AVSFYUB1bNrRG58iDc-0-455205d9b74068f52d715b519a3a6d2e)
● 若,
,即为“曼哈顿距离”;
● 若,
,即为“欧几里得距离”;
● 若,
,即为“切比雪夫距离”。
这里用闵可夫斯基距离作为更一般化的定义,或许是要纪念这位伟大的数学家、物理学家(如图1-5-6所示),他创立了闵可夫斯基时空(四维时空),为后来的广义相对论的建立提供了框架。可惜天妒英才,45岁便因病英年早逝。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt001_556.jpg?sign=1739276446-e5xi4QOPtJAT0rifQvazXahW9quLH0fv-0-2deb7893d380a1f30c1f3712080e9c0a)
图1-5-6