前端人的人工智能之旅(七)常见聚类方法对比

132 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

一、K近邻分类模型(KNN)

KNN是给定一个训练数据集,然后对新输入的实例,要在训练数据集中找到与该实例最为邻近的K个实例,这个K也就是KNN中的K,需要人工指定。而在这K个实例中的多数属于某个类,就把这个新输入的实例分类到这个类,也就是说新输入的实例分类是由K个邻居中占比最多的一类决定的。

那么KNN和K均值聚类有什么不同?前者需要人工指定K值,也就是需要新输入的实例找到K个邻居,这样类的划分相比K均值要更有目的性一些。而K均值聚类只是靠计算机自己分类,可能出现一致性不足的情况。

二、均值漂移算法

均值漂移算法是一种基于密度梯度上升的聚类算法,也就是说它是沿着密度上升方向去寻找聚类的中心点。

具体的算法过程是:先随机选择未分类点作为一个中心点;找出离中心点距离在辐射范围内的点,记为集合A;计算从中心点到集合A中每个元素的偏移向量M;中心点就可以以向量M进行移动;一直重复第二到第四个步骤,直到可以收敛;收敛成功后继续重复前面所有步骤,直到所有的点都被归类。

那么最终的分类就是根据每个类对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

从均值漂移算法的过程我们可以看出它是不需要指定类别的,中心一直在不断的漂移,直到能够收敛。

那么以上就是关于常见聚类方法KNN、K均值聚类和均值漂移算法的简单对比介绍。