一、定义和原理

1.KNN

 有监督学习 中的 分类算法 。用于分类或回归问题,通常用作分类算法。

在处理一个未知样本时,先找出训练集中距离未知样本最近的K个已知样本,然后根据这K个已知样本的类别标签来预测测试集样本的类别。

在分类问题中,通常选择出现频率最高的类别作为预测结果;在回归问题中,则计算这K个临近值的平均值或者加权平均值作为预测结果。

2.k-means

无监督学习 中的 聚类算法。主要用于数据聚类,而不是直接用于分类问题。

在处理一组数据集时,先将数据集划分为K个簇,然后根据每个样本到质心的距离来对数据集进行归类。

在聚类问题中,每个簇包含离质心最近的样本。

二、步骤

1.KNN

  1. 计算未知样本和训练集样本之间的距离;
  2. 将样本距离从小到大排序,选取K个距离最近的样本;
  3. 统计K个样本的频率,把频率最高的类别作为未知样本的预测结果。

2.k-means

  1. 选择k个样本作为初始聚类中心;
  2. 计算每个样本与所有聚类中心之间的距离,将样本归入距离最近的那个聚类(簇);
  3. 对每个簇内的所有样本求平均值,再将这个平均值设为新的聚类中心。
  4. 重复步骤2和3,直到聚类中心不再发生变化,最终得到k个聚类及其对应的中心点。

三、共同点与区别

1.共同点

  1. 数量选择(K值):两者都依赖于预设的"K"值,即所需的簇数或邻居的数量。

  2. 距离计算:K-means通过计算样本之间的距离,而KNN也是基于距离,用来确定新样本所属类别。

2.区别

  1. KNN是有监督学习中的分类算法 ;k-means是无监督学习中的聚类算法。
  2. KNN则是软投票,每个邻居对预测结果都有一定的影响力;K-means是硬划分,每个样本只能分配到一个簇。

四、优点和缺点

KNN k-means
优点

对异常值不敏感,因为预测基于的是邻居的整体特性。

速度快,尤其在处理大规模数据时,相比KNN更有效率;

缺点

1.当特征数量多时,计算量大;

2.K值难以确定;

3.类别不平衡可能对预测结果有负面影响;

4.距离度量的选择会影响性能。

1.K值难以确定;

2.对初始聚类中心非常敏感,随机初始化可能会导致不同的结果;

3.对噪声和异常值敏感,这些数据点可能会显著影响聚类结果

五、K值的选取

1.KNN

K值的选择需要通过交叉验证或者网格搜索来确定,通过比较不同K值下的模型在测试集上的性能指标(如准确率、召回率、F1分数等)来找到最佳K值。

2.k-means

  K-means聚类方法,一般有人工设置K值,但是希望能从数据自身出发去确定真实的聚类数,也就是对数据而言的最佳聚类数。尝试不同的k值,比如从一个较小的范围开始,然后根据轮廓系数、肘部法或者其他评估指标来判断最优的k值。

1.肘部法

该方法基于绘制聚类内误差平方和(SSE)与 K 值之间的关系图。

随着 K值的增加,SSE会逐渐降低,但降低幅度逐渐减小。手肘法的目标就是找到 SSE 下降的速度开始变慢的“拐点”,类似手肘的地方,这个点就是最佳的 K 值。

2.轮廓系数法

该方法基于每个样本与它所属的聚类中心的距离和与它邻近的聚类中心的距离之间的比值计算出轮廓系数。对于一个合适的K值,它的轮廓系数应该最大。

六、距离度量

KNN通常基于样本之间的距离来进行分类,统计k个距离最小的已知样本的类别。

k-means通过计算各个样本离簇中心的距离来进行归类的,然后将这个样本分配到离簇中心距离最小的那个簇里。

常见的距离度量方式:

1.欧式距离

在一个多维度的空间里,求两个点的距离。这个距离需要用两个点在各自维度上的坐标相减,平方后加和再开方。

二维

2.曼哈顿距离

曼哈顿距离也叫”曼哈顿街区距离”。想象你在曼哈顿街道上,从一个十字路口开车到另一个十字路口,驾驶距离就是这个“曼哈顿距离”。

二维

3.切比雪夫距离

在最坏情况下的距离,即沿着坐标轴的最大差异。切比雪夫距离公式简单理解为就是各坐标数值差的最大值。

二维

七、参考文章

机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法_dbscan,knn-CSDN博客

kmeans算法的k值选择_kmeans如何确定k值-CSDN博客

机器学习部分:距离的度量(欧氏距离,曼哈顿距离,夹角余弦距离,切比雪夫距离,汉明距离,闵可夫斯基距离,马氏距离)_主成分 欧氏距离-CSDN博客

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐