目前,聚类算法被广泛应用于用户画像、广告推荐、新闻推送和图像分割等等。聚类算法是机器学习中一种“数据探索”的分析方法,它帮助我们在大量的数据中探索和发现数据的结构。那么机器学习中的聚类算法有哪几种呢?下面我将为大家一一介绍常见的几种聚类算法,分别是高斯聚类模型、基于密度的聚类算法、凝聚层次聚类和均值漂移算法。
机器学习中的聚类算法有哪几种?
1、高斯聚类模型
事实上,GMM 和 k-means 很像,不过 GMM 是学习出一些概率密度函数来,简单地说,k-means 的结果是每个数据点被 assign 到其中某一个 cluster 了,而 GMM 则给出这些数据点被 assign 到每个 cluster 的概率,又称作 soft assignment 。
2、基于密度的聚类算法
基于密度的聚类算法最大的优点在于无需定义类的数量,其次可以识别出局外点和噪声点、并且可以对任意形状的数据进行聚类。DBSCAN同样是基于密度的聚类算法,但其原理却与均值漂移大不相同:首先从没有被遍历的任一点开始,利用邻域距离epsilon来获取周围点;如果邻域内点的数量满足阈值则此点成为核心点并以此开始新一类的聚类;其邻域内的所有点也属于同一类,将所有的邻域内点以epsilon为半径进行步骤二的计算;重复步骤二、三直到变量完所有核心点的邻域点;此类聚类完成,同时又以任意未遍历点开始步骤一到四直到所有数据点都被处理;最终每个数据点都有自己的归属类别或者属于噪声。
3、K均值聚类
这一最著名的聚类算法主要基于数据点之间的均值和与聚类中心的聚类迭代而成。它主要的优点是十分的高效,由于只需要计算数据点与剧类中心的距离,其计算复杂度只有O(n)。其工作原理主要分为以下四步:首先我们需要预先给定聚类的数目同时随机初始化聚类中心。我们可以初略的观察数据并给出较为准确的聚类数目;每一个数据点通过计算与聚类中心的距离了来分类到最邻近的一类中;根据分类结果,利用分类后的数据点重新计算聚类中心;重复步骤二三直到聚类中心不再变化。
4、凝聚层次聚类
层次聚类法主要有自顶向下和自底向上两种方式。其中自底向上的方式,最初将每个点看做是独立的类别,随后通过一步步的凝聚最后形成独立的一大类,并包含所有的数据点。这会形成一个树形结构,并在这一过程中形成聚类。
5、均值漂移算法
这是一种基于滑动窗口的均值算法,用于寻找数据点中密度最大的区域。其目标是找出每一个类的中心点,并通过计算滑窗内点的均值更新滑窗的中心点。最终消除临近重复值的影响并形成中心点,找到其对应的类别。其工作原理主要是以下几点:首先以随机选取的点为圆心r为半径做一个圆形的滑窗。其目标是找出数据点中密度最高点并作为中心;在每个迭代后滑动窗口的中心将为想着较高密度的方向移动;连续移动,直到任何方向的移动都不能增加滑窗中点的数量,此时滑窗收敛;将上述步骤在多个滑窗上进行以覆盖所有的点。当过个滑窗收敛重叠时,其经过的点将会通过其滑窗聚类为一个类。
免费分享一些我整理的人工智能学习资料给大家,包括一些AI常用框架实战视频、图像识别、OpenCV、NLQ、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文、行业报告等。
为了更好的系统学习AI,推荐大家收藏一份。
下面是部分截图,点击文末名片关注我的公众号【AI技术星球】发送暗号 321 领取(一定要发暗号 321)
一、人工智能课程及项目
二、国内外知名精华资源
三、人工智能论文合集
四、人工智能行业报告
学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。