从这道“小E的射击🔫训练”题,了解了一下 “欧几里得距离(Euclidean Distance)L2距离(L2 Distance)

202 阅读4分钟

一、背景

今天周六来公司加班,处理完工作,闲来无聊刷刷题,刷到了这道题 “小E的射击训练” 这道题,乍一看好像不难,仔细一看还是有点难,😫 关键是不知道怎么去计算这个 坐标点(射击🔫) 到 原点(靶心🎯)的距离,这要是不能计算出来,那必定是计算不出得分,怎么办 问AI啊?

让他给出提示🔔,看了AI给出的提示,发现有一个重要的公式,这公式并不熟 或者说没有接触过, 按照AI给出的解题思路,很快编写完代码,进行了运行,果然测试用例全部返回了 true。

但是这公式咋是真不了解啊,那其实不了解也没有关系,我们立马学习就是,网上找了几篇文章,现场学习;

这有一篇文章 介绍的挺仔细的:【AI知识点】欧几里得距离(Euclidean Distance)L2距离(L2 Distance) 这大哥应该是搞AI方向的,写的文章都是偏这个方向的;

拜读完,我也整理了一下“ 欧几里得距离 ”相关的一些基本点,有一个基本的认识;

二、欧几里得距离的定义

欧几里得距离,又称欧氏距离,是在欧几里得空间中两点之间的直线距离。在二维平面中,两点(x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2)之间的欧几里得距离可以用以下公式计算:

d=(x2x1)2+(y2y1)2d=\sqrt{(x_2 - x_1)^2+(y_2 - y_1)^2}

在三维空间中,对于两点(x1,y1,z1)(x_1,y_1,z_1)(x2,y2,z2)(x_2,y_2,z_2),欧几里得距离公式为:

d=(x2x1)2+(y2y1)2+(z2z1)2d=\sqrt{(x_2 - x_1)^2+(y_2 - y_1)^2+(z_2 - z_1)^2}

以此类推,可以推广到更高维度的空间。

三、欧几里得距离的计算方法

计算欧几里得距离的步骤如下:

  1. 确定两点在各个维度上的坐标值。
  2. 对于每个维度,计算两点坐标值之差的平方。
  3. 将所有维度上的差的平方相加。
  4. 对总和取平方根,得到欧几里得距离。

例如,在二维平面中,点 A(2,3)和点 B(5,7)之间的欧几里得距离为:

d=(52)2+(73)2=9+16=25=5d=\sqrt{(5 - 2)^2+(7 - 3)^2}=\sqrt{9 + 16}=\sqrt{25}=5

四、欧几里得距离的应用案例分析

  1. 数据分析与聚类

    • 在数据分析中,欧几里得距离可以用于衡量数据点之间的相似性。例如,对于一组客户的购买行为数据,可以将每个客户表示为一个多维向量,其中每个维度代表一种商品的购买数量。通过计算客户之间的欧几里得距离,可以将相似的客户聚类在一起,以便进行市场细分和个性化推荐。
    • 假设我们有三个客户的数据点 A(10,5,3), B(8,4,2), C(12,6,4)。计算 A 和 B 之间的欧几里得距离:

dAB=(810)2+(45)2+(23)2=4+1+1=6d_{AB}=\sqrt{(8 - 10)^2+(4 - 5)^2+(2 - 3)^2}=\sqrt{4 + 1 + 1}=\sqrt{6}

计算 A 和 C 之间的欧几里得距离:

dAC=(1210)2+(65)2+(43)2=4+1+1=6d_{AC}=\sqrt{(12 - 10)^2+(6 - 5)^2+(4 - 3)^2}=\sqrt{4 + 1 + 1}=\sqrt{6}

可以看出,A 和 B、A 和 C 之间的距离相等,说明这三个客户在某种程度上具有相似性。

  1. 机器学习中的 K 近邻算法

    • 在 K 近邻算法中,欧几里得距离用于衡量测试数据点与训练数据集中各个样本点之间的距离。算法根据距离最近的 K 个样本点的类别来预测测试数据点的类别。
    • 例如,在图像分类任务中,将每个图像表示为一个高维特征向量。当需要对一个新的图像进行分类时,计算该图像与训练集中所有图像的欧几里得距离,找到距离最近的 K 个图像,并根据这 K 个图像的类别进行投票,确定新图像的类别。
  2. 地理信息系统

    • 在地理信息系统中,欧几里得距离可以用于计算两个地理位置之间的实际距离。虽然地球表面是一个曲面,但在较小的范围内,可以将其近似为平面,使用欧几里得距离进行计算。
    • 例如,在城市规划中,可以使用欧几里得距离来确定两个地点之间的直线距离,以便评估交通便利性、规划基础设施等。

五、结论

欧几里得距离是一个重要的数学概念,在多个领域都有广泛的应用。通过计算空间中两点之间的直线距离,欧几里得距离可以帮助我们衡量数据点之间的相似性、进行聚类分析、实现机器学习算法以及在地理信息系统中计算实际距离。在实际应用中,我们可以根据具体问题的需求,灵活运用欧几里得距离来解决各种问题。同时,也可以结合其他距离度量方法和技术,以获得更准确和有效的结果。

六、最后的最后

下面请上我们今天的主角:有请小趴菜

小趴菜.jpeg