这篇文章是自己在上大数据分析课程时老师推荐的一篇文章,当时自己听着也是对原作者当年的的思路新奇非常敬佩,相信很多伙伴也会非常感兴趣,就来做个分享吧。原论文于2014年发表于Science期刊杂志上。

  • 论文题目:Clustering by fast search and find of density peaks

所解决的问题?

  作者提出了一种更加强大的聚类算法,其对参数的依赖更少,泛化能力更强。集成了k-meansDBSCAN算法的思想。

背景

  在研究问题前,我们先做综述算法分析,看看研究进展,还有未研究问题,需要归纳总结,从实际问题,不同门类的研究问题,发现共性问题。这是科研的基本素养。作者正是基于规划总结各类聚类算法得出一种更强的聚类算法。

  如今已有很多聚类的方法,但是这些聚类方法针对很多衡量方式都没有达成一致,也就是缺少一种通用的方式,或者说generalization不够。k-means是完全聚类,无法分辨噪声。K参数选择也比较困难,对于非凸形状也无法处理。DBSCAN可以聚类任意形状,但是找一个恰当的minpoint也比较玄学,并且对ε\varepsilonε参数敏感。

所采用的方法?

  聚类的中心点会有什么特征呢?作者提出了两点直观的理解,之后对其量化建模:

  1. Cluster centers are surrounded by neighbors with lower local density。(聚类的中心周围都是比它密度低的点)。也就是说聚类中心周围密度较低,中心密度较高。
  2. They are a relatively large distance from any points with a higher local density。(聚类中心点与其它密度更高的点之间通常都距离较远)。

  也就是满足这两个点才能成为聚类中心点

  因此,对于每个样本点 iii 计算两个值:

  1. 局部密度值(local density):ρi\rho_{i}ρi​

ρi=∑jχ(dij−dc)\rho_{i}=\sum_{j} \chi\left(d_{i j}-d_{\mathrm{c}}\right)ρi​=j∑​χ(dij​−dc​)

  其中函数:

χ(x)={1,x<00,x≥0\chi(x)=\left\{\begin{array}{ll} 1, & x<0 \\ 0, & x \geq 0 \end{array}\right.χ(x)={1,0,​x<0x≥0​

  参数 dc>0d_{c} > 0dc​>0 为截断距离(cutoff distance),需要事先指定。

  1. 距离的定义如下:

δi={min⁡j∈ISi{dij},ISi≠∅max⁡j∈IS{dij},ISi=∅\delta_{i}=\left\{\begin{array}{ll} \min _{j \in I_{S}^{i}}\left\{d_{i j}\right\}, & I_{S}^{i} \neq \emptyset \\ \max _{j \in I_{S}}\left\{d_{i j}\right\}, & I_{S}^{i}=\emptyset \end{array}\right.δi​={minj∈ISi​​{dij​},maxj∈IS​​{dij​},​ISi​​=∅ISi​=∅​

  对于非局部密度最大点,计算距离δi\delta_{i}δi​实际上分两步 :

  • 找到所有局部密度比iii点高的点;
  • 在这些点中找到距离iii点最近的那个点jjj,iii和jjj的距离就是δi\delta_{i}δi​的值。

  对于局部密度最大点,δi\delta_{i}δi​实际上是该点和其他所有点距离值的最大值。

取得的效果?

  依据上述决策图进行定性分析,结合主观判断才得到最终的结果。可以看到聚类中心为1和10。26、27、28为离群点(outlier)。

参考链接

  论文链接:http://sites.psu.edu/mcnl/files/2017/03/9-2dhti48.pdf

  代码实现:https://github.com/lanbing510/DensityPeakCluster

我的微信公众号名称:深度学习先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究深度学习、强化学习、机器博弈等相关内容!期待您的关注,欢迎一起学习交流进步!

【Science】颠覆三观的超强聚类算法相关推荐

  1. Science上发表的超赞聚类算法

    论文. Clustering by fast search and find of density peak. Alex Rodriguez, Alessandro Laio 参考链接:Science ...

  2. Science上聚类算法论文——Clustering by fast search and find of density peaks翻译稿

    通过快速寻找和找到密度高峰进行聚类 Alex Rodriguez and Alessandro Laio 聚类分析旨在依赖所要聚类元素之间的相似度以期将他们分成不同的类.该方法的应用领域范围包括航空航 ...

  3. 如何正确选择聚类算法? | CSDN博文精选

    作者 | Josh Thompson 翻译 | 张睿毅 校对 | 王雨桐 来源 | 数据派THU(ID:DatapiTHU) 本文将介绍四种基本的聚类算法-层次聚类.基于质心的聚类.最大期望算法和基于 ...

  4. Kmeans聚类算法详解

    1. 前言 作为无监督聚类算法中的代表--K均值聚类(Kmeans)算法,该算法的主要作用是将相似的样本自动归到一个类别中.所谓的监督算法,就是输入样本没有对应的输出或标签.聚类(clustering ...

  5. python音频聚类_Python实现聚类算法AP

    1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者亲和力传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想是将全部数据点都 ...

  6. python 聚类算法包_Python聚类算法之DBSACN实例分析 python怎么用sklearn包进行聚类

    python 怎么可视化聚类的结果 science 发表的聚类算法的python代码 测试数据长什...说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的. 解决办法是把 ...

  7. 聚类算法小记(part1)--基于密度峰快速搜索的聚类算法

    学习笔记,仅供参考,有错必纠 文章目录 引言 DPC算法概述 例子 缺点 引言 2014 年 6 月 Science 发表了自动确定类簇数和类簇中心的新聚类算法 DPC (clustering by ...

  8. DBSCAN聚类算法初探(五)

    转自:http://blog.csdn.net/itplus/article/details/10088625 第一章  引言 第二章  预备知识 第三章  直接聚类法 第四章  K-means 第五 ...

  9. 聚类算法 距离矩阵_论文阅读9——AP聚类算法

    Affinity Learning for Mixed Data Clustering 论文提出了基于混合对数据进行聚类的学习框架,具体研究内容包括:1)如何处理具有混合类型属性的数据.2)如何学习数 ...

  10. 聚类算法实践——PCCA、SOM、Affinity Propagation

    转载自:http://www.itongji.cn/article/0R52E22013.html 这篇日志是这个系列里算法部分的最后一篇,关注的是几个相对另类一点的聚类算法:PCCA.SOM和Aff ...

最新文章

  1. ***PHP 遍历数组的方法foreach
  2. 浅谈机房常遇问题及解决方案
  3. 5.20打卡 equals()方法与“==”的区别
  4. Hql 中 dao 层 以及daoimpl 层的代码,让mvc 模式更直观简洁
  5. TypeScript 发布 3.4 首个 RC 预览版
  6. UPC2018组队训练赛第六场
  7. 电子商务应用课程知识整理 第一章-电子商务概述与类型
  8. 视频|每日CeBIT:沃森机器人走进生活、三星无线很便利
  9. 游标sql server_SQL Server游标教程
  10. Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
  11. navision系统和sap区别_上海生产管理EPR系统和SAP系统有什么不同,我们应该选择哪个?...
  12. linux c 宏 文件名,C语言标准宏获取文件名、行号、函数名的方法以及#和##的用法...
  13. 利用linux内核代码玩转c链表
  14. Redis 连接命令
  15. 假设检验实验和拟合优度检验练习题
  16. Qt5之图形视图框架(一)
  17. xp系统dns服务器异常,电脑dns异常怎么修复,电脑dns异常修复方法介绍
  18. 一文搞懂 deconvolution、transposed convolution、sub-­pixel or fractional convolution
  19. max7456 C语言,如何使用8位单片机对16位INT型数据进行操作
  20. 【测试源】bbb_sunflower_1080p_30fps_normal.mp4 等下载地址

热门文章

  1. (原创)一个简洁通用的调用DLL函数的帮助类
  2. 如何用一头死驴赚到998元
  3. 价值50个亿的10句话
  4. php 图像居中裁剪函数,PHP 实现的自定义图像居中裁剪函数示例
  5. mysql存儲過程返回值_java如何获得mysql存储过程的返回值
  6. Security+ 学习笔记56 增强隐私保护的技术
  7. Linux vsFTPd服务详解——本地用户登录实战
  8. Windows10安装Gooey
  9. Django 2.1.3 文档
  10. Python游戏开发! Mac完美安装pygame