什么是多关系聚类?
多关系聚类是基于数据对象之间的相似性,利用多个关系中的信息,将数据对象划分成一组聚类的过程。在本节中,它将介绍 CrossClus(具有用户指导的跨关系聚类),这是一种多关系聚类算法,它探讨了如何在聚类中利用用户指导和元组 ID 传播来避免物理连接。
多关系聚类的一个主要挑战是不同关系中存在过多的属性,通常只有一小部分属性与特定的聚类任务相关。
考虑计算机科学系数据库。它可以用来对学生进行聚类,属性涵盖许多不同方面的信息,例如学生所修课程、学生的出版物、学生的导师和研究小组等等。
用户通常只对使用某些方面的信息对学生进行聚类感兴趣(例如,按研究领域对学生进行聚类)。用户通常对其应用程序的要求和数据语义有很好的理解。因此,用户可以在简单的查询结构中进行管理,并可以用来提高高维多关系聚类的效率和质量。
CrossClus 接受包含目标关系和一个或多个相关属性的用户查询,这些属性共同指定用户的聚类目标。CrossClus 定义多关系属性。多关系属性 A’ 由连接路径 Rt ⋈ R1 … . ⋈ Rk 和 Rk 的属性 A,以及可能的聚合运算符(例如,平均值、计数、最大值)定义。
A’ 正式表示为 [A’. 连接路径, A’ .attr, A’ .aggr],其中 A’. aggr 是可选的。多关系属性 A’ 或者是分类特征,或者是数值特征,这取决于 Rk. A 是分类特征还是数值特征。如果 A’ 是分类特征,则对于目标元组 t,t. A’ 表示与 t 可连接的 Rk 中元组的值分布。
在多关系聚类过程中,CrossClus 需要跨多个关系搜索相关属性。CrossClus 必须解决搜索过程中的两个主要挑战。首先,目标关系 Rt 通常可以通过许多不同的连接路径与每个非目标关系 R 连接,并且 R 中的每个属性都可以用作多关系属性。
在这个巨大的搜索空间中,不可能进行任何形式的穷举搜索。其次,在大量的属性中,有些属性与用户查询相关(例如,学生的导师与她的研究领域相关),而许多其他属性则无关(例如,学生的同学的个人信息)。