Finding Multi-Density Clusters in Non-Stationary Data Streams Using an Ant Colony with Adaptive
前言
本文简单介绍算法“Finding Multi-Density Clusters in Non-Stationary Data Streams Using an Ant Colony with Adaptive”,从算法的切入点以及算法流程进行阐述。
一、算法的切入点
目前的基于密度聚类的算法需要输入的参数都是全局性的参数,没有针对性,所以无法检测到不同密度的聚类。因为全局参数的存在会将所有的集群先限制到一个统一的密度水平;
二、算法步骤
2.1 创建初始集群
1、第一个数据点作为第一只蚂蚁,该蚂蚁建立第一个巢;
2、随后的蚂蚁可以加入已有的巢穴(根据同每一个巢穴的相似性)或者自己建立一个巢穴。
3、蚂蚁在评估每一个巢穴时,会记住与每个巢的相似性(存储在信息素矩阵中);当有一只蚂蚁加入/形成一个巢穴时,更新选定的巢穴同其他巢穴的相似性;
4、当所有的蚂蚁都找到对应的巢穴后,每个巢会形成一个微簇,信息素矩阵存储着微簇之间的相似性;
2.2 合并集群
1、找到包含数据点最多的集群C作为种子;
2、将根据邻域阈值(lamda),找到与该种子的相似度高的巢n(如果巢小于成为微簇的条件,视为异常值);
3、Lamda参数会自动调节,找到n后,再找到与n最相似的邻居neighbour的相似度来调整参数lamda;
4、将n和neighbour均合并到C中;
5、如果没有符合条件的巢可以加入到C中,将C中的巢进行最终的合并,形成一个集群;
6、不断迭代这个过程;
总结
本文简单介绍了算法“Finding Multi-Density Clusters in Non-Stationary Data Streams Using an Ant Colony with Adaptive”,从算法的切入点以及算法流程进行了阐述。如果有不足之处或者表述不当的地方欢迎大家指正。