快速信息论聚合协同聚类算法解析
1. 引言
聚类是一种广泛应用的技术,旨在将相似的对象分组在一起,在数据总结、分类和异常检测等方面有着众多应用。通常,输入数据以双模矩阵的形式呈现,例如客户 - 产品购买数据、文档 - 术语出现数据、用户 - 网页浏览数据等。传统聚类方法仅关注单模,即基于数据矩阵的第二维相似度对第一维进行聚类,如基于术语相似度进行文档聚类。
而协同聚类(co - clustering),即同时对大型矩阵的行和列进行聚类,有着更为广泛的应用,如微阵列数据分析、市场篮子分析、(二分)图聚类等。协同聚类的主要优势在于,对行和列的联合聚类能够全面且简洁地总结数据中两种对象之间关系的底层结构。
本文提出了一种快速的聚合层次协同聚类技术 CoClusLSH,该技术与输入矩阵大小呈线性扩展。其动机在于,聚合聚类技术能够有效缓解聚类中的分辨率限制问题,更有效地找到较小规模的聚类。该算法利用局部敏感哈希(LSH)思想,快速找到最相似的对象进行合并,并迭代构建行和列的聚类层次结构。两个层次结构以交替的方式构建,使两种对象类型的聚类相互交织。
在聚类中,一个主要挑战是确定“正确”或“合适”的聚类数量。在层次聚类中,这一挑战转化为选择层次结构的一个级别进行“切割”,其子树决定最终的聚类。对于用户来说,尤其是处理大型数据集时,指定输出聚类的数量往往是一项艰巨的任务。本文通过制定基于编码输入矩阵所需比特数的信息论协同聚类目标成本函数,来解决这一挑战。目标是找到一种聚类方式,使成本尽可能低。在构建聚类层次结构的过程中不断更新成本,只有当合并能降低成本时才进行合并。当无法再通过合并降低目标成本时,算法终止,此时的子层次结构数量自动给出了行和列的聚类数量。
超级会员免费看
订阅专栏 解锁全文
3755

被折叠的 条评论
为什么被折叠?



