一种基于自动编码机实现数据增量聚类的方法_2

文档序号:8922970阅读:来源:国知局
中的每条样本逐条进行聚类,使得每条样本都聚到合适 的类中。
[0045] 经过自动编码机的数据集是原数据集的一种更加抽象压缩的表示形式,能够更加 体现数据集样本的分布式特征。对生成的数据集中每个样本进行逐条聚类。首先定义一个 临近度矩阵proximity_matrix,用来存储每个簇心之间的距离,定义一个集合u用来存储 每个簇的簇心。
[0046] 对于前k个到达的样本,将该k个样本自动定义为k个初始的簇心,并将其存储在 u中,通过公式
计算各个簇心之间的距离并存储在proximity_ matrix中。
[0047] 从第k+1个样本开始,通过公式
计算样本与簇心之间 的距离,得到样本到达簇心的最小距离dk;通过临近度矩阵proximityjnatrix得到簇心之 间的最大距离max(dxy)以及簇心之间的最小距离min(dij);
[0048]如果dk>max(dxy),则该样本单独为一个簇;更新临近度矩阵proximity_matrix和 簇心集合u;
[0049]如果dk〈min(dj;,则该样本加入到簇k中,通过公式
(mk表示簇k中 样本数量,P表示簇k中的样本)更新簇心;更新临近度矩阵proximity_matrix;
[0050] 如果dk>min(dij),则簇i和簇j合并为一个新簇,新到样本独立为一个簇。更新簇 心和临近度矩阵proximity_matrix〇
[0051] 对于数据集中的每个样本都进行如上处理,使得每个样本都能到达合适的簇中。
[0052] 结合本发明的方案,进行实验分析如下:
[0053] 为了验证本文提出的算法(ANIC)的有效性,采用UCI中的四个数据集Iris、pima、 Balance-scale和Wine来验证算法的准确性,共进行两种类型的实验。
[0054] 本文使用纯度来衡量算法的聚类效果。纯度的定义为簇包含单个类的对象的程 度。簇i的纯度的计算公式为:
[0056] (其中mi是簇i中对象个数,mij是簇i中类j的对象个数。)
[0057] 聚类的总纯度的计算公式为
(m为样本总数)。
[0058] 纯度越高说明算法的聚类效果越好。此外,通过比较聚类的时间消耗来评价算法 的性能。
[0059] 实验1 :将整个数据集作为一个整体进行聚类,并将其与Kmeans和FCM进行比较; 实验结果如表1和表2所示。从表1可以看出,对于数据集Iris、pima和Balance-scale, 本文提出的算法的聚类纯度好于Kmeans和FCM算法,特别是对于Balance-scale数据集, 聚类纯度相对于另外两种算法提高20%左右。而对于数据集wine,本文提出算法的聚类纯 度高于Kmeans算法而低于FCM算法的聚类纯度3%,这说明对于这4个数据集,本文提出的 算法均能得到很好的聚类效果,具有更好的通用性。从表2可以看出,在对四个数据集进行 聚类时,本文算法的时间消耗整体低于FCM的时间消耗,而与Kmeans的时间消耗基本持平, 这是因为在对自动编码机进行训练时会消耗一定的时间,自动编码机会对样本属性进行压 缩,并且在聚类过程汇总只需要维护临近度矩阵,导致聚类时时间消耗降低,因此整体时间 消耗很低。
[0060] 表1.整体聚类结果:purity
[0063] 表2.整体聚类:平均时间消耗
[0064]
[0065] 实验2 :将一个数据集划分成多个数据集,进行增量聚类,并将其与FCM增量聚类 算法、IFCM增量聚类算法和基于马氏聚类的增量聚类算法进行比较。数据集进行划分时, Iris数据集随机划分为两个分别包含100个和50个样本的数据集,pima数据集随机划分 成两个分别包含384个样本的数据集,Balance-scale随机划分成5个分别包含125个样本 的数据集,Wine数据集随机划分成两个分别包含89个样本的数据集。实验结果如表3和 表4所示。从表3可以看出,对于数据集Iris和wine进行分批聚类时,得到的聚类的纯度 要高于采用FCM增量聚类算法和IFCM增量聚类算法。这说明本文提出的算法能够有效的 对分批数据集进行增量聚类。从表4可以看出,对于数据集Iris,Balance_scale和wine, 本文提出的算法进行增量聚类的聚类纯度高于基于马氏距离的FCM增量算法。其中对于数 据集Balance_scale、wine,本文提出算法进行聚类的纯度分别高于基于马氏距离的FCM增 量算法聚类纯度18. 5%和44. 4%,而对于数据集pima,本文提出算法进行聚类的纯度低于 基于马氏距离的FCM增量算法聚类纯度14. 1 %。这说明本文提出的算法相对于基于马氏距 离的FCM增量算法有更好的稳定性,并且对于多数数据集能够产生更好的聚类效果。
[0066] 表3.分批聚类结果:purity
[0068] 表4分批聚类结果:purity
[0069]
[0070] 综上,基于自动编码机实现增量聚类的方法,该方案针对数据样本具有丰富的低 层特征表示,构建栈式自动编码机组合数据集的低层特征,得到数据集的高层特征表示,学 习到数据的样本特征,从而对数据集进行压缩和降维,能够有效提高聚类效果。
[0071] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
[0072] 以上对本发明实施例所提供的基于自动编码机实现增量聚类的方法进行了详细 介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明 只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本 发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应 理解为对本发明的限制。
【主权项】
1. 一种基于自动编码机实现数据增量聚类的方法,其特征包括如下步骤: (1) 对新增数据集进行归一化预处理 对新增数据集中样本的每个属性,分别选取每个属性的最大值和最小值,之后对于每 个样本的每个属性,每个属性-对应最小值/对应最大值-对应最小值,得到的值即为对应 属性的新值,进行归一化的目的是使得样本的每个属性的重要性能够在同等条件下进行比 较; (2) 利用数据集对自动编码机进行训练,根据前向传播和反向传导的方法,调整自动编 码机的权重;具体为: 如果该数据集为首个到达的数据集,则随机为自动编码机指定权重,否则自动编码机 的权重为上一个数据集训练后得到的权重;新到达的数据集在该权重的基础上,通过前向 传播得到新的数据集,通过反向传导的方法使得重构数据集与原数据集的误差最小来调整 自动编码机的权重; (3) 数据集通过自动编码机,根据训练得到的权重,得到数据集的一种新的高层特征表 示形式;具体为: 新增数据集重新进入自动编码机,并根据此前训练得到的权重,进行前向传播,组合低 层特征,得到该数据集的一种更加抽象的高层表示形式; (4) 对新生成的数据集中的每条样本逐条进行聚类,使得每条样本都聚到合适的类中; 具体为: 该数据集为首个到达的数据集,则该数据集的前k个样本自动定义为k个簇心,从第k+1个样本开始,计算样本与簇心之间的距离; 如果样本与簇心直接的最小距离〉簇心之间的最大距离,则该样本单独为一个簇; 如果样本与簇心之间的最小距离〈簇心之间的最小距离,则该样本进入距离其最近的 簇中; 如果样本与簇心之间的最小距离〉簇心之间的最小距离,则距离最近的两个簇合并为 一个簇,样本独立为一个簇。
【专利摘要】一种基于自动编码机实现数据增量聚类的方法,步骤如下:对新到达的数据集进行归一化处理,使数据集内每个样本的各个属性的重要性能够在同等条件下进行比较;利用新到达的数据集对自动编码机进行训练,采用前向传播以及反向传播算法不断调整权重;数据集通过自动编码机以及训练中得到的权重,得到一种新的数据集表示形式,自动编码机通过组合低层特征形成更加抽象的高层表示特征;对经过自动编码机的数据集中的样本进行逐个聚类,使得每个新到达的样本都能够加入到合适的类中。本发明通过自动编码机学习数据样本的特征,进行低维特征整合,得到数据样本的压缩表示形式,对数据集中的样本进行增量聚类,能够有效提高对数据集样本进行增量聚类效果。
【IPC分类】G06K9/62
【公开号】CN104899605
【申请号】CN201510337583
【发明人】陈志奎, 杨镇楠, 赵亮
【申请人】大连理工大学
【公开日】2015年9月9日
【申请日】2015年6月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1