在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
目前,聚类算法被广泛应用于用户画像、广告推荐、新闻推送和图像分割等等。聚类算法是机器学习中一种“数据探索”的分析方法,它帮助我们在大量的数据中探索和发现数据的结构。那么机器学习中的聚类算法有哪几种呢?下面我将为大家一一介绍常见的几种聚类算法,分别是高斯聚类模型、基于密度的聚类算法、凝聚层次聚类和均值漂移算法。

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为半径做一个圆形的滑窗。其目标是找出数据点中密度最高点并作为中心;在每个迭代后滑动窗口的中心将为想着较高密度的方向移动;连续移动,直到任何方向的移动都不能增加滑窗中点的数量,此时滑窗收敛;将上述步骤在多个滑窗上进行以覆盖所有的点。当过个滑窗收敛重叠时,其经过的点将会通过其滑窗聚类为一个类。
以上就是机器学习中常见的五种聚类算法,大家都了解了吗?如果还想深入学习聚类算法的相关内容,比如原理、算法效果的衡量标准以及基于Kmeans算法进行改进的优化方法,可以上博学谷官网进行有关课程的在线学习。希望大家通过课程可以学会使用聚类算法进行数据分析,挖掘商业价值。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
新手如何快速入门人工智能
网上有很多关于“新手如何快速入门人工智能”的文章,但是对于真正的小白来说并没有太多的指导作用。作为新手想进入人工智能领域,首先是要明确需要掌握哪些基础知识,其次是掌握一套行之有效的学习方法,最后才是大部分文章所提到的人工智能最终需要掌握的那些领域。
10991
2019-08-08 10:12:28
神经网络到底是什么?它有什么用?
神经网络到底是什么?神经网络用大白话翻译一下就是,当人们从物质上去模拟人脑时,神经网络就诞生了。就目前来说,神经网络已经在很多领域都开始了应用。那么它有什么用呢?本问主要对神经网络的基本概念和作用做一个全面简要的介绍。
11439
2019-08-05 17:36:02
GAN开发教程带你从入门到精通
近来一直流传着“GAN”将要取代“深度学习”的说法,足以见得GAN的风头强劲。的确,对于人工智能这个领域,需要从业者和学习者不断更新自己的知识技能,不然就会被时代所淘汰。那么该怎么学习GAN开发呢?本文就来为大家介绍一下关于GAN开发入门教程的相关课程,希望能带你从小白到精通。
7432
2019-11-07 19:31:59
人工智能要学习哪些数学知识?
近些年,随着人工智能的又一次崛起,越来越多的人选择加入人工智能的学习行列。在学习人工智能的时候,我们首先需要学习和掌握一定的数学知识。可能会有人问了,人工智能要学习哪些数学知识呢?大致来讲就是三大核心知识,即高等数学基础、线性代数以及概率与统计。下面我们一起来看看具体的学习内容~
12404
2020-06-04 14:43:10
人工智能学习培训班值得参加吗?
随着人工智能技术的崛起,关注AI技术的人越来越多了,人工智能培训班也如雨后春笋般纷纷出现。一些想要进行人工智能学习的朋友可能想问了,人工智能学习培训班值得参加吗?或者说培训真的靠谱吗?确实,有不少本身不具备培训资质的机构只是想趁着AI技术的热度,赚一笔培训费,但是也不排除一些机构是认真在做人工智能培训的。
7905
2020-07-23 16:17:15
