机器学习核心算法03 K近邻算法

admin 2024年8月29日14:18:41评论8 views字数 953阅读3分10秒阅读模式

K近邻算法(K-Nearest Neighbors, KNN)是一种基本的分类与回归方法,它基于近邻思想,通过距离度量来寻找与待分类样本最近的K个邻居,并根据这些邻居的类别或值来预测待分类样本的类别或值。

机器学习核心算法03 K近邻算法

一、近邻思想

K近邻算法的核心思想非常直观:如果一个样本在特征空间中的K个最相似(即最近邻)的样本中的大多数属于某一个类别,则该样本也属于这个类别。这种思想体现了“物以类聚,人以群分”的朴素观念,即相似的样本更可能属于同一类别

二、距离度量

在K近邻算法中,距离度量是用来衡量样本之间相似度的重要指标。常用的距离度量方法包括欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离等。

欧式距离

欧式距离(Euclidean Distance)是在坐标空间中测量两个点之间的直线距离。其计算公式为:

机器学习核心算法03 K近邻算法

三、余弦相似度

余弦相似度并非K近邻算法直接采用的距离度量方法,但它作为一种衡量两个向量之间相似性的有效手段,在某些场景下(如文本处理)可能更为适用。余弦相似度通过计算两个向量夹角的余弦值来度量它们之间的相似性,其取值范围为与欧式距离不同,余弦相似度更关注向量之间的方向差异,而非大小差异。

四、K值选取

K值的选择对K近邻算法的结果具有重大影响。较小的K值意味着只有与输入实例较近的训练实例才会对预测结果产生影响,这可能导致算法对噪声敏感,易发生过拟合。相反,较大的K值能减少学习的估计误差,但可能使学习的近似误差增大,导致与输入实例较远的训练实例也对预测结果产生影响,进而可能产生错误的预测。

在实际应用中,K值通常选取一个较小的数值,并通过交叉验证法来选取最优的K值。具体而言,就是比较不同K值时的交叉验证平均误差率,并选择误差率最小的那个K值。

总结

K近邻算法是一种简单而有效的机器学习算法。它基于近邻思想和距离度量,通过寻找与待分类样本最近的K个邻居,并根据这些邻居的类别或值来预测待分类样本的类别或值。在选择距离度量方法时,欧式距离是最常用的方法之一。而在选取K值时,则需要根据具体应用场景和数据特点来权衡估计误差和近似误差的大小。此外,虽然余弦相似度不是K近邻算法中直接使用的距离度量方法,但在某些场景下,它也可以作为衡量样本之间相似性的有效手段。

原文始发于微信公众号(网络安全等保测评):机器学习核心算法03 K近邻算法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月29日14:18:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   机器学习核心算法03 K近邻算法http://cn-sec.com/archives/3108542.html

发表评论

匿名网友 填写信息