2024年4月26日发(作者:华为招聘官网校园招聘2021)
ROCK 聚类算法
ROCK (RObust Clustering using linKs) 聚类算法是一种鲁棒的用于分类属性的聚
类算法。该算法属于凝聚型的层次聚类算法。之所以鲁棒是因为在确认两对象(样本点/簇)
之间的关系时考虑了他们共同的邻居(相似样本点)的数量,在算法中被叫做链接(Link)
的概念。而一些聚类算法只关注对象之间的相似度。
ROCK 算法中用到的四个关键概念
1.邻居(Neighbors):如果两个样本点的相似度达到了阈值(θ),这两个样本点就是
邻居。阈值(θ)有用户指定,相似度也是通过用户指定的相似度函数计算。常用的分类属
性的相似度计算方法有:Jaccard 系数,余弦相似度。
2.链接(Links):两个对象的共同邻居数量
3.目标函数(Criterion Function):最大化下面目标函数以获得最优的聚类结果(最
终簇之间的链接总数最小,而簇内的链接总数最大)。Ci:第i个簇,k:簇的个数,ni:Ci的
大小(样本点的数量)。一般可使用f (θ) = (1-θ)/(1+θ). f(θ)一般具有以下性质:Ci中的
每个样本点在Ci中有nif(θ)个邻居。
4. 相似性的度量(Goodness Measure):使用该公式计算所有对象的两两相似度,
将相似性最高的两个对象合并。通过该相似性度量不断的凝聚对象至k个簇,最终计算上
面目标函数值必然是最大的。
link[C
i
,C
j
]=
大概算法思路:
输入:需要聚类的个数-k,和相似度阈值-θ
算法:
开始每个点都是单独的聚类,根据计算点与点间的相似度,生成相似度矩阵。
根据相似度矩阵和相似度阈值-θ,计算邻居矩阵-A。如果两点相似度>=θ,取值1(邻
居),否则取值0.
计算链接矩阵-L=A x A
计算相似性的度量(Goodness Measure),将相似性最高的两个对象合并。回到第2
步进行迭代直到形成k个聚类或聚类的数量不在发生变换。
输出:
发布者:admin,转转请注明出处:http://www.yc00.com/num/1714141290a2389369.html
评论列表(0条)