【论文翻译】Clustering categorical data in projected spaces

Clustering categorical data in projected spaces

摘要

分类问题已经得到了广泛的研究,但是现有的方法还存在以下限制:

  1. 难以在高维空间测量低维度集群
  2. 缺乏识别每个集群相关维度的自动机制
  3. 缺乏异常值检测机制
  4. 依赖于一组需要适当调整的参数

我们努力提出一种用于高维分类数据的全自动投影聚类算法,它能够在单一框架中面对上述四个问题。方法包含两个阶段:

  1. 异常处理
  2. 投影空间的聚类

算法的第一阶段是基于概率的方法,利用beta混合模型以一种系统的方式从数据集中识别和消除异常对象。在第二阶段,聚类过程是基于一个新的质量函数,允许识别嵌入在高维空间的低维投影聚类,而不需要用户设置任何参数。我们的建议的适用性是通过使用合成和真实数据集的实证研究来证明的。

一、介绍

低维数据聚类已经进行了深入的研究,但是高维数据无论是准确性还是效率方面都有可能出现问题。这是因为高维数据的稀疏性使得集群不太可能在全维空间中存在。在一些应用中,不同的集群可能存在于不同维度跨越的不同子空间中。
传统聚类算法在处理高维数据集时遇到的困难激发了投影聚类的概念,在高维数据集中,不同的数据对象组可能沿着不同的维集相互关联。这种算法产生的聚类被称为“投影聚类”。投影簇是数据点的子集SP和维度的子空间SD,因此SP中的点在SD中紧密聚集。注意投影聚类算法并不仅仅局限于识别SP和SD集合。投影聚类算法还应该能够识别出一组离群点,根据定义,这些离群点不存在于聚类中。
为了阐明投影聚类的概念,图1展示了一个由10D空间中3000个数据点组成的数据集。在这个图中,每个投射的簇用灰色阴影表示,非簇的背景是白色的。从图1可以看出,数据点x1,…,x2400分为四个集群,每个集群都有自己的相关维度。
在这里插入图片描述
第一个簇是由couple (SP1, SD1) = ({x1,…x550}, {A1, A2})。
尽管有很多先进的算法,每一种方法存在以下四种缺陷中的一种或多种:

  1. 现有的绝大多数方法在识别嵌入在高维空间中的低维投影簇时遇到困难。现有的大多数算法可能在最有趣的实际情况下效果较差:投影簇的相关属性很少。
  2. 这里缺乏系统的机制来确定与每个集群相关的维度的子空间。
  3. 虽然聚类可能隐藏在不同的子空间中,高维数据集的特征还包括存在不能很好聚类的离群点。
  4. 许多现有的方法依赖于一些用户参数来指导聚类过程。

这些问题已经被单独处理但是不能很好的适应整个框架,本文提出了一种完整系统的投影聚类算法PROCAD(投影聚类分类算法),由两个阶段组成:离群值处理和投影空间中的聚类。该算法能够发现嵌入在高维空间中的低维投影簇,以及一组可能的离群值。
综上所述,本文的贡献如下:

  1. 提出了一种全自动识别高维分类数据中异常值的方法。假设离群值与给定数据集中的其余数据点不一致,我们定义一个函数来评估对象是离群值的程度。然后,基于估计的“离群值”的程度,我们设计了一种概率方法来从可能存在于一个簇内的数据点区分离群值。
  2. 我们提出了一种新的聚类质量函数来聚类投影空间中的高维分类数据。该函数的优化基于迭代聚类过程,不需要用户设置任何参数,例如假设的聚类数量。
  3. 我们提出了一种系统的方法来识别与每个集群相关的维度。从相关维度的基本性质出发,即区分集群成员的有效性,我们定义了所谓的相关性指标,用于度量维度与集群的相关性。该指标为聚类的每个维度赋予一个相关性值,以指示如何区分聚类的相关维度和不相关维度。

本文的其余部分组织如下:在第2节,我们提供了相关工作的概述。第3节介绍了PROCAD方法在投影空间中聚类高维分类数据。第四节介绍了在一些合成和真实数据集上的实验和性能结果。最后,在第五节给出了我们的结论。

二、相关工作

目前已有文献提出了几种有效的高维数值数据聚类方法。
MWKM,一种用于高维分类数据的混合属性加权算法,它是k-modes算法的扩展。MWKM为每个维度计算两个权重,并使用权重值来标识对不同集群进行分类的重要维度的子集。该算法需要用户设置集群的数量。存在参数依赖性问题。
Guha等人(2000)引入了ROCK算法,该算法通过相邻数据实例的交集大小来衡量两个数据实例之间的相似性。如果数据集中的两个元组之间的Jaccard系数的值大于某个预定义的阈值θ,则说它们是邻居。为了对分类数据进行聚类,该算法基于共享邻居的数量启发式地优化聚类质量函数,以凝聚的分层方式。Guha等人(2000)的实验表明,ROCK增强了基于距离的聚类算法的结果。然而,该算法依赖于两个参数,即相似阈值θ和聚类数,这使得在实际应用中难以进行适当的调整,限制了算法的适用性。
CACTUS算法、…

三、PROCAD方法

3.1 问题描述

为了描述我们的问题,我们引入一些符号和定义。考虑一个集合 A = {A1,A2,…,Ad} d 个属性,各自对应DOM1,DOM2,…DOMd d 个领域。设DB = {x1, x2,…,xN}是定义在A上的N个数据点的数据集,其中xi= (xi1, xi2,…,xid)。每个xij(i = 1,…N;j = 1,…,d)对应数据点xi属性Aj的值。在本文中,我们假设每个数据点xi要么属于一个投影簇,要么属于一个离群值集。用K表示DB中的簇数。投影簇Cs, s = 1,…, K被定义为一对(SPs, SDs),其中SPs是DB数据点的子集,SDs是a维度的子集这样SPs每个维度上的点的投影就紧密地聚集在一起。SDs中的维度称为集群Cs的相关维度,其余的维度即A-SDs称为集群的无关维度。SDs的基数用ds表示,其中ds≤d, ns表示SPs集合的基数,其中ns< N。
PROCAD专注于发现满足以下特性的投影集群:

  1. 每个投影簇Cs中,沿着SDs中每个维度投影的SPs中的所有数据点都应该具有大量共同的分类值。
  2. 在投影簇Cs中每个SDs集合应该包含足够数量的相关维度,以区分集群Cs的成员与其他数据点。
  3. 维数{SDs} s=1,…,k可能是相交的,可能有不同的基数。

第一个特性的主要原因是,我们主要关注于发现在SDs的每个维度中必须包含大量同质分类值的投影簇。这里,我们所说的同质性是指SDs中每个维度的所有投射分类值都必须以高频率出现。投影簇Cs因此是一组元组,其中SPs的每个维度的数据点的投影与Cs之外的其他数据点相比具有更高的同质性。第二个特性是基于相关维度的基本原则,有助于区分集群成员。因此,为了使维度与集群相关,不仅集群成员的投影出现的频率要高,而且它们还必须尽可能特定于集群。这是因为,如果在一个特定的维度内,一个特定的分类值在许多簇中以更高的频率出现,这个维度不太可能帮助区分簇和母簇。第三个特性是显而易见的,在高维集合中,集群可能隐藏在不同维度组合组成的不同子空间中。
在这里插入图片描述

为了说明这一点,考虑图2所示的数据集。根据刚才讨论的投影聚类的属性,可以期望从聚类中产生两个投影聚类。第一个簇c1由一对(SP1, SD1) = ({x1,…,x5}, {A4, A5}),而第二个簇c2定义为(SP2, SD2) = ({X6,…{A2, A4, A7})。从图2可以看出,分组在每个簇中的数据点在各自相关维度上共享大量的分类值。例如,在a4和A5维度上投影的所有数据点的分类值B和N是共同的,而在C2中分组的所有数据点在A2、a4和A7维度上投影的分类值C、T和K是共同的。另一方面,虽然维度a9包含在两个簇中都出现频率很高的类别值H,但它并不被认为是C1和C2的相关维度。这是因为分类值H对数据集中的所有点都是通用的,因此与A2、A4、A5和A7相比,A9无助于区分集群成员。
为了发现投影簇,我们的算法分为两个阶段:

  1. 异常处理:这一阶段的目标是检测离群点,并从数据集中消除它们。像大多数聚类算法一样,PROCAD认为离群点是不存在于任何聚类中的数据点.
  2. 投影空间的聚类:第二阶段的目标是确定集群及其相关的维度。聚类过程被视为一个优化问题,其目标是最大化一个质量函数,该函数允许在投影空间中聚类高维分类数据。

请注意,我们建议的方法与任何特定于数据的参数无关,比如集群的数量或频繁属性值的出现阈值。下面将详细描述PROCAD的两个阶段。

3.2 离群处理

异常值可以定义为一组数据点,这些数据点与其余数据点本质上是不同的,异常的,或不一致的。几乎所有现有的聚类算法,包括我们的算法,都认为离群点是不位于聚类中的点,应该捕获并消除,因为它们会损害聚类过程。总结之前一些研究的建议,在分类空间中,离群点是指与属于簇的点相比,在所有维度上具有较少的属性分类值的点。也就是说,在投影聚类的情况下,离群点的每个属性分类值在数据集的所有维度上都是不常见的,而属于聚类的点有一些分类值,这些分类值在聚类的相关维度上出现的频率更高。

有了这种直觉,我们现在将提出一种系统的方法来识别高维分类数据中的异常值。假设在一个分类数据集中,一个离群点的每一个分类值都是非常罕见的,我们设计了一种方法来估计我们称之为每个点的离群值。离群值的数据对象得分较小,而属于集群的数据对象得分较大。然后,根据估计的得分,提出了一种概率方法来自动区分集群内的数据点中的异常值。
数据点xi(i = 1,…,N)的离群得分OS(xi)定义为:
在这里插入图片描述
其中count(xij, Aj)表示xij出现在Aj中的次数,|DOMj|为Aj的属性域的基数。OS(xi)定义为权重Wi的对数。如(2)所述,根据每个类别值xij在维数Aj的出现频率计算Wi,对数据集所有维数求和。(2)括号内的值越大,xij在Aj共享的值越多。另一方面,ajj中的罕见类别值会接收到一个较小的count(xij, Aj) /|Domj|值。因此,与其他具有在所有维度上很少出现的分类值的数据点相比,具有非常共同的分类值的点将获得较大的Wi值。请注意,我们在(2)中使用了平方幂,以便偏爱属于集群的点(即共享大量分类值的点)。因此,对于一个潜在的离群值,与属于一个集群的数据点相比,它将是最小的。
最后,为了估计每个数据点的离群得分,我们使用对数函数,如(1)所述。

3.2.1 自动识别离群值

现在让我们关注如何基于OS(xi)从属于集群的点中自动区分离群值。OS(xi)的值的不同之处在于,离群值与属于集群的点相比具有相对较小的值。有限混合模型通常用于分析这类数据,具体来说,估计的OS(xi)可以被认为来自几个潜在的概率分布。每个分布都是代表OS(xi)值接近的数据点的混合模型的一个组成部分,所有的组成部分都以混合的形式组合成一个综合模型。在本文中,我们建议使用beta混合模型将离群分数划分为若干个分量,以便能够识别最小的分数。
使用beta分布的主要原因是它的形状灵活性。由于beta分布是在紧凑支持[0,1]中定义的,因此OS(xi)值在0和1之间标准化,而不改变主要统计属性。设yi, i = 1,…,N为标准化得分。形式上,我们期望{yi}遵循这种形式的混合密度
在这里插入图片描述

fl(·)是第l个beta分布,p表示混合物中组分的数量,α和βl(αl,βl> 0)是第l个分量的形状参数,ϑl(l = 1,…, p)是混合系数具有如下限制:Vi > 0 for l = 1,…,p 并且 Vl之和为1。
第l个分量的密度函数由下式给出:
在这里插入图片描述
其中 Γ (·)是gamma函数由下式给出:
在这里插入图片描述
一种常用的估计beta分量的参数αl和βl的方法是极大似然法,第l个分量的似然函数定义为:
在这里插入图片描述
其中Nl为第l个组件的大小。似然函数的对数由给出:
在这里插入图片描述
为了找到最大化似然函数的αl和βl的值,我们对这两个参数中的每一个微分log(Lfl(αl,βl)),并使结果等于零:
在这里插入图片描述
使用混合分布产生了一个灵活的模型来描述边远分数的分布。为了形成这样的模型,我们需要估计p,组件的数量,以及每个组件的参数。指定组件p的数量的一种流行方法是将p从1增加到p_max,并在每次运行中计算某些性能度量,直到获得一个分区为最优数量的组件。为此,我们实现了一个标准的两步流程。在第一步中,我们计算了在p的取值范围内混合物参数的最大似然值(从1到p_max,混合物中组分的最大数目)。第二步包括计算相关的准则和选择优化准则的p值。各种各样的方法被提出来估计数据中的成分的数量。在我们的方法中,我们使用惩罚似然准则,称为贝叶斯信息准则(BIC)。
在这里插入图片描述
其中Lp是所调查模型在最大似然解处的似然对数,Np是所估计参数的数目。使BIC§最小的分量数被认为是p的最优值。
通常,分布参数的最大似然估计使用期望最大化(EM)算法。该算法需要每个组件的初始参数。由于EM高度依赖于初始化,通过聚类算法来执行初始化将会很有帮助。为此,我们实现了模糊C-Means(fcms)算法划分集合{yi}。基于这一划分,我们可以估计每个构件的参数,并将它们作为EM算法的初始参数。算法1总结了混合物中组分数量的估算过程。
在这里插入图片描述
现在让我们关注p_max值的选择。基于对不同数据集的大量实验,我们发现混合物中最优成分的数量在2到3之间变化。这一结果可以解释为,离群值分数提供了一个相对的衡量标准,在这个标准上离群值很容易从属于集群的点中区分出来。这种离群分数值之间的相对性概念使得选择p_max相当简单。基于此,我们认为p_max = 3在一般情况下是一个实用的选择。但是,读者应该注意到p_max的取值不限于3,用户可以选择其他值。但是,设置p_max > 3的值会不必要地增加执行时间。因此,我们建议使用p_max = 3作为默认值。

3.2.2 离群值处理程序总结

一旦确定了最优成分数量,我们就可以利用EM算法的结果来推导出一个关于每种成分在混合物中的隶属度的分类决策。为了确定异常值,我们感兴趣的是对应于yi最小值的beta分量。因此,与该组件的一组值相关联的数据点对应于离群值。被识别的离群值从DB中丢弃并存储在集合OUT中。因此,PROCAD的第1阶段产生一个精简的数据集RDB,大小为M = N−|OUT|。我们消除异常值的方法在算法2中描述。

3.3 投影空间聚类

PROCAD第2阶段的主要重点是从RDB中识别预测的集群。寻找投影的集群有两个问题:我们必须发现集群,并找到每个集群存在的适当维度集。这个“先有鸡还是先有蛋”的问题可以分两步来解决。在第一步中,我们使用基于新的聚类质量函数的迭代聚类方法对数据点进行聚类。然后,根据第一步得到的聚类,第二步对识别出的聚类进行相关维度的选择。下面,我们描述我们的聚类方法,然后为每个聚类设计一种自动选择相关维度的方法。
在投影空间中聚类分类数据
在这里插入图片描述

3.3.1 聚类方法

我们的目标是设计一种聚类方法,将数据集RDB划分为集合C = {C1,…, CK}K个簇。为此,我们首先开发一个原则质量函数,表示质量C,用于指导寻找聚类C。然后,我们描述一个聚类过程,迭代扫描数据集以最大化所提出的聚类质量函数为目的分配每个数据点。质量©定义为:
在这里插入图片描述
其中|Cs| / M表示属于Cs的数据点的比例,Quality(Cs)表示Cs的质量。
原则上,如前所述,如果一个投影的聚集Cs包含足够多的选择维度,那么它的质量就可能很好,每个维度中都有大量的数据点共享大量的分类值。因此,一个类别数据的投影簇可以被理解为在其每个选择维度上定义的特别紧凑的区间区域。在这里,紧密性的概念与特定的属性分类值组沿着集群的选定维度投射的频率有关:这类组的频率越高,集群就越强。除此之外,一个cs簇的所有选择的维度上的投影的类别值应该尽可能特定于Cs,以便cs能从C中的其他簇中区分出来。这一点与分离的概念有关。在这种设置下,可以通过调查数据集的每个维度中类别值的出现情况来计算紧性和分离度,以衡量Cs的质量。基于这种直觉,我们将质量定义为:
在这里插入图片描述
其中Comp(Cs, Aj)为cs投影数据点沿Aj的紧度,Sep(Cs, Aj)为cs投影数据点沿Aj与其他非cs投影数据点沿Aj的分离程度。质量(Cs)是紧凑性(通过Comp(Cs, Aj))和分离性(通过Sep(Cs, Aj))之间的权衡,对所有属性Aj和属于Cs的对象xi属于Cs。Comp(Cs, Aj)和Sep(Cs, Aj)背后的原理及其公式如下。

经过一系列我不想看的操作之后:公式长这样
在这里插入图片描述
聚类问题的正式定义如下:给定一个分类数据集RDB,找到使质量©最大化的聚类C。为了找到聚类C,我们采用了一种启发式迭代方法,它基于在优化聚类质量函数的基础上动态地重复创建和消除聚类的一般原则。具体来说,可以实现算法3规定的步骤来最大化质量。
在这里插入图片描述
从算法3可以看出,为了使我们的聚类质量函数最大化,我们分两步进行:(1)初始化步骤的主要目标是建立一个初始集群基于质量© (2)迭代步骤,其主要目标是改善的第一步的结果以便找到集群C。具体地说,在初始化步骤中,我们对数据集进行第一次扫描,为了将 RDB中的每个数据点xi分配到一个现有的集群(初始为none)或创建一个新的集群,当前聚类C的质量最大化©。在迭代步骤中,以迭代的方式细化聚类分配,直到聚类结果的质量©没有任何改进。具体地说,我们将xi 移到现有的或新的集群中(它可能会留在原有的集群中),以最大化质量©。任何生成的空集群在移动之后都会被删除。如果集群C保持稳定(也就是说,在对整个数据集的前一次扫描中,没有数据点从一个集群重新分配到另一个集群),迭代过程将终止。否则,开始一个新的pass。这种迭代过程的一个显著特征是,聚类是以一种完全系统的方式执行的。这主要是由于所提出的质量函数允许搜索聚类C,而不需要用户设置任何参数,如出现频率阈值或预定义的聚类数量。

3.3.2 选择集群的相关维度

通过算法3获得的每个簇都有维度,每个簇的成员共享大量同构分类值。这些集群已经是计划中的集群,我们已经开发了以下策略来检测每个集群的相关维度。具体来说,我们首先定义一个函数来度量每个维度与一个集群的相关性程度。然后,根据估计的相关度,提出了一种自动识别聚类相关维度和不相关维度的方法。
为了确定一个维度在多大程度上有助于算法3得到的簇的形成,我们为簇Cs中的每个维度定义了一个相关性索引R(Aj, Cs)。R(Aj, Cs)的定义是基于一个普遍的原则,即相关的尺寸有助于形成紧密且分离良好的聚簇。在前面的小节中,我们已经证明了紧性在我们的研究中是由形式为Pr(Aj = xij|Cs)2.δ(xij, Aj)的表达式反映出来的。在这种情况下,维度Aj在集群Cs的索引R(Aj, Cs)可以定义为:
在这里插入图片描述
维度Aj与集群Cs的相关性,是由Cs投射的簇成员紧凑度之间的组合的平均值来衡量的,以及基于维度Aj的C簇与其他簇的分离程度。指标R(Aj, Cs)较高,说明维度Aj包含一个特定的分类值,该值在Cs中出现的频率高于其他地方。另一方面,如果R(Aj, Cs)的值较小,则表明Aj要么包含分布稀疏的分类值,要么包含某个特定的分类值在Aj中出现得太频繁了。这里可以看出,相关性指数的值越大,表明维度与聚类的相关性越强。
一旦Aj 估计了每个维度的相关性指标R(Aj, Cs),我们就转向如何识别与Cs相关维度的子空间SDs集合的问题。为此,我们有效地利用了R(Aj, Cs)的估计值。如前所述,cluster的相关维度R(Aj, Cs)值较大,而不相关的维度R(Aj, Cs)值较低。为了确定Cs中SDs的集合,我们对R(Aj, Cs)值较大的所有维度感兴趣。因此,我们建议使用一种基于类间惯性的方法来分离R(Aj, Cs)的大小值。
在这里插入图片描述
设Rs= {R(A1, Cs),…, R(Ad, Cs)}为Cs中所有维的所有R(Aj, Cs)值的集合。我们的目标是将rs分为Esand Fs两组,其中Es包含R的最高值(Aj, Cs), Fs包含低值。这是通过将分区计算成两组来实现的,这两组在所有可能分区的子集上具有最大的类间惯性。为此,我们实现了算法4中描述的模型。根据这个划分过程的结果,我们选择与Es中所有R(Aj, Cs)值相关联的维。所选尺寸对应Cs的相关尺寸。在图5中,我们使用图2中的数据集来说明这种方法。其中,图5a、b分别为图2所示数据集簇C1和簇C2中各维度的计算结果R(Aj, C1)和R(Aj, C2)。如图5所示,有一个明确的截止点,允许我们为每个簇选择指数最高的维度。c1的选择尺寸为a4和A5,而C2的选择尺寸为A2, A4和A7。

3.3.3 投影聚类程序的总结

算法5总结了PROCAD的第二阶段。本算法所描述的步骤可用于有效地识别构成每个簇Cs的数据点的SPs集合及其相关维度的SDs集合。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值