当前位置: 首页 > news >正文

网站建设商虎小程序青海西宁网站建设公司

网站建设商虎小程序,青海西宁网站建设公司,wordpress下载主题模板,网页设计app软件引言 在当今的数据驱动世界中#xff0c;机器学习算法扮演着至关重要的角色#xff0c;它们在图像分类、面部识别、在线内容审核、零售目录优化和推荐系统等多个领域发挥着重要作用。这些算法的核心在于它们能够识别和利用数据之间的相似性。而实现这一点的关键#xff0c;…引言 在当今的数据驱动世界中机器学习算法扮演着至关重要的角色它们在图像分类、面部识别、在线内容审核、零售目录优化和推荐系统等多个领域发挥着重要作用。这些算法的核心在于它们能够识别和利用数据之间的相似性。而实现这一点的关键就在于选择合适的距离度量。 距离度量简而言之是一种衡量数据集中元素之间关系的方法。它通过距离函数来实现这个函数为数据集中的每个元素提供了一种相互关系的度量。你可能好奇这些距离函数究竟是什么它们是如何工作的又是如何决定数据中某个元素与另一个元素之间关系的在本篇文章中将深入探讨这些概念并了解它们在机器学习中的应用。 距离函数的基本原理 顾我们在学校学习的勾股定理它教会我们如何计算平面直角坐标系中两点之间的距离。这个定理实际上是欧几里得距离的基础也是在机器学习中常用的一种距离函数。 以数据点A和B为例可以通过计算它们在x轴和y轴上的差值并应用勾股定理来求得它们之间的距离。 在机器学习领域这种计算距离的方法被广泛应用。距离函数本质上是一种数学工具它帮助我们量化数据集中任意两个元素之间的差异。 如果两个元素之间的距离为零可以认为它们是等同的如果距离大于零则它们有所不同 不同的距离度量采用不同的数学公式作为其距离函数。接下来我们将探讨这些不同的距离度量并了解它们在机器学习建模中的作用。 常用的距离度量及其数学原理 在机器学习领域多种距离度量被广泛使用每一种都有其独特的数学原理和应用场景。接下来我们将探讨一些最常见的距离度量。 闵可夫斯基距离|Minkowski Distance 闵可夫斯基距离是一种在范数向量空间中使用的度量。 它定义在满足特定条件的向量空间上这些条件包括零向量的长度为零、标量乘法不改变向量方向以及三角不等式。这种度量因其广义性质而特别有用可以通过调整参数p来获得不同的距离度量。 零向量 - 零向量长度为零。标量乘法 - 向量的方向在乘以正数时不会改变尽管其长度会改变。三角不等式 - 如果距离是范数那么两点之间的计算距离始终是直线。 通过改变p的值可以得到不同类型的距离 p 1 p 1 p1得到曼哈顿距离 p 2 p 2 p2得到欧几里得距离 p ∞ p ∞ p∞得到切比雪夫距离 曼哈顿距离|Manhattan Distance 曼哈顿距离适用于需要在网格状路径中计算距离的场景如城市街区或棋盘。它通过将 p p p值设为1来从闵可夫斯基距离导出。 距离 d d d将使用其笛卡尔坐标的差异的绝对值之和来计算如下所示 其中: n n n变量的数量 x i x_i xi​和 y i y_i yi​分别是向量x和y的变量分别是二维向量空间即 x ( x 1 , x 2 , x 3 , . . . ) x (x_1,x_2,x_3,...) x(x1​,x2​,x3​,...)和 y ( y 1 , y 2 , y 3 , … ) y (y_1,y_2,y_3,…) y(y1​,y2​,y3​,…)。距离d计算为 ( x 1 − y 1 ) ( x 2 − y 2 ) ( x 3 − y 3 ) … ( x n − y n ) (x_1-y_1) (x_2-y_2) (x_3-y_3)…(x_n-y_n) (x1​−y1​)(x2​−y2​)(x3​−y3​)…(xn​−yn​)。 如果可视化距离计算它看起来像下面这样 欧几里得距离|Euclidean Distance 欧几里得距离是最常用的距离度量之一它通过将p的值设置为2来使用闵可夫斯基距离公式计算。这种距离度量在计算平面上两点间的最短路径时非常有用。 余弦距离|Cosine Distance 余弦距离主要用于衡量文档或向量之间的相似性尤其在自然语言处理和信息检索中。它通过计算两个向量之间的角度来衡量它们的相似度。当**向量之间的大小不重要但方向重要时使用此特定度量。**余弦相似性公式可以从点积方程中推导出来 余弦值范围从-1到1其中 1表示完全相同-1表示完全相反0表示正交或无关 马氏距离|Mahalanobis Distance 马氏距离用于计算多变量空间中两个数据点之间的距离。 根据维基百科的定义 马氏距离是点P和分布D之间距离的度量。测量的想法是P距离D的平均值有多少个标准差。 使用马氏距离的好处是它考虑了协方差这有助于测量两个不同数据对象之间的强度/相似性。观察值与均值之间的距离可以按以下方式计算 其中 S S S是协方差度量使用协方差的逆来获得方差归一化的距离方程。 距离度量在机器学习中的应用 在本节中将通过具体的分类和聚类示例探索距离度量在机器学习建模中的关键作用。将从快速介绍监督和非监督学习算法开始然后深入探讨它们在实际应用中的使用。 分类-K-最近邻(KNN) KNN是一种非概率监督学习算法它通过计算数据点之间的距离来识别相似性。这种方法不需要预测数据点的概率而是直接进行硬分类。 鸢尾花数据集示例 以著名的鸢尾花数据集为例该数据集包含三个类别的花卉特征。可以使用KNN算法来预测未知类别的新数据点。 在上面的图像中黑色正方形是一个测试数据点。现在需要找出这个测试数据点属于哪个类别借助KNN算法的帮助。准备数据集创建机器学习模型以及预测测试数据的类别。在实际应用中通常使用scikit-learn库中的KNN分类器它简化了模型的创建和训练过程。例如可以使用欧几里得距离作为距离度量这是一种在平面上计算两点间距离的简单方法。 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score# 加载数据集 df pd.read_csv(https://raw.githubusercontent.com/SharmaNatasha/Machine-Learning-using-Python/master/Datasets/IRIS.csv) x df.iloc[:,1:4] y df.iloc[:,4] x_train, x_test, y_train, y_test train_test_split(x, y, test_size0.3, random_state0)在KNN中选择一个常数K代表要考虑的最近邻的数量。然后计算测试数据点与训练集中每个数据点的距离并选择K个最近的数据点。这些最近邻的多数类别将成为测试数据点的预测类别。 # 创建KNN模型 KNN_Classifier KNeighborsClassifier(n_neighbors6, p2, metricminkowski)# 训练模型 KNN_Classifier.fit(x_train, y_train)# 预测测试数据 pred_test KNN_Classifier.predict(x_test)在上述代码示例中使用了闵可夫斯基距离度量其中参数 p p p被设定为2这实际上对应于欧几里得距离。欧几里得距离是KNN算法中最常用的距离度量特别是在处理二维或三维数据时。 在KNN分类过程中一旦确定了最近的邻居就可以通过统计这些邻居中每个类别的投票数来决定测试数据点的类别。 在上面的图像中可以观察到测试数据点被正确分类为类别1这是基于其最近的邻居中占多数的类别。 这个小例子清楚地展示了距离度量在KNN算法中的核心作用。选择合适的距离度量对于KNN分类器的性能至关重要因为它直接影响我们找到的最近邻居的质量。不同的距离度量可能会导致不同的分类结果因此在实际应用中选择最合适的度量是提高模型性能的关键步骤。 聚类-K-means 在分类算法中我们通常已知数据点的类别这使得预测变得相对直接。然而在聚类算法中没有预先标记的类别信息必须依赖数据自身的结构来发现模式。在这种情况下距离度量成为了至关重要的工具。 K-means算法是一种无监督学习方法它通过迭代地调整质心来将数据点分组到最近的质心所代表的聚类中。在K-means中通常使用欧几里得距离来衡量数据点之间的相似性。 在鸢尾花数据集的例子中首先随机选择三个质心然后根据每个数据点与这些质心的欧几里得距离将它们分配到最近的质心所代表的聚类中。 import numpy as np import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot as plt# 加载数据集 df pd.read_csv(https://raw.githubusercontent.com/SharmaNatasha/Machine-Learning-using-Python/master/Datasets/IRIS.csv) x df.iloc[:,1:4].values# 创建KMeans模型 KMeans_Cluster KMeans(n_clusters 3) y_class KMeans_Cluster.fit_predict(x)通过重复这个过程直到质心的位置不再显著改变可以得到清晰的聚类结构。 从上面的示例中可以看出即使在没有预先标记类别的情况下K-means算法也能够有效地将鸢尾花数据集分为三个不同的类别。这个过程展示了距离度量在发现数据内在结构中的关键作用。 自然语言处理-信息检索 在信息检索领域我们经常处理的是未结构化的文本数据如文章、网站、电子邮件、社交媒体帖子等。为了有效地检索这些数据通常会使用自然语言处理NLP技术将文本转换为可以进行比较和分析的向量形式。 在NLP中余弦相似度是一种常用的距离度量它用于衡量两个向量之间的角度相似性。当向量之间的夹角越小它们的余弦相似度越高表示它们在语义上越相似。 为了理解余弦相似度的应用可以通过一个简单的例子来演示 为语料库和查询创建向量形式 import math import numpy as np import pandas as pd import matplotlib.pyplot as pyplot from sklearn.metrics.pairwise import cosine_similarity from sklearn.feature_extraction.text import TfidfVectorizervectorizer TfidfVectorizer() corpus [the brown fox jumped over the brown dog,the quick brown fox,the brown brown dog,the fox ate the dog ]query [brown] X vectorizer.fit_transform(corpus) Y vectorizer.transform(query)在这个例子中首先使用TfidfVectorizer将语料库中的文本转换为向量然后对查询文本进行同样的处理。 检查相似性即查找语料库中的哪个文档与我们的查询相关 cosine_similarity(Y, X.toarray()) Results: array([[0.54267123, 0.44181486, 0.84003859, 0. ]])通过计算余弦相似度可以看到除了第四个文档外其他三个文档都与查询“brown”有一定的相似性。这表明这些文档中包含了查询词“brown”而第四个文档则没有。 余弦相似度在信息检索中的应用非常广泛特别是在搜索引擎、文本分类和情感分析等领域。它帮助我们在大量文本数据中快速找到与特定查询最相关的信息。 结论 本文深入探讨了机器学习中常用的距离和相似度度量包括闵可夫斯基距离、曼哈顿距离、欧几里得距离、余弦距离和马氏距离。不仅了解了这些度量的数学原理还探讨了它们在分类、聚类和信息检索等实际应用中的作用。 通过这些介绍希望为初学者提供了一个关于距离度量在机器学习领域中应用的清晰框架从而帮助更好地理解和应用这些概念。 参考 Cosine Similarity- Sklearn, TDS article, Wikipedia, ExampleDistance_Metrics_MMDistance Metrics- Math.net, WikiMinkowski Distance Metric- Wiki, Blog, Famous Metricsimportance-of-distance-metrics-in-machine-learning
http://www.w-s-a.com/news/78989/

相关文章:

  • 怎样进入谷歌网站电子商务网站建设软件选择
  • 建个普通网站多少钱设计师培训多少
  • 建设校园网站的意义视频链接提取下载
  • 天津电子商务网站wordpress安装图片
  • 青岛房产网站东莞网络营销外包公司
  • 网站建设中的页数网上工伤做实网站
  • 给公司做网站这个工作怎么样wordpress不支持中文标签
  • 湖南网站推广优化cc域名做门户网站
  • 网站开发大概多久怎么制做网站
  • 鄂州官方网站食品网站建设需求分析
  • 福州网站建设金森要做好网络营销首先要
  • 中山哪里有好网站建设公司企业培训考试平台下载
  • 域名备案查询 网站备案查询企业网站建设问题研究
  • wordpress无法编辑北京优化网站方法
  • 公司建设一个网站最好的网站建设哪家好
  • 南京市住宅建设总公司网站wordpress 自己写的网页
  • 淄博网站制作企业高端长沙企业网站制作服务报价
  • 网站服务理念中外商贸网站建设
  • 如何自己建立网站中国建设银行网站忘记密码
  • 什么是a站如何在12366网站上做实名认证
  • 斗蟋蟀网站建设谭谭心怎么建设网站
  • 优秀网站开发商郑州网站建设套餐
  • 做伤残鉴约号网站购物网站建设新闻
  • 黄江网站建设公司自己房子做民宿挂什么网站
  • 手游网站做cpc还是cpm广告号宣武郑州阳网站建设
  • vs连接数据库做网站建立网站
  • 电商网站设计图片素材p2p网站建设石家庄
  • 莲塘网站建设如何文字推广一个婚恋网站
  • 医院网站建设工作汇报WordPress不发邮件了
  • 怎么做外语网站个人网页设计作品ps