展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 业界资讯 > 十个机器学习中常用的距离度量方法

十个机器学习中常用的距离度量方法

距离度量是有监督和无监督学习算法的基础,包括k近邻、支持向量机和k均值聚类等。距离度量的选择影响我们的机器学习结果,因此考虑哪种度量最适合这个问题是很重要的。因此,我们在决定使用哪种测量方法时应该谨慎。但在做出决定之前,我们需要了解距离测量是如何工作的,以及我们可以从哪些测量中进行选择。本文将简要介绍常用的距离度量方法、它们的工作原理、如何用Python计算它们以及何时使用它们。这样可以加深知识和理解,提高机器学习算法和结果。在更深入地研究不同的距离测量之前,我们先要有一个关于它们如何工作以及如何选择合适

本文目录

    距离度量是有监督和无监督学习算法的基础,包括k近邻、支持向量机和k均值聚类等。

    距离度量的选择影响我们的机器学习结果,因此考虑哪种度量最适合这个问题是很重要的。因此,我们在决定使用哪种测量方法时应该谨慎。但在做出决定之前,我们需要了解距离测量是如何工作的,以及我们可以从哪些测量中进行选择。

    本文将简要介绍常用的距离度量方法、它们的工作原理、如何用Python计算它们以及何时使用它们。这样可以加深知识和理解,提高机器学习算法和结果。

    十个机器学习中常用的距离度量方法

    在更深入地研究不同的距离测量之前,我们先要有一个关于它们如何工作以及如何选择合适的测量的大致概念。

    距离度量用于计算给定问题空间中两个对象之间的差异,即数据集中的特征。然后可以使用该距离来确定特征之间的相似性, 距离越小特征越相似。

    对于距离的度量,我们可以在几何距离测量和统计距离测量之间进行选择,应该选择哪种距离度量取决于数据的类型。特征可能有不同的数据类型(例如,真实值、布尔值、分类值),数据可能是多维的或由地理空间数据组成。

    几何距离测量

    1、欧氏距离 Euclidean distance

    欧氏距离度量两个实值向量之间的最短距离。由于其直观,使用简单和对许多用例有良好结果,所以它是最常用的距离度量和许多应用程序的默认距离度量。

    十个机器学习中常用的距离度量方法

    欧氏距离也可称为l2范数,其计算方法为:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.euclidean(vector_1, vector_2)

    欧氏距离有两个主要缺点。首先,距离测量不适用于比2D或3D空间更高维度的数据。第二,如果我们不将特征规范化和/或标准化,距离可能会因为单位的不同而倾斜。

    2、曼哈顿距离 Manhattan distance

    曼哈顿距离也被称为出租车或城市街区距离,因为两个实值向量之间的距离是根据一个人只能以直角移动计算的。这种距离度量通常用于离散和二元属性,这样可以获得真实的路径。

    十个机器学习中常用的距离度量方法

    曼哈顿距离以l1范数为基础,计算公式为:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.cityblock(vector_1, vector_2)

    曼哈顿的距离有两个主要的缺点。它不如高维空间中的欧氏距离直观,它也没有显示可能的最短路径。虽然这可能没有问题,但我们应该意识到这并不是最短的距离。

    3、切比雪夫距离 Chebyshev distance

    切比雪夫距离也称为棋盘距离,因为它是两个实值向量之间任意维度上的最大距离。它通常用于仓库物流中,其中最长的路径决定了从一个点到另一个点所需的时间。

    十个机器学习中常用的距离度量方法

    切比雪夫距离由l -无穷范数计算:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.chebyshev(vector_1, vector_2)

    切比雪夫距离只有非常特定的用例,因此很少使用。

    4、闵可夫斯基距离 Minkowski distance

    闵可夫斯基距离是上述距离度量的广义形式。它可以用于相同的用例,同时提供高灵活性。我们可以选择 p 值来找到最合适的距离度量。

    十个机器学习中常用的距离度量方法

    闵可夫斯基距离的计算方法为:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.minkowski(vector_1, vector_2, p)

    由于闵可夫斯基距离表示不同的距离度量,它就有与它们相同的主要缺点,例如在高维空间的问题和对特征单位的依赖。此外,p值的灵活性也可能是一个缺点,因为它可能降低计算效率,因为找到正确的p值需要进行多次计算。

    5、余弦相似度和距离 Cosine similarity

    余弦相似度是方向的度量,他的大小由两个向量之间的余弦决定,并且忽略了向量的大小。余弦相似度通常用于与数据大小无关紧要的高维,例如,推荐系统或文本分析。

    十个机器学习中常用的距离度量方法

    余弦相似度可以介于-1(相反方向)和1(相同方向)之间,计算方法为:

    十个机器学习中常用的距离度量方法

    余弦相似度常用于范围在0到1之间的正空间中。余弦距离就是用1减去余弦相似度,位于0(相似值)和1(不同值)之间。

    Python代码如下

    from scipy.spatial import distance
     distance.cosine(vector_1, vector_2)

    余弦距离的主要缺点是它不考虑大小而只考虑向量的方向。因此,没有充分考虑到值的差异。

    6、半正矢距离 Haversine distance

    半正矢距离测量的是球面上两点之间的最短距离。因此常用于导航,其中经度和纬度和曲率对计算都有影响。

    十个机器学习中常用的距离度量方法

    半正矢距离的公式如下:

    十个机器学习中常用的距离度量方法

    其中r为球面半径,φ和λ为经度和纬度。

    Python代码如下

    from sklearn.metrics.pairwise import haversine_distances
     haversine_distances([vector_1, vector_2])

    半正矢距离的主要缺点是假设是一个球体,而这种情况很少出现。

    7、汉明距离

    汉明距离衡量两个二进制向量或字符串之间的差异。

    十个机器学习中常用的距离度量方法

    对向量按元素进行比较,并对差异的数量进行平均。如果两个向量相同,得到的距离是0之间,如果两个向量完全不同,得到的距离是1。

    Python代码如下

    from scipy.spatial import distance
     distance.hamming(vector_1, vector_2)

    汉明距离有两个主要缺点。距离测量只能比较相同长度的向量,它不能给出差异的大小。所以当差异的大小很重要时,不建议使用汉明距离。

    统计距离测量

    统计距离测量可用于假设检验、拟合优度检验、分类任务或异常值检测。

    8、杰卡德指数和距离 Jaccard Index

    Jaccard指数用于确定两个样本集之间的相似性。它反映了与整个数据集相比存在多少一对一匹配。Jaccard指数通常用于二进制数据比如图像识别的深度学习模型的预测与标记数据进行比较,或者根据单词的重叠来比较文档中的文本模式。

    十个机器学习中常用的距离度量方法

    Jaccard距离的计算方法为:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.jaccard(vector_1, vector_2)

    Jaccard指数和距离的主要缺点是,它受到数据规模的强烈影响,即每个项目的权重与数据集的规模成反比。

    9、Sorensen-Dice指数

    Sörensen-Dice指数类似于Jaccard指数,它可以衡量的是样本集的相似性和多样性。该指数更直观,因为它计算重叠的百分比。Sörensen-Dice索引常用于图像分割和文本相似度分析。

    十个机器学习中常用的距离度量方法

    计算公式如下:

    十个机器学习中常用的距离度量方法

    Python代码如下

    from scipy.spatial import distance
     distance.dice(vector_1, vector_2)

    它的主要缺点也是受数据集大小的影响很大。

    10、动态时间规整 Dynamic Time Warping

    动态时间规整是测量两个不同长度时间序列之间距离的一种重要方法。可以用于所有时间序列数据的用例,如语音识别或异常检测。

    十个机器学习中常用的距离度量方法

    为什么我们需要一个为时间序列进行距离测量的度量呢?如果时间序列长度不同或失真,则上述面说到的其他距离测量无法确定良好的相似性。比如欧几里得距离计算每个时间步长的两个时间序列之间的距离。但是如果两个时间序列的形状相同但在时间上发生了偏移,那么尽管时间序列非常相似,但欧几里得距离会表现出很大的差异。

    动态时间规整通过使用多对一或一对多映射来最小化两个时间序列之间的总距离来避免这个问题。当搜索最佳对齐时,这会产生更直观的相似性度量。通过动态规划找到一条弯曲的路径最小化距离,该路径必须满足以下条件:

    • 边界条件:弯曲路径在两个时间序列的起始点和结束点开始和结束
    • 单调性条件:保持点的时间顺序,避免时间倒流
    • 连续条件:路径转换限制在相邻的时间点上,避免时间跳跃
    • 整经窗口条件(可选):允许的点落入给定宽度的整经窗口
    • 坡度条件(可选):限制弯曲路径坡度,避免极端运动

    我们可以使用 Python 中的 fastdtw 包:

    from scipy.spatial.distance import euclidean
     from fastdtw import fastdtw
     
     distance, path = fastdtw(timeseries_1, timeseries_2, dist=euclidean)

    动态时间规整的一个主要缺点是与其他距离测量方法相比,它的计算工作量相对较高。

    总结

    在这篇文章中,简要介绍了十种常用的距离测量方法。本文中已经展示了它们是如何工作的,如何在Python中实现它们,以及经常使用它们解决什么问题。如果你认为我错过了一个重要的距离测量,请留言告诉我。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    业界资讯 机器学习
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。