协同聚类的方法和设备技术

技术编号:12030836 阅读:249 留言:0更新日期:2015-09-10 17:33
本发明专利技术实施例提供了一种协同聚类的方法和装置,该方法包括:迭代执行下列过程,以对待聚类的数据进行协同聚类:根据上次迭代过程得到的待聚类的数据的每个元素的权重以及上次迭代过程得到的类簇中心的值,将待聚类的数据的每个元素划分到至少一个类簇中;根据待聚类的数据的每个元素的类簇的划分结果和待聚类的数据的每个元素的权重,更新待聚类的数据的类簇中心的值;根据更新后的待聚类的数据的类簇中心的值,更新待聚类的数据的每个元素的权重,其中,类簇中距离所述类簇的中心越远的元素的权重越小。本发明专利技术实施例的协同聚类的方法,能够降低噪声数据对聚类的影响,提高聚类效果。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,特别涉及一种协同聚类的方法和设备
技术介绍
协同聚类(Co-clustering)在文本挖掘、基因表达数据分析、协同过滤、推荐系统 和矩阵近似等领域中有广泛的应用。协同聚类是一种对二维数据矩阵的行和列两个方向 同时进行聚类的一类算法。聚类是根据数据集中数据的不同特征,将数据划分为不同的簇 (Cluster),使得同一簇的个体之间的距离尽可能小(或相似度尽可能高),不同簇的个体 问的距离尽可能大(或相似度尽可以低)。上述数据可以是不同用户针对不同项目或物品 产生的用户行为数据,可以由二维矩阵来表示。在行方向上进行聚类时,依据不同行与行类 簇的相似性,将行聚成至少一个行类簇,例如,聚成K个行类簇;在列方向上进行聚类时,依 据不同列与列类簇的相似性,将列聚成至少一个列类簇,例如,聚成L个列类簇。这样,协同 聚类可以将无序的数据矩阵划分成K*L个有序的聚类块。 现有聚类算法采取行划分和列划分交替进行,通过迭代优化,求解一个最优化问 题,当算法收敛到最优化问题的目标函数的极小值时,停止迭代,完成聚类。上述数据可能 会包含噪声数据,例如,用户的误操作产生的数据,这些噪声数据会影响聚类的准确性。现 有聚类算法在进行数据处理时对噪声数据和有用数据作相同的处理,没有考虑噪声数据对 聚类效果的影响。因此,现有技术无法降低噪声数据对聚类的影响,聚类效果差。
技术实现思路
本专利技术实施例提供一种协同聚类的方法和设备,能够降低噪声数据对聚类的影 响,提高聚类效果。 第一方面,本专利技术实施例提供了一种协同聚类的方法,包括:迭代执行下列过程, 以对待聚类的数据进行协同聚类:根据上次迭代过程得到的待聚类的数据的每个元素的权 重以及上次迭代过程得到的类簇中心的值,将待聚类的数据的每个元素划分到至少一个类 簇中;根据待聚类的数据的每个元素的类簇的划分结果和待聚类的数据的每个元素的权 重,更新待聚类的数据的类簇中心的值;根据更新后的待聚类的数据的类簇中心的值,更新 待聚类的数据的每个元素的权重,其中,类簇中距离类簇的中心越远的元素的权重越小。 结合第一方面,在第一种可能的实现方式中,该方法还包括:确定待聚类的数据, 该数据为N行、M列的二维矩阵,该二维矩阵包括N*M个元素,其中,根据上次迭代过程得到 的待聚类的数据的每个元素的权重以及上次迭代过程得到的类簇中心的值,将待聚类的数 据的每个元素划分到至少一个类簇中,包括:根据上次迭代过程得到的二维矩阵的每行元 素的行权重和每列元素的列权重以及上次迭代过程得到的聚类块的中心的值,在行方向上 将N行元素划分到至少一个行类簇中,在列方向将M列元素划分到至少一个列类簇中,其 中,所述根据待聚类的数据的每个元素的类簇的划分结果和待聚类的数据的每个元素的权 重,更新待聚类的数据的类簇中心的值,包括:根据至少一个行类簇的划分结果、至少一个 列类簇的划分结果和至少一个行类簇和至少一个列类簇组成的聚类块中每个聚类块的元 素的行权重和列权重对每个聚类块的元素进行加权平均,得到每个聚类块的中心的值,其 中根据更新后的待聚类的数据的类簇中心的值,更新待聚类的数据的每个元素的权重,包 括:根据至少一个行类簇的划分结果、至少一个列类簇的划分结果和至少一个行类簇和至 少一个列类簇组成的聚类块的中心的值,得到二维矩阵的每行元素的行权重和每列元素的 列权重,其中聚类块中距离所述聚类块的中心越远的元素行权重和列权重越小。 结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,根 据上次迭代过程得到的二维矩阵的每行元素的行权重和每列元素的列权重以及上次迭代 过程得到的聚类块的中心的值,在行方向上将N行元素划分到至少一个行类簇中,在列方 向将M列元素划分到至少一个列类簇中,包括:确定N行元素中的每行M个元素与至少一个 行类簇中的每个行类簇中的对应聚类块的中心的加权距离之和,得到至少一个行类簇对应 的至少一个第一加权距离之和;将二维矩阵的每行元素划分到至少一个第一加权距离之和 中的最小值所对应的行类簇中;确定M列元素中的每列N个元素与至少一个列类簇中的每 个列类簇中的对应聚类块的中心的加权距离之和,得到至少一个列类簇对应的至少一个第 二加权距离之和;将二维矩阵的每列元素划分到至少一个第二加权距离之和中的最小值所 对应的列类簇中。 结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,将 二维矩阵的每行元素划分到至少一个第一加权距离之和中的最小值所对应的行类簇中包 括:根据以下公式将二维矩阵的每行元素划分到至少一个第一加权距离之和中的最小值所 对应的行类簇中:其中, 其中,i= 1,2, ? ? ?,M,j=l,2, ? ? ?,N,11"=1表示第i行的元素属于第g行类簇, Ui,s = 0表示第i行元素不属于第s行类簇,K为至少一个行类簇的个数,L为至少一个列 类簇的个数,g=l,2, . . .,K,s=l,2, . . .,K,Jte)表示第i行元素与第s个行类簇所对应的第 一加权距离之和,表示第i行元素与第g个行类簇所对应的第一加权距离之和,为 至少一个第一加权距离之和中的最小值,i)# =1表示上次迭代中第j列的元素属于第h个 列类簇,= 〇表示上次迭代中第j列的元素不属于第h个列类簇,表示上次迭代中第 j列元素中属于第s行类簇的元素的列权重,I;表示上次迭代中第j列元素中属于第g行 类簇的元素的列权重,&表示上次迭代中第i行元素中属于第h个列类簇的元素的行权重, (!(?)为欧式距离,^^为上次迭代中第s行类簇和第h列类簇组成的聚类块的中心的值, 为上次迭代中第g行类簇和第h列类簇组成的聚类块的中心的值,其中,将二维矩阵的每列 元素划分到至少一个第二加权距离之和中的最小值所对应的列类簇中,包括:根据以下公 式确定将二维矩阵的每列元素划分到至少一个第二加权距离之和中的最小值所对应的列 类簇中:其中, 其中,Vj,h = 1表示第该j列的元素属于第h列类簇,Vj,t = 0表示该第j列不属 于第t列类簇,h=l,2,. . .,L,t=l,2,. . .,L,J'&)表示第j列元素与第h个列类簇所对 应的第二加权距离之和,J'w表示第j列元素与第t个列类簇所对应的第二加权距离之 和,=1表示上次迭代中第i行的元素属于第g个行类簇,=〇表示上次迭代中第i行 的元素不属于第g个行类簇,I;表示上次迭代中第j列元素中属于第g行类簇的元素的列 权重,t表示上次迭代中第i行元素中属于第t个列类簇的元素的行权重,d( ?)为欧式距 离,&,为上次迭代中第g行类簇和第t列类簇组成的聚类块的中心的值。 结合第一方面第一至第三种可能的实现方式中的任一种可能的实现方式,在第一 方面第四种可能的实现方式中,根据至少一个行类簇的划分结果、至少一个列类簇的划分 结果和至少一个行类簇和至少一个列类簇组成的聚类块中每个聚类块的元素的行权重和 列权重对每个聚类块的元素进行加权平均,得到每个聚类块的中心的值,包括:计算至少一 个行类簇和至少一个列类簇组成的聚类块中的每个聚类块中的元素在各自的行权重和列 权重的基础上的加权平均值;将加权平均值作为每个聚类块的本文档来自技高网...

【技术保护点】
一种协同聚类的方法,其特征在于,包括:迭代执行下列过程,以对待聚类的数据进行协同聚类:根据上次迭代过程得到的待聚类的数据的每个元素的权重以及上次迭代过程得到的类簇中心的值,将所述待聚类的数据的每个元素划分到至少一个类簇中;根据所述待聚类的数据的每个元素的类簇的划分结果和所述待聚类的数据的每个元素的权重,更新所述待聚类的数据的类簇中心的值;根据更新后的待聚类的数据的类簇中心的值,更新所述待聚类的数据的每个元素的权重,其中,所述类簇中距离所述类簇的中心越远的元素的权重越小。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖龙飞陈小军王书强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1