机器学习和数据挖掘聚类


 

如果我们在搜索引擎中搜索术语火星,我们将得到像星球火星巧克力,糖果和饮料集团这样的结果,这些结果在语义上是完全不同的。在发现的文档集中,有两个明显不同的集群。例如,谷歌仍然以非结构化的方式列出结果。如果搜索引擎将群集分开并相应地将它们呈现给用户会更好,因为用户通常只对其中一个群集感兴趣。

与监督学习相比,聚类的区别在于训练数据是未标记的。因此,缺少主管对数据的预构建。相反,寻找结构是整个聚类的重点。在训练数据的空间中,可以找到数据的累积,例如第 207 页的图 8.31中的数据。在聚类中,相邻点的距离通常小于不同聚类的点之间的距离。因此,为点进行合适的距离度量的选择,即对于要分组的对象和对于簇的选择,具有根本重要性。和以前一样,我们假设每个数据对象都由数字属性向量描述。

图片

8.31 简单

具有四个明显分离的簇的二维示例

 

1.    
距离指标

图片

因此为每个应用程序,各种距离度量对的距离限定d两个向量之间的Xÿř Ñ。最常见的是欧氏距离

 

ñ

dexy=

i = 1

xi yi2

距离平方的总和稍微简单一些

 

ñ

dqxy= xi yi2

i = 1

对于仅比较距离的算法,其等效于欧几里德距离(第 220 页的练习 8.19 )。还使用了前面提到的曼哈顿距离

ñ

dmxy= | xi yi |

i = 1

以及最大组件的距离

=∞

dxymax

= 1 n

| xiyi |

这是基于最大规范。在文本分类期间,两个向量相互之间的归一化投影,即标准化的标量积

XY

图片

| x | | y |

| |

经常计算,其中X是欧几里德范X。因为该公式是两个向量的相似性的度量,所以作为距离度量,反向

dxy= | x | | y |

s xy

可以使用,或><可以交换进行所有比较。在搜索文本时,属性x 1 xn的计算类似于朴素贝叶斯,作为向量x的组成部分,如下所示。对于包含50,000个单词的字典,值为xi

等于文本中第 i 个字典单词的频率。由于通常在这样的矢量中几乎所有分量都是零,因此在计算标量乘积期间,几乎所有求和项都为零。通过利用这种信息,可以显着加快实施(第 220页的练习 8.20)。

 

2.    
k-MeansEM算法

每当预先知道簇的数量时,就可以使用k均值算法。顾名思义,k簇是由它们的平均值定义的

值。首先ķ簇中点μ 1 μ ķ随机或手工initial-源化。然后重复执行以下两个步骤:

将所有数据分类到最近的群集中点重新计算群集中点。

图片

以下方案作为算法得出:

 

 

K MEANSx 1x nk

初始化 μ 1 μ ķ (例如随机地)

重复

分类X
1
X Ñ每个是最近的μ

重新计算 μ 1
μ ķ 直到在没有变化 μ 1
μ ķ 返回 μ 1
μ ķ

 

x 1 x l的簇中点μ的计算由下式完成

 

一世

μ = 1 x

i = 1

 

i = 1

对于两个类的情况,一个例子的执行如第209 页的图8.32 所示。我们看到在三次迭代之后,首先随机选择的类中心如何稳定。虽然该算法不能保证收敛,但它通常会很快收敛。这意味着迭代步骤的数量通常远小于数据点的数量。其复杂度为Ondkt,其中n是点的总数,d是特征空间的维数,t是迭代步骤的数量。

在许多情况下,提前提供课程数量的必要性造成了不方便的限制。因此,接下来我们将介绍一种更灵活的算法。

然而,在此之前,我们将提到EM算法,它是k-means的连续变体,因为它没有将数据牢固地分配给类,而是为每个点返回它属于的概率。各种课程。

 

图片

 

图片

图片

 

图片

 

图片

图片

图片

 

图片

图片图片图片

 

图片

 

图片图片

 

图片图片图片图片

 

图片

图片

图片

 

图片

图片

 

图片

 

图片图片图片

 

图片

 

图片图片图片

 

图片图片图片

 

图片

图片

图片

 

图片

图片

 

图片

 

图片

图片

图片

 

图片

图片图片图片

 

图片图片

 

图片图片

 

图片图片图片

 

图片

图片

图片

 

图片

图片

 

图片

 

图片

图片

图片

 

图片

图片图片图片

 

图片图片

 

图片图片

 

图片图片图片

 

图片

图片

 

图片图片图片图片

 

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

=

8.32 k-means,两个类( k 2)应用于30个数据点。最左边是具有初始中心的数据集,右边是每次迭代后的集群。经过三次迭代后,达到了收敛

 

在这里我们必须假设概率分布的类型是已知的。通常使用正态分布。EM算法的任务是确定的PA rameters(平均μ和协方差矩阵ΣI所述的ķ多维正态分布)为每个群集。与k-means类似,重复执行以下两个步骤:

|

期望:对于每个数据点,计算它属于每个聚类的概率 PCj × i

最大化:使用新计算的概率,重新计算分布的参数。

从而实现更柔和的聚类,这在许多情况下导致更好的结果。期望和最大化之间的这种交替给出了算法的名称。除了聚类之外,例如,EM算法用于学习贝叶斯网络[DHS01]

 

3.     分层聚类

 

图片

重复

H IERARCHICAL
C
LUSTERINGx 1x nk

在层次聚类中,我们从n个聚类开始,每个聚类由一个点组成。然后组合最近的邻居群集,直到所有点已经组合到单个群集中,或者直到达到终止标准。我们获得了该计划

 

初始化C 1 = { x 1 } Cn = { x n }

 

发现两个集群CJ与最小距离合并CJ

直到达到终止条件

返回(带有簇的树)

 

图片图片图片图片

 

8.33 在分层聚类中,每个步骤中组合具有最小距离的两个聚类

 

可以选择终止条件,例如,期望数量的簇或簇之间的最大距离。在图 8.33中,该算法被示意性地表示为二叉树,其中在每个步骤中从下到上,即在每个级别,连接两个子树。在顶层,所有点都统一为一个大型集群。

到目前为止还不清楚如何计算簇之间的距离。实际上,在上一节中,我们为点定义了各种距离度量,但这些度量不能用于群集。一个方便且经常使用的度量标准是两个簇CiCj两个最近点之间的距离:

 

= X

dminCiCjmin

Ç ÿ Ç Ĵ

dxy)。

 

因此,我们获得了最近邻算法,其应用如图 8.34 211 页所示。9 我们看到此算法生成最小生成树。10 该示例进一步表明,所描述的两种算法产生了完全不同的聚类。这告诉我们,对于具有未明确分离的聚类的图形,结果在很大程度上取决于算法或所选择的距离度量。

为了有效地实现该算法,我们首先创建一个邻接矩阵,其中保存所有点之间的距离,这需要On 2 时间和内存。如果簇的数量没有上限,则循环将迭代n次,并且渐近计算时间变为On 3

要计算两个星团之间的距离,我们还可以使用两个最远点之间的距离

 

= X

dmaxCiCjmax

Ç ÿ Ç Ĵ

dxy

 

 

图片

9 不要将最近邻算法与Sect的分类最近邻算法混淆。8.3

10 最小生成树是一个非循环的无向图,边长最小。

 

图片

 

图片图片图片图片图片图片图片图片图片

 

8.34最近邻算法适用于第 209页图 8.32中不同级别的数据,分别为12,6,3,1个簇

 

并获得最远的邻居算法。或者,使用的中点CiCj = d μi μj)的距离。除了这里介绍的聚类算法,还有很多其他的,对此我们直接读者[DHS01]

进一步研究。

 

图片


 


ETC注销ETC充值ETC客服ETC扣费查询


ETC发行合作

发表回复