数据科学中 17 种相似性和相异性度量
"There is no Royal Road to Geometry."—欧几里得
![](https://filescdn.proginn.com/11c7897c4d4751dc52b029b9e04e536d/fc31dc037889a98cca4766b93bb4dd5a.webp)
. 简介
相似性和相异性
指标
2 - 对称性: 对于所有 和 。
3 - 三角不等式: 对于所有 。
4 - 仅当 时。
. 距离函数
⓪ L2范数,欧几里得距离
![](https://filescdn.proginn.com/bf3aa61f75475da87d5db13a0ec2c1b6/0367906a3af84ca7402b376b49e507a3.webp)
n 维空间中两点之间的欧几里德距离
二维空间中两点之间的欧几里德距离。
![](https://filescdn.proginn.com/7e3db84326c2c5211fafa987970af3e8/b429804dd2acb5a8f18563bf91504b4e.webp)
![](https://filescdn.proginn.com/fd269e8a40b0fd435c546497a40d78d4/d1c1ef1faf11f57ab8b384cf5f7b5a94.webp)
KNN 算法
,该算法使用欧几里德距离对数据进行分类。为了演示 KNN 如何使用欧几里德度量,我们选择了一个 Scipy 包的流行 iris
数据集。Iris-Setosa、Iris-Versicolor 和 Iris-Virginica
,并具有以下四个特征:萼片长度、萼片宽度、花瓣长度、花瓣宽度。因此就有一个 4 维空间,在其中表示每个数据点。![](https://filescdn.proginn.com/1485c690ea26704a9dd961d0d276c2ed/38dd7b71ee30f21307e0e014d1f0d748.webp)
Iris-virginica
数据。通过这种方式,我们可以在二维空间中绘制数据点,其中 x 轴和 y 轴分别表示花瓣长度和花瓣宽度。![](https://filescdn.proginn.com/96aab7913104ffaf871b59b2f7dee836/908ecbf880de80470c34f9514df87c7b.webp)
Iris-Setosa
或 Iris-versicolor
(数据集中的 0 和 1)。因此,该数据集可用于 KNN 分类,因为它本质上是一种有监督的 ML 算法。假设我们的 ML 模型(k = 4
的 KNN)已经在这个数据集上进行了训练,我们选择了两个输入特征只有 20 个数据点,如上图所示。![](https://filescdn.proginn.com/7c13c26444093bef3a3eeaba47d2fbde/7ce1a60559ce0445ac84f21f6a3f6b83.webp)
Iris-Setosa 或 Iris-versicolor
。至此,新数据点到我们训练数据的每个点的欧几里德距离都计算出来了,如下图所示:![](https://filescdn.proginn.com/42b016118f364cffd2003ed91d4e0bab/c0e7e3516d96efe71b415f3347887fc7.webp)
k = 4
时,KNN分类器需要选择最小的四个距离,代表新点到以下点的距离:point1、point5、point8和point9
,如图所示:![](https://filescdn.proginn.com/41ebc26dde95616ced17e48c15a9f683/c85076cba4d8ad04f9e5cebbc095ea81.webp)
Iris-Setosa
。使用这个类比,可以想象更高的维度和其他分类器。➀ 平方欧几里得距离
② L1 范数、城市街区、曼哈顿或出租车距离
![](https://filescdn.proginn.com/41c3a1965fa896d733e2278a83986991/367964ba4dfbdd4eb00cbfa6ad4b566b.webp)
![](https://filescdn.proginn.com/eebe43845449d4475f7cafd9d15f8a03/54a43c2c145a44223d39aff8128a8f53.webp)
![](https://filescdn.proginn.com/d707e0797208534db966e600a83f9106/4a596b42fd45c06c8f2095b52e264550.webp)
Iris-Setosa
,另外两个数据点投票支持 Iris-versicolor
,这意味着这是个平局。![](https://filescdn.proginn.com/50953f40055c4308d1efc3f0ad64754e/d485b674c71586d0dcc479612911ba91.webp)
k=4
,将其更改为 k=3
将导致以下值:![](https://filescdn.proginn.com/392ecdd97d35ac9c3cdfeeb62687279c/f1212944747b82afaaf843836ea687e7.webp)
k=5
将导致以下值:![](https://filescdn.proginn.com/60328ec8c256e1834c2a625129774106/a719b588a5f0bd773754843c17f35535.webp)
Iris-Setosa
。因此,由你决定是否需要增加或减少 k 的值。![](https://filescdn.proginn.com/67b02e30c41fd8cf757791ee148489dc/f371d8d305212a3f052704ee56776d7f.webp)
Iris-Setosa
。![](https://filescdn.proginn.com/41b8437f824eb7d236927395ac47b59e/753203865f4c13ad5af0d78950413328.webp)
![](https://filescdn.proginn.com/f757eea852998ff829742157aee60872/2959c32b620f303ee7f48dc9d8659709.webp)
![](https://filescdn.proginn.com/526b9291148547fadd486a68262eab44/6386ead415e004b8e1e62650adbc681f.webp)
Bishop
使用曼哈顿距离(如果没有看到,可通过将棋盘旋转 45° 来想象一下)。换句话说,让主教越过红色方块所需的移动次数(距离)等于曼哈顿距离,即 2。L1-norm
比 l2-norm
给出更稀疏的估计。除此之外,L1 范数
和L2 范数
通常用于神经网络的正则化,以最小化权重或将某些值归零,就像套索回归中使用的那样。![](https://filescdn.proginn.com/03de9bd7dcc18321188ff064494d94a7/878b57571276863997f3937acf514706.webp)
③ 堪培拉距离
④ L∞ 范数,切比雪夫距离,最大距离
![](https://filescdn.proginn.com/1c1d36831fcade82bdf5c23aa2ff603f/2aab26200e3f123feb4abd3b5485c430.webp)
![](https://filescdn.proginn.com/76eb30c32ed710b7e19e03c705b0f2bf/7b932b2db209e5d29b5164498e69dd5c.webp)
![](https://filescdn.proginn.com/e59779b748faf0d5e4618c31858b4fba/97213e60ad3bf350a3cb4411e01e5852.webp)
![](https://filescdn.proginn.com/08531d6fbdf0a1f2b76c16268375224c/ca8a5a3a87f57b181edcd4c69bae0dd1.webp)
![](https://filescdn.proginn.com/70e545218f55ee014d5952408465953a/2ca8e5cc395b161a4655249fe067659f.webp)
⑤ Lp 范数,闵可夫斯基距离
![](https://filescdn.proginn.com/68e2ef22a377380e839cc83ca7025796/cff8bc60291c8d211c7329c06dd23bfe.webp)
p = 1: 曼哈顿距离。 p = 2: 欧几里得距离。 p → +∞ : 切比雪夫距离,逻辑或(点 D = A或B = 1或1 = 1)。 p → 0: 逻辑与(点 C = A AND B = 零)。 p → -∞ : 最小距离(点 D 的对称性)。
⑥余弦距离
文件A: "I love to drink coffee in the morning." 文件B: "I like to drink coffee." 文件C: "My friend and I work at a coffee shop in our hometown. He tells some good jokes in the morning. We like to begin the day by drink a cup of tea each."
![](https://filescdn.proginn.com/42d030eed76ccb56783e6d41be6c5238/a24da2dec6e4a7bb8bb477b235a5ff30.webp)
“I love to drink coffee”
然而,文件 C 包含文件 A 的所有单词,但从频率表中的含义非常不同。为了解决这个问题,你需要计算余弦相似度来判断它们是否相似。文件 A: "Bitcoin Bitcoin Bitcoin Money" 文件 B: "Money Money Bitcoin Bitcoin"
“Bitcoin”
这个词作为 x 轴,把“Money”
这个词作为 y 轴。这意味着文档 A 可以表示为向量 A(3,1),文档 B 可以表示为 B(2,2)。0.894
并不意味着文档 A 是 89.4%
,与 B 相似。它意味着文档 A 和 B 非常相似,但我们不知道有多少百分比!该值没有阈值。换句话说,你可以将余弦相似度的值解释如下:它越大,文档 A 和 B 相似的可能性就越大,反之亦然。
A(1, 11)
和 B(22, 3)
的例子22.4
,这并不能说明向量之间的相对相似性。另一方面,余弦相似度也适用于更高维度。参考资料
参考原文: https://towardsdatascience.com/17-types-of-similarity-and-dissimilarity-measures-used-in-data-science-3eb914d2681
[2]计算机安全: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.2974&rep=rep1&type=pdf
[3]OpenPose: https://github.com/CMU-Perceptual-Computing-Lab/openpose
![音符](https://filescdn.proginn.com/abfe3ab9534c7793baa8a2cd32960561/263c47a01e51ea3465f52640c5471f01.webp)
![](https://filescdn.proginn.com/4ac9b84a96f78690d5aaf740fecea883/3f6cc52c4140e0ccf93e998e3cd81d24.webp)
![](https://filescdn.proginn.com/67adbe09d08f900db968e9921f2e5350/24c2ea1920c3ab1ce397ac9057e0cbcd.webp)
![](https://filescdn.proginn.com/120af5cf6956c184b7c3c59e91421047/4aee0ad1806efee4c82cb6e62aac11fb.webp)
![](https://filescdn.proginn.com/42cad3b7593c2ace61334b65afd938e4/4de3d610045e79adafee7315be04011c.webp)
评论