一种以子集分组为辅助信息进行矩阵分解的聚类方法技术

技术编号:16529408 阅读:28 留言:0更新日期:2017-11-09 21:18
本发明专利技术涉及一种以子集分组为辅助信息进行矩阵分解的聚类方法,通过收集用户对多个不同子集的分组结果,获取一定数目的子集分组信息作为对聚类的指导,基于这些结果得到子集中的对象的近邻集和远邻集,通过在矩阵分解的目标函数中加入正则项的方式实现子集中各个对象的类与其近邻集中对象的类别相近,而与其远邻集中对象的类别不同,完成聚类。本发明专利技术基于上一步子集的分组结果,使得矩阵分解的时候不仅考虑分解误差,还同时考虑缩小子集中对象的分组和其近邻集中对象的分组的差别,以及增大与远邻集中对象分组的差别,不需要过大的数目的约束就能达到满意的效果,在实际应用中聚类迅速,效率高,人工成本低。

【技术实现步骤摘要】
一种以子集分组为辅助信息进行矩阵分解的聚类方法
本专利技术属于电数字数据处理的
,特别涉及一种以机器学习和数据挖掘为基础的以子集分组为辅助信息进行矩阵分解的聚类方法。
技术介绍
在很多领域的数据处理和分析问题中,需要使用聚类算法把一个数据集中的样本进行分组,进而基于分组结果对整个数据集的内部结构进行快速浏览、分析和处理。为了提高传统无监督聚类方法的准确度,利用少量监督信息的半监督聚类被提出。现有的半监督聚类方法绝大多数采用两两对象之间的约束这种形式来实现监督,使得涉及到“mustlink”约束的两个对象被分在同一个类,而“cannotlink”约束的两个对象分在不同的类。然而,对包含n个对象的数据集,一共有n2可能的两两关系,因此需要足够大的数目的约束才能达到满意的效果,在实际应用中,获得大量约束需要付出较大的人力劳动,且效率低下。
技术实现思路
本专利技术解决的技术问题是,现有技术中,半监督聚类方法对包含n个对象的数据集,一共有n2个可能的两两关系,因此需要足够大的数目的约束才能达到满意的效果,在实际应用中,获得大量约束需要付出较大的人力劳动,且效率低下的问题,进而提供了一种优化的以子集分组为辅助信息进行矩阵分解的聚类方法。本专利技术所采用的技术方案是,一种以子集分组为辅助信息进行矩阵分解的聚类方法,所述方法包括以下步骤:步骤1.1:收集用户对待分组数据集的若干子集的分组结果,由此得到所述待分组数据集中每个对象xi的近邻集和远邻集步骤1.2:利用近邻集和远邻集将m×n的矩阵X分解为K×m的矩阵F和K×n的矩阵G,其中,K为最终得到的类的数目,K>1;步骤1.3:输出矩阵G。优选地,所述步骤1.1中,所述近邻集和远邻集的划分方法包括以下步骤:步骤1.1.1:对任一待分组样本子集S,将S分为k个组C1,C2,...Ck,所述k个组满足C1∪C2...∪Ck=S,且q≠p,步骤1.1.2:令xi∈Cf,Cf为第f个类,得到xi的近邻集合N=Cf\xi和k-1个远邻集合{Cr},r=1,2,...k且r≠f;步骤1.1.3:统计所有样本子集,xi出现在ti个样本子集中,则对第t个样本子集,得到xi的近邻集和远邻集kt为第t个子集被分解的组数,t=1,2,...ti。优选地,所述步骤1.2的分解方法为:步骤1.2.1:设定最大循环次数A;当前次数y=1;步骤1.2.2:产生G的非负初始值;步骤1.2.3:由F=(GGT)-1GXT计算得到F;步骤1.2.4:基于当前的矩阵F和矩阵G,计算FX和FFT,得到(FX)1、(FX)2、(FFT)1、(FFT)2;其中,(FX)1和(FFT)1对计算结果的矩阵中每个大于0的元素保留,将小于0的元素置为0,(FX)2和(FFT)2对计算结果的矩阵中每个小于0的元素取绝对值,将小于0的元素置为0;步骤1.2.5:设置约束目标函数minJ=JMF+βJM-γJC,JMF用于衡量矩阵F和矩阵G的乘积与矩阵X的差异,JM用于衡量每个对象与近邻集在聚类结果的近似程度,JC用于衡量每个对象与远邻集在聚类结果的差异程度;其中,β>0,γ>0;步骤1.2.6:计算(FFT)1G和(FFT)2G,得到其中,xi和gi分别为矩阵X和矩阵G的第i列;步骤1.2.7:当ti>0时,计算和否则和置为0;步骤1.2.8:计算得到得到新矩阵G;循环次数y加1;步骤1.2.9:第y次的F和第y-1次的F的差值以矩阵的F范数衡量,||Fy-Fy-1||F≤δ时,结束;否则返回步骤1.2.3。优选地,所述步骤1.2.2中,G的每个元素为随机非负值。优选地,所述步骤1.2.2中,G的每个元素为基于k-means的结果,当xi被分在第f个类时,G的元素gif=1,G的其他元素为0.1。优选地,所述步骤1.2.5中,其中,优选地,所述步骤1.2.7中,其中,|St|表示第t个子集的大小。优选地,基于输出的G矩阵得到每个样本点的标签。本专利技术提供了一种优化的以子集分组为辅助信息进行矩阵分解的聚类方法,通过收集用户对多个不同子集的分组结果,获取一定数目的子集分组信息作为对聚类的指导,基于这些结果得到子集中的对象的近邻集和远邻集,通过在矩阵分解的目标函数中加入正则项的方式实现子集中各个对象的类与其近邻集中对象的类别相近,而与其远邻集中对象的类别不同,完成聚类。本专利技术基于上一步子集的分组结果,使得矩阵分解的时候不仅考虑分解误差,还同时考虑缩小子集中对象的分组和其近邻集中对象的分组的差别,以及增大与远邻集中对象分组的差别,不需要过大的数目的约束就能达到满意的效果,在实际应用中聚类迅速,效率高,人工成本低。附图说明图1为包含175个二维样本点的数据集,这些样本点组成两个半圆形;图2为采用传统的半监督聚类方法的聚类结果;图3为采用本专利技术的聚类方法重复30次的聚类结果;图4为采用本专利技术的聚类方法重复80次的聚类结果;图2~4中以不同的图标标记不同类的样本点。具体实施方式下面结合实施例对本专利技术做进一步的详细描述,但本专利技术的保护范围并不限于此。本专利技术涉及一种以子集分组为辅助信息进行矩阵分解的聚类方法,所述方法包括以下步骤。步骤1.1:收集用户对待分组数据集的若干子集的分组结果,由此得到所述待分组数据集中每个对象xi的近邻集和远邻集所述步骤1.1中,所述近邻集和远邻集的划分方法包括以下步骤。步骤1.1.1:对任一待分组样本子集S,将S分为k个组C1,C2,...Ck,所述k个组满足C1∪C2...∪Ck=S,且q≠p,本专利技术中,即k个组C1,C2,...Ck两两之间互不交叉。步骤1.1.2:令xi∈Cf,Cf为第f个类,得到xi的近邻集合N=Cf\xi和k-1个远邻集合{Cr},r=1,2,...k且r≠f。步骤1.1.3:统计所有样本子集,xi出现在ti个样本子集中,则对第t个样本子集,得到xi的近邻集和远邻集kt为第t个子集被分解的组数,t=1,2,...ti。本专利技术中,处理所有子集分组后,得到所有子集中对象的近邻集和远邻集。步骤1.2:利用近邻集和远邻集将m×n的矩阵X分解为K×m的矩阵F和K×n的矩阵G,其中,K为最终得到的类的数目,K>1。本专利技术中,矩阵F表示K个隐因子,每个因子对应一个类,矩阵G表示每个对象到每个类的隶属度。本专利技术中,一般情况下,K远大于1且远小于数据集中对象的总数。所述步骤1.2的分解方法为:步骤1.2.1:设定最大循环次数A;当前次数y=1;步骤1.2.2:产生G的非负初始值;所述步骤1.2.2中,G的每个元素为随机非负值。所述步骤1.2.2中,G的每个元素为基于k-means的结果,当xi被分在第f个类时,G的元素gif=1,G的其他元素为0.1。本专利技术中,G选择上述两种方式中的任意一种。步骤1.2.3:由F=(GGT)-1GXT计算得到F;步骤1.2.4:基于当前的矩阵F和矩阵G,计算FX和FFT,得到(FX)1、(FX)2、(FFT)1、(FFT)2;其中,(FX)1和(FFT)1对计算结果的矩阵中每个大于0的元素保留,将小于0的元素置为0,(FX)2和(FFT)2对计算结果的矩阵中每个小于0的元素取绝对值,将小于0的元素置为0。步骤1.2.5:设置约束目标函数minJ=JMF+βJM-γJC本文档来自技高网...
一种以子集分组为辅助信息进行矩阵分解的聚类方法

【技术保护点】
一种以子集分组为辅助信息进行矩阵分解的聚类方法,其特征在于:所述方法包括以下步骤:步骤1.1:收集用户对待分组数据集的若干子集的分组结果,由此得到所述待分组数据集中每个对象xi的近邻集

【技术特征摘要】
1.一种以子集分组为辅助信息进行矩阵分解的聚类方法,其特征在于:所述方法包括以下步骤:步骤1.1:收集用户对待分组数据集的若干子集的分组结果,由此得到所述待分组数据集中每个对象xi的近邻集和远邻集步骤1.2:利用近邻集和远邻集将m×n的矩阵X分解为K×m的矩阵F和K×n的矩阵G,其中,K为最终得到的类的数目,K>1;步骤1.3:输出矩阵G。2.根据权利要求1所述的一种以子集分组为辅助信息进行矩阵分解的聚类方法,其特征在于:所述步骤1.1中,所述近邻集和远邻集的划分方法包括以下步骤:步骤1.1.1:对任一待分组样本子集S,将S分为k个组C1,C2,...Ck,所述k个组满足C1∪C2...∪Ck=S,p∈[k]且q≠p,步骤1.1.2:令xi∈Cf,Cf为第f个类,得到xi的近邻集合N=Cf\xi和k-1个远邻集合{Cr},r=1,2,...k且r≠f;步骤1.1.3:统计所有样本子集,xi出现在ti个样本子集中,则对第t个样本子集,得到xi的近邻集和远邻集h=1,2,...kt-1,kt为第t个子集被分解的组数,t=1,2,...ti。3.根据权利要求1所述的一种以子集分组为辅助信息进行矩阵分解的聚类方法,其特征在于:所述步骤1.2的分解方法为:步骤1.2.1:设定最大循环次数A;当前次数y=1;步骤1.2.2:产生G的非负初始值;步骤1.2.3:由F=(GGT)-1GXT计算得到F;步骤1.2.4:基于当前的矩阵F和矩阵G,计算FX和FFT,得到(FX)1、(FX)2、(FFT)1、(FFT)2;其中,(FX)1和(FFT)1对计算结果的矩阵中每个大于0的元素保留,将小于0的元...

【专利技术属性】
技术研发人员:梅建萍
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1