机器学习概念:几种常见的距离参数概念和应用

目录

 欧几里德距离的概念

曼哈顿距离(Manhattan Distance)

切比雪夫距离(Chebyshev distance)

闵可夫斯基距离(Minkowski distance)

余弦相似度(Cosine Similarity)


 欧几里德距离的概念


        欧几里德距离(Euclidean distance)是欧几里德空间中两点间的直线距离。在二维空间中,两点之间的欧几里德距离可以通过勾股定理来计算。在更高维度的空间中,这个概念可以推广到任意两点间的直线距离。
        对于两个点\( P = (p_1, p_2, ..., p_n) \)和\( Q = (q_1, q_2, ..., q_n) \),它们在n维欧几里德空间中的距离\( d(P, Q) \)可以用下面的公式来计算:
\[ d(P, Q) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + ... + (p_n - q_n)^2} \]
这可以看作是在n维空间中将两点间的直线段视为一个n维超直角三角形的斜边,而每个维度上的差值\( (p_i - q_i) \)则是其他边的长度。
欧几里德距离的应用
1. 机器学习和数据挖掘:
   - 在聚类分析中,比如K-Means算法,欧几里德距离用于计算样本点与质心之间的距离,以确定样本点的归属。
   - 在分类任务中,如K-最近邻(K-NN)算法,使用欧几里德距离来识别最近的邻居,进而进行分类或回归。
2. 计算几何:
   - 在计算几何中,欧几里德距离用来计算点、线、面之间的最短距离,是基本的几何计算。
3. 图像处理:
   - 在图像处理中,欧几里德距离可以用来衡量像素点之间的颜色差异,以进行颜色量化或者图像分割。
4. 物理学:
   - 在物理学中,欧几里德距离可以用来计算两个物体之间的实际距离,这在许多物理公式和模型中是基本的参数。
5. 信息检索:
   - 在多维空间中,欧几里德距离可以用于文档检索系统,通过计算文档向量之间的距离来评估它们的相似性。
6. 生物信息学:
   - 在基因表达数据分析中,欧几里德距离用于衡量不同样本间的表达模式差异,帮助理解基因表达的变化。
7. 路径规划:
   - 在机器人学和自动驾驶车辆中,欧几里德距离可以帮助计算从一个位置到另一个位置的直线路径。
8. 数字信号处理:
   - 在信号处理中,欧几里德距离可以用来衡量两个信号之间的相似度。
欧几里德距离因为其直观性和易于计算,在各个领域中都有广泛的应用。然而,它也有局限性,例如在考虑地球表面上的实际距离时,应使用更复杂的距离度量,如大圆距离(Haversine公式),而不是简单的直线距离。

优点:

  1. 简单直观:欧几里德距离的计算简单明了,直观易懂,只需求出各个维度上的差值平方和再开方即可。
  2. 广泛适用:欧几里德距离适用于各种数据类型和问题,包括数值型数据、文本数据和图像数据等。
  3. 数学性质良好:欧几里德距离满足距离的定义,即非负性、同一性、对称性和三角不等式,因此在许多算法和模型中都有很好的性能表现。

缺点:

  1. 受特征尺度影响:欧几里德距离对于特征尺度非常敏感,如果特征之间的尺度差异很大,可能会导致距离计算不准确。
  2. 忽略特征之间的相关性:欧几里德距离只考虑了各个特征之间的绝对差异,而忽略了特征之间的相关性,可能导致对数据结构的不准确描述。
  3. 维度灾难:在高维空间中,由于维度灾难的影响,欧几里德距离的计算复杂度会急剧增加,导致效率下降。

曼哈顿距离(Manhattan Distance)

        也称为城市街区距离(City Block Distance)或L1范数距离,是一个几何度量,用于计算两个点在标准的坐标系中的距离。不同于欧几里得距离(直线距离),曼哈顿距离只考虑沿着坐标轴的路径。
概念
        曼哈顿距离的命名来源于纽约市的曼哈顿区,因为曼哈顿的街道布局大致是一个规则的网格状,所以人们在两点之间行走时通常只能沿着这些直角的街道移动。
给定两个点 P1 和 P2,其中 P1 的坐标为 (x1, y1),P2 的坐标为 (x2, y2),它们之间的曼哈顿距离可以通过下面的公式计算:
\[ \text{Manhattan Distance} = |x1 - x2| + |y1 - y2| \]
在多维空间中,两个点 P1 和 P2 的坐标分别为 \((x_{1,1}, x_{1,2}, \ldots, x_{1,n})\) 和 \((x_{2,1}, x_{2,2}, \ldots, x_{2,n})\),它们之间的曼哈顿距离的公式可以推广为:
\[ \text{Manhattan Distance} = \sum_{i=1}^{n} |x_{1,i} - x_{2,i}| \]
应用
曼哈顿距离在多个领域有着广泛的应用:
1. 计算机科学: - 在计算机科学中,曼哈顿距离常用于网格状结构的路径搜索问题,如迷宫寻路、A*算法中作为启发式函数。
2. 机器学习与数据挖掘- 在机器学习领域,曼哈顿距离可用于k最近邻 (k-NN) 算法、k均值 (k-Means) 聚类算法等,用来计算样本点之间的距离。
3. 城市规划- 在城市规划领域,规划者可能会考虑曼哈顿距离来评估城市中的交通流量和最优路径。
4. 地理信息系统 - 在GIS中,曼哈顿距离可用于计算网格地图上的距离,如评估城市中的最短驾车/走路距离。
5. 图像处理 - 在图像处理中,基于曼哈顿距离的图像分割和边缘检测等操作可以更好地处理与像素网格对齐的特征。
6. 运筹学和优化问题- 曼哈顿距离经常用于运输和物流中的优化问题,如线性规划、仓库位置选择等。
7. 生物信息学 - 在基因表达数据分析中,曼哈顿距离有时被用来衡量基因表达模式的相似性。
曼哈顿距离是一个非常有用的工具,因为它简单、直观且易于计算。在很多实际情况下,它提供了一种有效的距离衡量方式,特别是在坐标轴对齐的情况下。

优点:

  1. 无需归一化:与欧几里德距离不同,曼哈顿距离对特征的尺度不敏感,因此无需进行特征归一化或标准化。
  2. 适用于空间限制:在城市规划、路径规划等领域中,曼哈顿距离更能符合实际情况,因为它模拟了城市中的街道网格,更适合描述城市中的路径。
  3. 几何意义清晰:曼哈顿距离的计算方式直观清晰,对于理解和解释距离概念较为容易。

缺点:

  1. 受坐标轴影响:曼哈顿距离仅考虑各个坐标轴上的距离,忽略了坐标轴之间的相关性,因此可能无法准确描述数据之间的关系。
  2. 不适用于高维数据:随着数据维度增加,曼哈顿距离的计算复杂度会增加,导致维度灾难问题。
  3. 只考虑了直线距离:曼哈顿距离仅考虑了沿坐标轴方向的移动,对于实际情况中的斜线移动可能不够准确。


切比雪夫距离(Chebyshev distance)

        是度量空间中两个点之间距离的一种方法,它是向量空间中的一种度量,也称为L∞度量。在数学上,切比雪夫距离是无穷范数的度量。
概念:
        假设有两个点 P 和 Q,在一个多维空间中,P 的坐标为 (p1, p2, ..., pn) 并且 Q 的坐标为 (q1, q2, ..., qn),切比雪夫距离定义为这两个点对应坐标差的绝对值的最大值。
数学表达式为:
\[D_{\text{Chebyshev}}(P, Q) = \max_{i} \left| p_i - q_i \right|\]
其中,\(p_i\) 和 \(q_i\) 是点 P 和 Q 在第 \(i\) 维上的坐标,而 \(max\) 表示取这些差的绝对值中的最大者。
应用:
 切比雪夫距离在多个领域有着广泛的应用:
1. 棋盘上的移动: 在国际象棋中,国王可以在一个移动中走到相邻的8个方格之一。因此,两个方格之间的国王距离就是它们之间的切比雪夫距离。
2. 无线通信: 在无线通信中,信号的覆盖范围经常被描述为一个正方形(对于无线电视塔或其他传输设备),其中的距离度量经常使用切比雪夫距离。
3. 计算机图形学: 在像素艺术和计算机图形学中,切比雪夫距离可以用来计算像素之间的距离,有助于确定像素化的图像中的对象边界和形状。
4. 机器学习: 在机器学习中,尤其是在聚类和分类算法如k-最近邻(k-NN)算法中,切比雪夫距离可以作为一种距离度量来比较不同的样本点。
5. 多目标优化: 在多目标优化问题中,切比雪夫距离可以帮助找到在各个目标之间权衡的解决方案,尤其是在决策制定问题中。
6. 路径规划: 在机器人学和视频游戏的AI中,切比雪夫距离可以用于在包含障碍物的网格上进行路径规划,特别是当运动可以在8个方向上发生时。
切比雪夫距离是一种比较极端的距离度量,它关注的是最大差异,因此在某些应用场景比欧氏距离或曼哈顿距离更为适用。由于其定义的简洁性,它在计算上也往往更高效。

优点:

  1. 适用性广泛:切比雪夫距离适用于各种数据类型,包括数值型、分类型和顺序型数据。
  2. 无需归一化:与欧几里德距离类似,切比雪夫距离也对特征的尺度不敏感,因此无需进行特征归一化或标准化。
  3. 简单明了:切比雪夫距离的计算方式简单清晰,易于理解和实现。

缺点:

  1. 不考虑特征之间的相关性:切比雪夫距离只考虑各个坐标轴上的最大绝对差值,而忽略了特征之间的相关性,可能导致距离计算不准确。
  2. 不适用于高维数据:随着数据维度增加,切比雪夫距离的计算复杂度会增加,导致维度灾难问题。
  3. 不适用于连续性特征:在处理连续性特征时,切比雪夫距离可能会导致不合理的结果,因为它只考虑了各个坐标轴上的最大绝对差值。

闵可夫斯基距离(Minkowski distance)

        是一个衡量在多维空间中两个点之间距离的度量方法,它是欧几里得距离的推广,可以根据参数的不同变化为多种特殊形式的距离度量。

概念
闵可夫斯基距离的定义如下:
给定两个p维向量
\( \mathbf{x} = (x_1, x_2, ..., x_p) \)

\( \mathbf{y} = (y_1, y_2, ..., y_p) \),闵可夫斯基距离定义为:
\( D(\mathbf{x}, \mathbf{y}) = \left( \sum_{i=1}^{p} |x_i - y_i|^r \right)^{\frac{1}{r}} \)
其中,\( r \)是一个非负实数,当\( r \)取不同的值时,闵可夫斯基距离可以转化为多种不同的距离度量:
- 当\( r = 1 \)时,称为曼哈顿距离(Manhattan distance)或城市街区距离,它是各个坐标差的绝对值之和。
  \( D(\mathbf{x}, \mathbf{y}) = \sum_{i=1}^{p} |x_i - y_i| \)
- 当\( r = 2 \)时,称为欧几里得距离(Euclidean distance),它是我们在平时最常用的距离度量,可以理解为两点之间的直线距离。

  \( D(\mathbf{x}, \mathbf{y}) = \sqrt{\sum_{i=1}^{p} (x_i - y_i)^2} \)
- 当\( r = \infty \)时,闵可夫斯基距离转化为切比雪夫距离(Chebyshev distance),这时距离只由最大的那一维坐标差决定。
  \( D(\mathbf{x}, \mathbf{y}) = \max_i |x_i - y_i| \)

 应用
闵可夫斯基距离在多个领域有广泛的应用,主要包括:
1. 机器学习:在分类、聚类等算法中作为相似性的度量,如k最近邻(k-NN)算法和k均值(k-Means)聚类算法。
2. 数据挖掘:在数据预处理和分析中用于识别异常点或者进行层次聚类。
3. 计算几何:在多维空间中用于计算对象之间的距离,有助于解决最近邻搜索问题。
4. 图像处理和计算机视觉:在特征空间中测量图像特征向量之间的距离,用于图像识别和分类。
5. 推荐系统:在协同过滤中用于衡量用户或物品之间的相似度,以提供个性化推荐。
闵可夫斯基距离的选择(即\( r \)的值)取决于具体应用场景和数据的特性。在实际应用中,常常需要根据问题的特点和对距离敏感性的需求来选择合适的\( r \)值。

优点:

  1. 灵活性:闵可夫斯基距离可以根据具体情况调节参数p,从而在欧几里德距离和切比雪夫距离之间进行平衡,使其适应不同数据类型和问题。
  2. 适用性广泛:由于其灵活性,闵可夫斯基距离适用于各种数据类型,包括数值型、分类型和顺序型数据。
  3. 无需归一化:与欧几里德距离和切比雪夫距离类似,闵可夫斯基距离也对特征的尺度不敏感,因此无需进行特征归一化或标准化。

缺点:

  1. 参数选择困难:闵可夫斯基距离的参数p需要根据具体问题和数据特点进行选择,不同的参数可能会导致不同的距离计算结果,因此参数选择可能具有一定挑战性。
  2. 计算复杂度高:当数据维度较高或参数p较大时,闵可夫斯基距离的计算复杂度会增加,可能导致计算效率降低。
  3. 不考虑特征之间的相关性:与切比雪夫距离类似,闵可夫斯基距离也忽略了特征之间的相关性,可能导致距离计算不准确。

余弦相似度(Cosine Similarity)

        是衡量两个非零向量之间的相似度的度量方法。它使用向量空间内两个向量夹角的余弦值来评估它们的相似度。余弦值为1时,表示两个向量方向完全相同;余弦值为0时,表示两个向量是正交的,相互独立;余弦值为-1时,表示两个向量方向完全相反。
### 数学概念
对于两个向量A和B,它们的余弦相似度可以通过以下公式计算:
\[ \text{Cosine Similarity} = \frac{A \cdot B}{\|A\| \|B\|} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \sqrt{\sum_{i=1}^{n} B_i^2}} \]
其中:
- \( A \cdot B \) 表示向量A和B的点积。
- \( \|A\| \) 和 \( \|B\| \) 分别表示向量A和B的欧几里得范数(即向量的长度)。

应用
余弦相似度在各种领域都有广泛应用,其中包括:
1. 文本挖掘和信息检索:
   余弦相似度常用于文本分析中,比如将文档表示为词频向量(或TF-IDF权重向量),然后计算两个文档向量的余弦相似度,以此来评估文档内容的相似性。搜索引擎就可能使用余弦相似度来评价查询和文档之间的相关性。
2. 推荐系统:
   在推荐系统中,可以通过计算用户或物品特征向量之间的余弦相似度来推荐相似的产品或内容。比如,在用户相似度的计算上,可以将用户的历史行为或偏好表现为向量,再通过余弦相似度来找到相似的用户群体。
3. 机器学习:
   在机器学习中,余弦相似度可以用作损失函数,尤其是在处理文本数据时。一些基于深度学习的模型,例如Word2Vec、BERT等,在生成词嵌入向量或句子嵌入向量后,可以使用余弦相似度来衡量语义上的相似度。
4. 聚类分析:
   在聚类分析中,余弦相似度可以作为一种相似度指标,用于衡量元素之间的相似度,进而根据相似度将数据分组。
5. 生物信息学:
   在生物信息学中,余弦相似度可以用于比较基因表达模式,通过计算不同条件下基因表达数据的相似度来分析基因功能或调控关系。
        余弦相似度的优点在于它忽略了向量的长度,只关注向量的方向,因此对于文本数据的稀疏性和不同长度的文档具有较好的鲁棒性。然而,它也有局限性,比如它不能很好地捕捉到向量中的大小信息,即它假设所有维度对相似度的贡献是相同的,这在某些情况下可能不是最佳选择。

优点:

  1. 适用性广泛:余弦相似度适用于各种类型的数据,特别是在高维稀疏数据中表现良好,如文本数据、图像特征向量等。
  2. 不受数据长度影响:余弦相似度不受数据向量长度的影响,只受向量方向的影响,因此对于不同长度的向量计算结果一致。
  3. 计算简单快速:余弦相似度的计算只涉及向量的内积和模长,计算简单且高效。

缺点:

  1. 不考虑向量的绝对大小:余弦相似度只考虑了向量的方向,而忽略了向量的绝对大小,可能导致在某些情况下不准确,特别是当向量长度差异较大时。
  2. 不适用于稀疏向量的长度差异较大的情况:在处理稀疏向量时,如果向量长度差异较大,余弦相似度可能不够准确,需要进行额外的处理或者考虑其他相似度度量方法。
  3. 不考虑特征之间的重要性:余弦相似度假设所有特征的重要性相同,因此可能不适用于一些特征重要性不均衡的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Web后端】实现文件上传

表单必须使用post提交 ,enctype 必须是multipart/form-data在Servlet上填加注解 MultipartConfiglocation :默认情况下将存储文件的目录,默认值为“”。maxFileSize :允许上传文件的最大大小,其值以字节为单位。 默认值为-1L表示无…

简单易懂的HashMap使用指南:从入门到精通

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

如何查看Spring Boot 默认的数据库连接池类型

使用的Spring Boot的版本&#xff1a;2.3.4.RELEASE 先给出答案&#xff1a;com.zaxxer.hikari.HikariDataSource 怎么知道的呢&#xff1f; 新建一个Spring boot项目&#xff1a;springbootTest 配置pom.xml <dependencies><!-- SpringBoot 核心包 --><de…

【antd + vue】Failed to resolve component: a-select-option

一、问题说明 1、出现情况&#xff1a; <a-select>嵌套<a-select-option>&#xff0c;其中<a-select-option>循环&#xff0c;能正常使用&#xff0c;但是控制台警告。 2、控制台警告&#xff1a; [Vue warn]: Failed to resolve component: a-select-op…

OBS插件--图片或视频源随着声音动态缩放

音效动态调整 应用此插件的源可以根据音效声音的高低进行动态的缩放。在本例中&#xff0c;我们在当前的场景里面添加了一个小喇叭的图片源&#xff0c;在这个图片源上引用这款滤镜插件&#xff0c;然后将VLC视频源的音效用于此插件的音效。设置完成后&#xff0c;场景中的小喇…

Leetcode 3149. Find the Minimum Cost Array Permutation

Leetcode 3149. Find the Minimum Cost Array Permutation 1. 解题思路2. 代码实现 题目链接&#xff1a;3149. Find the Minimum Cost Array Permutation 1. 解题思路 这一题的话就是一个动态规划的问题&#xff0c;不过他这个错位着实是把题目变得复杂了不少&#xff0c;唉…

PRACH基带信号生成

5G NR&#xff1a;RACH流程 -- Msg1之选择正确的PRACH时频资源_prach配置周期-CSDN博客 NR PRACH&#xff08;二&#xff09;PRACH Format及频域位置_prach格式-CSDN博客 把跟高层参数相关的参数先随便设置&#xff0c;先生成基带信号。

HIVE调优-数据倾斜优化(详细版)

HIVE调优-数据倾斜优化 目录 HIVE调优-数据倾斜优化 1.排序优化 1&#xff09;order by 2&#xff09;distribute by sort by 3&#xff09;cluster by语句&#xff1a; 2.数据倾斜优化 1&#xff09;原因&#xff1a; 2&#xff09;表现&#xff1a; 3&#xff09…

css中用于设置光标颜色的属性

caret-color 是一个 CSS 属性&#xff0c;它用于定义输入光标&#xff08;caret&#xff09;的颜色。这里的“插入光标”&#xff08;insertion caret&#xff09;指的是在网页的可编辑器区域内&#xff0c;用来指示用户的输入具体会插入到哪里的那个一闪一闪的形似竖杠 | 的东…

[嵌入式系统-77]:RT-Thread-快速上手:嵌入式系统调测工具大全

目录 1. JTAG 下载调试器&#xff1a; 2. J-Link 仿真器&#xff1a; 3. ICE&#xff08;In-Circuit Emulator&#xff09;&#xff1a; 4. ROM监视器&#xff08;ROM Monitor&#xff09;&#xff1a; 5. 终端仿真工具&#xff1a; 6. 总线抓取工具&#xff1a; 7. 静态…

​​​​【收录 Hello 算法】5.2 队列

目录 5.2 队列 5.2.1 队列常用操作 5.2.2 队列实现 1. 基于链表的实现 2. 基于数组的实现 5.2.3 队列典型应用 5.2 队列 队列&#xff08;queue&#xff09;是一种遵循先入先出规则的线性数据结构。顾名思义&#xff0c;队列模拟了排队现象&#xff0c;即…

Django模型进阶

一.配置MySQL 1.安装mysql 2.mysql驱动 使用mysqlclient pip install mysqlclient 如果上面的命令安装失败&#xff0c;则尝试使用国内豆瓣源安装: pip install -i https://pypi.douban.com/simple mysglclien (Linux Ubuntu下需要先安装:apt install lib…

[C语言知识]return和exit到底有什么区别?

前言 &#x1f496;&#x1f496;&#x1f496;欢迎来到我的博客&#xff0c;我是anmory&#x1f496;&#x1f496;&#x1f496; 又和大家见面了 欢迎来到C语言知识系列 用通俗易懂的语言让编程语言不再困难 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成本搭…

brpc之acceptorhandler

int Server::StartInternal if (_am NULL) { _am BuildAcceptor(); //解析协议的初始化&#xff0c;初始化handlers数组 BuildAcceptor函数的核心代码&#xff1a; // process_request is required at server side handler.parse protocols[i].parse; handler.process …

Spring @Repository 注解

Spring 的项目严重依赖注解。 Repository 注解 在Spring2.0之前的版本中&#xff0c;Repository注解可以标记在任何的类上&#xff0c;用来表明该类是用来执行与数据库相关的操作(即dao对象)&#xff0c;并支持自动处理数据库操作产生的异常 在Spring2.5版本中&#xff0c;引…

Today At Apple 2024.04.20 ipad 绘画 图片管理

文章目录 recreate 软件 绘画图片管理 官网&#xff1a; https://www.apple.com/today/Apple 亚洲第一大商店&#xff1a;Apple 静安零售店现已在上海开幕如下预约课程&#xff1a;下载 Apple Store&#xff08;不是app store&#xff09;&#xff0c;点击课程预约笔记&#xf…

【算法】高精度(string实现)

模板来自&#xff1a;【C/string】 大数高精度运算模板 加法 string add(string a, string b) {string ans;/* 翻转两个数字字符串&#xff0c;使得后面的for循环从个位开始相加 */reverse(a.begin(), a.end());reverse(b.begin(), b.end());/* 初次补0&#xff0c;保证最高位…

GEVernova推出GEV新能源平台,引领新能源未来

近日&#xff0c;全球领先的能源设备制造和服务公司 GE Vernova 宣布推出 GEV 新能源平台&#xff0c;这是一个将金融、科技和产业深度融合的全新投资平台。GEV 新能源平台旨在为用户提供一站式可持续新能源投资解决方案&#xff0c;助力全球新能源转型和可持续发展。 新能源已…

基于MetaGPT的智能体理论与实践-Task01

Task01: MetaGPT环境配置 学习教程&#xff1a;https://github.com/datawhalechina/hugging-multi-agent 1 环境准备 1.1 安装python3.9 通过&#xff1a;python3 --version, 查看此python版本为3.10.3 1.2 下载MetaGPT 开始&#xff0c;借用清华镜像&#xff0c;拉取…

acw165. 小猫爬山-DFS剪枝与优化

题目 思路 暴搜顺序&#xff1a;从前往后依次枚举每只小猫&#xff0c;枚举当前这只小猫应该放在哪一辆车上&#xff0c;递归完n层之后&#xff0c;就可以知道所有方案中的最少车辆总数剪枝的情况&#xff1a; 优化搜索顺序&#xff1a;大部分情况下&#xff0c;应该优先搜索分…