聚类是机器学习中一种重要的无监督算法,它可以将数据点归结为一系列特定的组合。理论上归为一类的数据点具有相同的特性,而不同类别的数据点则具有各不相同的属性。在数据科学中聚类会从数据中发掘出很多分析和理解的视角,让我们更深入的把握数据资源的价值、并据此指导生产生活。以下是五种常用的聚类算法。

K均值聚类

这一最著名的聚类算法主要基于数据点之间的均值和与聚类中心的聚类迭代而成。它主要的优点是十分的高效,由于只需要计算数据点与剧类中心的距离,其计算复杂度只有O(n)。其工作原理主要分为以下四步:

1.首先我们需要预先给定聚类的数目同时随机初始化聚类中心。我们可以初略的观察数据并给出较为准确的聚类数目;

2.每一个数据点通过计算与聚类中心的距离了来分类到最邻近的一类中;

3.根据分类结果,利用分类后的数据点重新计算聚类中心;

4.重复步骤二三直到聚类中心不再变化。(可以随机初始化不同的聚类中心以选取最好的结果)

这种方法在理解和实现上都十分简单,但缺点却也十分明显,十分依赖于初始给定的聚类数目;同时随机初始化可能会生成不同的聚类效果,所以它缺乏重复性和连续性。

和K均值类似的K中值算法,在计算过程中利用中值来计算聚类中心,使得局外点对它的影响大大减弱;但每一次循环计算中值矢量带来了计算速度的大大下降。

均值漂移算法

这是一种基于滑动窗口的均值算法,用于寻找数据点中密度最大的区域。其目标是找出每一个类的中心点,并通过计算滑窗内点的均值更新滑窗的中心点。最终消除临近重复值的影响并形成中心点,找到其对应的类别。

1.首先以随机选取的点为圆心r为半径做一个圆形的滑窗。其目标是找出数据点中密度最高点并作为中心;

2.在每个迭代后滑动窗口的中心将为想着较高密度的方向移动;

3.连续移动,直到任何方向的移动都不能增加滑窗中点的数量,此时滑窗收敛;

4.将上述步骤在多个滑窗上进行以覆盖所有的点。当过个滑窗收敛重叠时,其经过的点将会通过其滑窗聚类为一个类;

下图中每一个黑点都代表一个滑窗的中心,他们最终重叠在每一类的中心;

与K均值相比最大的优点是我们无需指定指定聚类数目,聚类中心处于最高密度处也是符合直觉认知的结果。但其最大的缺点在于滑窗大小r的选取,对于结果有着很大的影响。

基于密度的聚类算法(DBSCAN)

DBSCAN同样是基于密度的聚类算法,但其原理却与均值漂移大不相同:

1.首先从没有被遍历的任一点开始,利用邻域距离epsilon来获取周围点;

2.如果邻域内点的数量满足阈值则此点成为核心点并以此开始新一类的聚类。(如果不是则标记为噪声);

3.其邻域内的所有点也属于同一类,将所有的邻域内点以epsilon为半径进行步骤二的计算;

4.重复步骤二、三直到变量完所有核心点的邻域点;

5.此类聚类完成,同时又以任意未遍历点开始步骤一到四直到所有数据点都被处理;最终每个数据点都有自己的归属类别或者属于噪声。

这种方法最大的优点在于无需定义类的数量,其次可以识别出局外点和噪声点、并且可以对任意形状的数据进行聚类。

但也存在不可回避的缺点,当数据密度变化剧烈时,不同类别的密度阈值点和领域半径会产生很大的变化。同时在高维空间中准确估计领域半径也是不小的挑战。

利用高斯混合模型进行最大期望估计

对于较为复杂的分布K均值将会产生如下图般较为离谱的聚类结果。

而高斯混合模型却具有更高的灵活性。通过假设数据点符合均值和标准差描述的高斯混合模型来实现的。下图以二维情况下为例描述了如何利用最大期望优化算法来获取分布参数的过程:

1.首先确定聚类的数量,并随机初始化每一个聚类的高斯分布参数;

2.通过计算每一个点属于高斯分布的概率来进行聚类。与高斯中心越近的点越有可能属于这个类;

3.基于上一步数据点的概率权重,通过最大似然估计的方法计算出每一类数据点最有可能属于这一聚类的高斯参数;

4.基于新的高斯参数,重新估计每一点归属各类的概率,重复并充分2,3步骤直到参数不再变化收敛为止。

在使用高斯混合模型时有两个关键的地方,首先高斯混合模型十分灵活,可以拟合任意形状的椭圆;其次这是一种基于概率的算法,每个点可以拥有属于多类的概率,支持混合属性。

凝聚层次聚类

层次聚类法主要有自顶向下和自底向上两种方式。其中自底向上的方式,最初将每个点看做是独立的类别,随后通过一步步的凝聚最后形成独立的一大类,并包含所有的数据点。这会形成一个树形结构,并在这一过程中形成聚类。

1.首先将每一个数据点看成一个类别,通过计算点与点之间的距离将距离近的点归为一个子类,作为下一次聚类的基础;

2.每一次迭代将两个元素聚类成一个,上述的子类中距离最近的两两又合并为新的子类。最相近的都被合并在一起;

3.重复步骤二直到所有的类别都合并为一个根节点。基于此我们可以选择我们需要聚类的数目,并根据树来进行选择。

层次聚类无需事先指定类的数目,并且对于距离的度量不敏感。这种方法最好的应用在于恢复出数据的层次化结构。但其计算复杂度较高达到了O(n^3).

每个聚类算法都有各自的优缺点,我们需要根据计算需求和应用需求选择合适的算法来进行处理。随着深度学习的出现,更多的神经网络、自编码器被用来提取数据中的高维特征用于分类,是值得注意的研究热点。

机器学习中五种常用的聚类算法相关推荐

  1. 机器学习笔记~五种常见的聚类算法简介

    参考:https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef ...

  2. 五种常见的聚类算法总结

    目录 一.关于聚类的基础描述 1.1  聚类与分类的区别 1.2  聚类的概念 1.3  聚类的步骤 二.几种常见的聚类算法 2.1 K-means聚类算法 1) K-means算法的流程: 2)K- ...

  3. 无监督机器学习中,最常见的聚类算法有哪些?

    https://www.toutiao.com/a6675947855951168011/ 在机器学习过程中,很多数据都具有特定值的目标变量,我们可以用它们来训练模型. 但是,大多数情况下,在处理实际 ...

  4. dbscan算法中 参数的意义_无监督机器学习中,最常见的聚类算法有哪些?

    在机器学习过程中,很多数据都具有特定值的目标变量,我们可以用它们来训练模型. 但是,大多数情况下,在处理实际问题时,数据不会带有预定义标签,因此我们需要开发能够对这些数据进行正确分类的机器学习模型,通 ...

  5. 机器学习中常见的分类 回归 聚类算法小结

    Date: 2019-08-15 今天开始总结和复习机器学习知识点: 一句话概括: 1. 聚类:无监督学习,学习结果将产生几个集合,集合中的元素彼此相似: 2. 分类:有监督学习,学习结果将产生几个函 ...

  6. python 中五种常用的数据类型

    一.字符串 单引号定义: str1 = 'hello' 双引号定义: str1 = "hello" 三引号定义:"""人生苦短,我用python!&q ...

  7. Android中五种常用对话框的使用

    场景 Android中常用的五种对话框为 常规对话框.带列表的对话框.自定义的对话框.带进度条的对话框.带日期选择器的对话框. 注: 博客: https://blog.csdn.net/badao_l ...

  8. Android中五种常用的menu

    Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...

  9. Android UI开发第二十九篇——Android中五种常用的menu(菜单)

    Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...

  10. 软件工程中五种常用的软件开发模型整理

    软件工程期末考试复习资料整理,顺便码了个博客,emmm~ 下面都是我对各位博主文章种我认为写的比较好的内容的截取 引言 软件将要经历一个定义.开发.运行维护,直至被淘汰这样的生命周期. 为了使软件生命 ...

最新文章

  1. powerdesigner 同步mysql 报错_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...
  2. VSCode搭建Vue项目
  3. C#利用Graphics类绘制进阶--根据文字内容自动生成指定旋转角度图片
  4. Delegate成员变量和Event的区别
  5. 数学建模清风第二次直播:模拟退火算法
  6. 工作占用了太多私人时间_职晓|如果工作占用了生活时间,我应不应该辞职?...
  7. GoogleTest测试框架介绍(二)
  8. BZOJ3376: [Usaco2004 Open]Cube Stacking 方块游戏
  9. 安川机器人如何注释化指令_关于安川机器人I/O注释导入的报告
  10. 屏蔽非微信客户端和支付宝登陆登录操作
  11. MFC双人五子棋(VS2019)
  12. CCF [201703-1] 分蛋糕(C++)
  13. String.intern()
  14. 【PHP】创蓝253云通信平台国际短信接口调用demo案例
  15. 烤仔建工承建,著名画家孙天骄的元宇宙美术馆即将开门迎客
  16. 不礼让行人怎么抓拍的_斑马线前不礼让行人抓拍设备增加!详细图解告诉你各情况下怎么让才对!...
  17. android关闭本应用的通知声音代码,关于android:当我的应用取消通知时,播放带有FLAG_INSISTENT通知的声音不会停止...
  18. 01 二叉树的BFS(广度、层次或水平遍历实现)【Binary Tree 二叉树】
  19. 拯救动画卡顿之FLIP
  20. 我的世界教育版edu教育邮箱minecraft education免费申请下载教程

热门文章

  1. 【web素材】02-10款大气的购物商城网站模板
  2. PMP培训内容有哪些?
  3. mongovue mysql_mongoVUE的增删改查操作使用说明(转)
  4. cad插入块_多重插入块加密CAD图纸怎么分解
  5. 计算机串口接打印机并口,电子连接系统上的串口和并口知识分享
  6. 常用的数据库维护语句
  7. 【Xposed】框架安装full.xml.gz下载失败解决方法总结
  8. 麻瓜编程python爬虫微专业_网易微专业麻瓜编程Python Web开发工程师教程
  9. 优思学院|2021中质协六西格玛绿带考题及答案
  10. 住在我隔壁储藏室的大学刚毕业的小夫妻[转载]