博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Canopy聚类算法
阅读量:6221 次
发布时间:2019-06-21

本文共 1280 字,大约阅读时间需要 4 分钟。

hot3.png

一、概念    

与传统的聚类算法(比如K-means)不同,Canopy聚类最大的特点是不需要事先指定k值(即clustering的个数),因此具有很大的实际应用价值。与其他聚类算法相比,Canopy聚类虽然精度较低,但其在速度上有很大优势,因此可以使用Canopy聚类先对数据进行“粗”聚类,得到k值后再使用K-means进行进一步“细”聚类。这种Canopy+K-means的混合聚类方式分为以下两步:

 Step1、聚类最耗费计算的地方是计算对象相似性的时候,Canopy聚类在第一阶段选择简单、计算代价较低的方法计算对象相似性,将相似的对象放在一个子集中,这个子集被叫做Canopy ,通过一系列计算得到若干Canopy,Canopy之间可以是重叠的,但不会存在某个对象不属于任何Canopy的情况,可以把这一阶段看做数据预处理;

 Step2、在各个Canopy 内使用传统的聚类方法(如K-means),不属于同一Canopy 的对象之间不进行相似性计算。

      从这个方法起码可以看出两点好处:首先,Canopy 不要太大且Canopy 之间重叠的不要太多的话会大大减少后续需要计算相似性的对象的个数;其次,类似于K-means这样的聚类方法是需要人为指出K的值的,通过Stage1得到的Canopy 个数完全可以作为这个K值,一定程度上减少了选择K的盲目性。

二、聚类精度

      对传统聚类来说,例如K-means、Expectation-Maximization、Greedy Agglomerative Clustering,某个对象与Cluster的相似性是该点到Cluster中心的距离,那么聚类精度能够被很好保证的条件是:

      对于每个Cluster都存在一个Canopy,它包含所有属于这个Cluster的元素。

      如果这种相似性的度量为当前点与某个Cluster中离的最近的点的距离,那么聚类精度能够被很好保证的条件是:

      对于每个Cluster都存在若干个Canopy,这些Canopy之间由Cluster中的元素连接(重叠的部分包含Cluster中的元素)。

      数据集的Canopy划分完成后,类似于下图:

三、Canopy算法流程

      (1)、将数据集向量化得到一个list后放入内存,选择两个距离阈值:T1和T2,其中T1 > T2,对应上图,实线圈为T1,虚线圈为T2,T1和T2的值可以用交叉校验来确定;

      (2)、从list中任取一点P,用低计算成本方法快速计算点P与所有Canopy之间的距离(如果当前不存在Canopy,则把点P作为一个Canopy),如果点P与某个Canopy距离在T1以内,则将点P加入到这个Canopy;

      (3)、如果点P曾经与某个Canopy的距离在T2以内,则需要把点P从list中删除,这一步是认为点P此时与这个Canopy已经够近了,因此它不可以再做其它Canopy的中心了;

      (4)、重复步骤2、3,直到list为空结束。

转载于:https://my.oschina.net/liangtee/blog/125407

你可能感兴趣的文章
TKoa 1.0.1 发布,TypeScript 版的 Node.js Koa 框架
查看>>
使用Free Spire.Presentation生成PowerPoint文件
查看>>
PureScript 0.12.3 发布,静态类型语言
查看>>
Derek解读Bytom源码-Api Server接口服务
查看>>
如何优雅地实现Redis命令setbits与getbits
查看>>
Round Robin 轮询调度算法
查看>>
网络测速插件speedtest
查看>>
使用ABAP编程实现对微软Office Word文档的操作
查看>>
Kafka 分布式消息系统
查看>>
spring源码-开篇
查看>>
Python中的魔法方法
查看>>
MIT识物机器人:“秒懂”物体,过目不忘,不用标记数据!
查看>>
【Web API系列教程】3.10 — 实战:处理数据(发布App到Azure App Service)
查看>>
脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
查看>>
【Web Audio API】 — 那些年的 web audio
查看>>
深入理解CAS算法原理
查看>>
构建多页的前后分离web项目(alpaca-spa的视图用法)
查看>>
Ubuntu笔记--文件关联软件
查看>>
2017 年终总结 —— 在路上
查看>>
[20180627]truncate table的另类恢复.txt
查看>>