聚类是试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。通过这样的划分,每个簇可能对应于一些潜在的概念(类别)。但是这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需要由使用者来把握和命名。
对于数据 D D D={ x 1 , x 2 , . . . . , x m x1,x2,....,xm x1,x2,....,xm},假定通过聚类给出的簇划分为C={ c 1 , c 2 , . . . , c k c1,c2,...,ck c1,c2,...,ck},参考模型给出的簇划分为C*={ c 1 c1 c1*, c 2 c2 c2*,…, c s cs cs*}.相应的,令 λ λ λ, λ λ λ*分别表示与C和C*对应的簇标记向量。
集合SS包含了在C中隶属于相同簇且在C*中也属于相同簇的样本对
集合SD包含了在C中隶属于相同簇且在C*中隶属于不同簇的样本对,DS,DD同理
其中a+b+c+d=m(m-1)/2
有序属性和无序属性
有序属性: 能直接在属性上计算距离,如定义域为{1,2,3}的离散属性,“1”与“2”比较接近、与“3”比较远,这样的属性称为有序属性。
无序属性: 定义域为{飞机,火车,轮船},这样的离散属性则不能直接在属性上计算距离,称为无序属性。
无序属性的距离计算:VDM距离
其中mu,a表示在属性u上取值为a的样本数,mu,a,i表示在第i个样本簇中在属性u上取值为a的样本数,k为样本簇数。
混合属性的计算可利用闵可夫斯基距离和VDM结合
假设有nc个有序属性、n-nc个无序属性,不失一般性,令有序属性排列在无序属性之前,将闵可夫斯基距离和VDM结合即可处理混合属性:
当样本空间中不同属性的重要程度不同时,可以使用加权距离,下面为加权闵可夫斯基距离:
其中,权重 w w w i>=0(i=1,2,…n)表征不同属性的重要性,通常 w w wi之和等于1
9.4.1 k均值法(k-means)
给定样本集D={ x 1 , x 2..... , x x1,x2.....,x x1,x2.....,xm}针对聚类所得簇划分C={C1,C2,…,Ck}最小化平方差
其中 u u ui是簇Ci的均值向量,即Ci中所有样本的均值
以下列数据集为例,K-means算法过程如下:
有数据集可知,聚类簇数k=3
(1)随机从三个聚类簇中选取三个样本来作为初始向量值如 x 6 , x 12 , x 27 x6,x12,x27 x6,x12,x27
(2)计算数据集中每个样本点与 u u u1, u u u2, u u u3的距离,然后判别该样本点距离哪个簇的距离最近,即将该样本划分到这个簇中,如x1距离均值向量u1, u u u2, u u u3的距离分别是0.369,0.506,0.166,因此将该点归入簇C3中。经过第一遍考察后:
(3)从新划分的簇中求出新的均值向量
(4)重复步骤(2)(3)得到新的划分簇和均值向量,直到C1,C2,C3不在变化
9.4.2 学习向量化(LVQ)
与k均值算法类似,LVQ试图找到一组原型向量来刻画聚类结构,但与一般的聚类算法不同的是,LVQ假设的数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类。
以上面的数据集为例,其中令9-21号样本标记为 c c c2,其他样本标记为c1。假定q=5,即学习目标是找到5个原型向量 p 1 p1 p1, p 2 p2 p2, p 3 , p 4 , p 5 p3,p4,p5 p3,p4,p5,并假定其对应的类别标记分别为 c 1 , c 2 , c 2 , c 1 , c 1 c1,c2,c2,c1,c1 c1,c2,c2,c1,c1,对第q个簇可从类别标记为tq的样本中随机选取一个作为原型向量,例如书中p1的初始化向量为x5,则是因为p1的类别分类标记是c1,初始化向量则是从c1的标记样本中随机抽取的,LVQ算法的实现过程如下:
(1)初始化原型向量及学习率
(2)计算每个样本与初始化向量之间的距离,将该样本标记该初始化向量的标记并利用公式p’=p+学习率·(x-p)来更新原型向量。
(3)重复更新过程,直到满足条件。
9.4.3 高斯混合聚类
与k均值、LVQ用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型。
高斯混合聚类算法如下: