CN104899605A - 一种基于自动编码机实现数据增量聚类的方法 - Google Patents
一种基于自动编码机实现数据增量聚类的方法 Download PDFInfo
- Publication number
- CN104899605A CN104899605A CN201510337583.1A CN201510337583A CN104899605A CN 104899605 A CN104899605 A CN 104899605A CN 201510337583 A CN201510337583 A CN 201510337583A CN 104899605 A CN104899605 A CN 104899605A
- Authority
- CN
- China
- Prior art keywords
- sample
- data set
- bunch
- data
- coding machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于自动编码机实现数据增量聚类的方法,步骤如下:对新到达的数据集进行归一化处理,使数据集内每个样本的各个属性的重要性能够在同等条件下进行比较;利用新到达的数据集对自动编码机进行训练,采用前向传播以及反向传播算法不断调整权重;数据集通过自动编码机以及训练中得到的权重,得到一种新的数据集表示形式,自动编码机通过组合低层特征形成更加抽象的高层表示特征;对经过自动编码机的数据集中的样本进行逐个聚类,使得每个新到达的样本都能够加入到合适的类中。本发明通过自动编码机学习数据样本的特征,进行低维特征整合,得到数据样本的压缩表示形式,对数据集中的样本进行增量聚类,能够有效提高对数据集样本进行增量聚类效果。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于自动编码机实现数据增量聚类方法。
背景技术
随着信息技术的兴起和发展,数据量增长迅速,需要更多的空间来存储数据。由于存储空间的限制,提出了增量聚类的方法,使得所有的数据不需要全部存储到内存中。
近年来,国内外研究者提出了很多增量聚类算法,主要分为两类:一类是将所有数据进行迭代运算,这样得到的聚类结果精度高,但是没有利用上一次的聚类结果,造成资源浪费;另一类是将新增样本划到离它最近的簇中,这样能够充分利用上一次的聚类结果,不需要对所有数据重新聚类,提高了效率,但是该类方法泛化能力弱。
1998年,M Ester等人首先提出增量聚类的概念,提出基于DBSCAN的增量聚类算法,由于DBSCAN算法是基于密度的聚类算法,当插入一个新的样本时,只会影响与该样本距离相近的簇,因此使得它的增量聚类结果与非增量聚类结果相似,但是由于该方法每次只能处理一个样本,因此存在效率很低的问题。针对这个问题,2004年黄永平等人提出了基于密度的批量增量聚类算法,克服了一个一个处理数据的缺点,但是该方法计算量过大,不能用于大数据集。
2011年吴佳等人提出了改进的模糊c均值的增量聚类算法,首先对模糊c均值算法进行加权,并将权系数归一化,并将该方法与增量式算法结合,实现增量式聚类,避免了重复计算,并且不受孤立点影响。郑宏亮等人提出了基于Mahalanobis距离的增量聚类算法,该算法将模糊c均值聚类中的欧式聚类用Mahalanobis距离替代,提出一种基于马氏距离的增量聚类学习算法,该方法解决了模糊c均值聚类对非球形或椭球型分布的数据集聚类效果差的缺陷,提高了聚类精度。2012年孟凡荣等人提出了一种基于代表点的增量聚类算法,根据代表点与已存代表点之间的关系来判断是否将其添加到已存代表点所属的簇中,或提升为新的代表点,该方法对参数敏感性低、效率高、占用空间小。2014年Leilei Sun等人提出了两种基于AP聚类算法的增量聚类算法,分别基于K-中心点和最临近距离分配的增量AP聚类算法,这两种增量聚类算法能够取得较好的聚类效果,并且时间消耗更低。这些增量聚类方法不能够学习数据样本的特征,进行低维特征整合。本文提出的方法,属于第二类方法,但是与原有方法不同的是,首先利用自动编码机学习数据集样本的特征,进行低维特征整合,这样能够提高聚类效果,并且重新定义了样本加入已有簇的策略,采用一遍式读取数据样本和动态更新簇中心点,对样本进行增量聚类,使得我们的方法时间消耗低并且能够识别离群点。
发明内容
基于传统的增量聚类方法不能学习数据样本的特征,进行低维特征整合,本发明提供了一种基于自动编码机实现数据增量聚类的方法,基于自动编码机组合数据的低层特征形成更加抽象的高层特征,既能够学习数据样本的特征,也能够对数据样本进行特征整合从而对数据集样本进行压缩和降维。
本发明提供了一种基于自动编码机实现数据增量聚类的方法,包括如下步骤:
对新增数据集进行归一化预处理;
利用数据集对自动编码机进行训练,根据前向传播和反向传导的方法,调整自动编码机的权重;
数据集通过自动编码机,根据训练得到的权重,得到数据集的一种新的高层特征表示形式;
对新生成的数据集中的每条样本逐条进行聚类,使得每条样本都聚到合适的类中。
所述对新增数据集进行归一化预处理具体为:
对新增数据集中样本的每个属性,分别选取每个属性的最大值和最小值,之后对于每个样本的每个属性值,(每个属性值-对应最小值)/(对应最大值-对应最小值),得到的值即为对应属性的新值,进行归一化的目的是使得样本的每个属性的重要性能够在同等条件下进行比较。
所述根据前向传播和反向传导的方法调整自动编码机的权重具体为:
如果该数据集为首个到达的数据集,则随机为自动编码机指定权重,否则自动编码机的权重为上一个数据集训练后得到的权重。新到达的数据集在该权重的基础上,通过前向传播得到新的数据集,通过反向传导的方法使得重构数据集与原数据集的误差最小来调整自动编码机的权重。
所述数据集通过自动编码机,根据训练得到的权重,得到数据集的一种新的高层特征表示形式具体为:
新增数据集重新进入自动编码机,并根据此前训练得到的权重,进行前向传播,组合低层特征,得到该数据集的一种更加抽象的高层表示形式。
所述对新生成的数据集中的每条样本逐条进行聚类,使得每条样本都聚到合适的类中具体为:
判断样本到达的顺序,如果为前k个到达的样本,则自动定义为k个簇心,从第k+1个样本开始,计算样本与簇心之间的距离;
如果样本与簇心直接的最小距离>簇心之间的最大距离,则该样本单独为一个簇;
如果样本与簇心之间的最小距离<簇心之间的最小距离,则该样本进入距离其最近的簇中;
如果样本与簇心之间的最小距离>簇心之间的最小距离,则距离最近的两个簇合并为一个簇,样本独立为一个簇。
在本发明提供了基于自动编码机实现数据增量聚类的方法,该方案针对数据样本具有丰富的低层特征,构建自动编码机组合低层形成更加抽象的高层表示特征,以发现数据的分布式特征,对数据进行降维和压缩,进而对样本进行增量式聚类,能够有效的提高增量聚类效果。
附图说明
图1是本发明实施例中的基于自动编码机实现增量聚类的方法流程图;
图2是本发明实施例中的自动编码机结构原理示意图;
图3是本发明实施例中的两层叠加自动编码机结构原理示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了本发明实施例中的基于深度学习实现数据增量聚类的方法流程图,包括如下步骤:
S101、对新增数据集进行归一化预处理;
设整个数据集为U,且U={u1,u2,........un},U中每个对象由m个属性组成{a1,a2,......,am},max(i),min(i)分别为属性i的最大值和最小值,则设对数据集进行归一化得到的数据集为O,O={o1,o2,.......on},O中第j个对象对应的第i个属性bij,
进行归一化的目的是使得样本的每个属性的重要性能够在同等条件下进行比较。
S102、利用数据集对自动编码机进行训练,根据前向传播和反向传导的方法,调整自动编码机的权重;
单个自动编码机的结构原理示意图如图2所示。自动编码机包括两个部分,编码阶段和解码阶段。选用sigmoid函数作为激活函数。sigmoid函数的计算公式为
编码阶段属于前向传播过程,对于样本x,假设x包含三个属性{x1,x2,x3},则编码阶段对应输出
解码阶段属于反向传导过程,通过编码阶段得到的新属性{a1,a2}重构样本x,
通过调整权重Wi1、Wi2、Wi3、Wi1’、Wi2’、Wi3’,偏置项b1、b2,使得代价函数||x’-x||2最小。
当输入数据集中样本属性多于5个属性式,采用栈式自动编码机来对数据集进行训练,栈式自动编码机的结构原理示意图如图3所示,上一层自动编码机得到的特征作为下一层自动编码机的输入,采用逐层训练的方式对栈式自动编码机进行参数调整,使得整体代价函数最小。当数据集为首个到达的数据集时,为自动编码机随机初始化权重;否则将上一个数据集训练得到的权重以及偏置项作为此次自动编码机的初始权重和偏置项,对数据集进行训练。
S103、新增数据集重新进入自动编码机,并根据此前训练得到的权重,进行前向传播,组合低层特征,得到该数据集的一种更加抽象的高层表示形式;
在S102得到的最终权重W,偏置项b1以及数据集作为输入,通过公式
z=Wi1x1+Wi2x2+Wi3x3+b1;
S104、对新生成的数据集中的每条样本逐条进行聚类,使得每条样本都聚到合适的类中。
经过自动编码机的数据集是原数据集的一种更加抽象压缩的表示形式,能够更加体现数据集样本的分布式特征。对生成的数据集中每个样本进行逐条聚类。首先定义一个临近度矩阵proximity_matrix,用来存储每个簇心之间的距离,定义一个集合u用来存储每个簇的簇心。
对于前k个到达的样本,将该k个样本自动定义为k个初始的簇心,并将其存储在u中,通过公式计算各个簇心之间的距离并存储在proximity_matrix中。
从第k+1个样本开始,通过公式计算样本与簇心之间的距离,得到样本到达簇心的最小距离dk;通过临近度矩阵proximity_matrix得到簇心之间的最大距离max(dxy)以及簇心之间的最小距离min(dij);
如果dk>max(dxy),则该样本单独为一个簇;更新临近度矩阵proximity_matrix和簇心集合u;
如果dk<min(dij);,则该样本加入到簇k中,通过公式(mk表示簇k中样本数量,p表示簇k中的样本)更新簇心;更新临近度矩阵proximity_matrix;
如果dk>min(dij),则簇i和簇j合并为一个新簇,新到样本独立为一个簇。更新簇心和临近度矩阵proximity_matrix。
对于数据集中的每个样本都进行如上处理,使得每个样本都能到达合适的簇中。
结合本发明的方案,进行实验分析如下:
为了验证本文提出的算法(ANIC)的有效性,采用UCI中的四个数据集Iris、pima、Balance-scale和Wine来验证算法的准确性,共进行两种类型的实验。
本文使用纯度来衡量算法的聚类效果。纯度的定义为簇包含单个类的对象的程度。簇i的纯度的计算公式为:
(其中mi是簇i中对象个数,mij是簇i中类j的对象个数。)
聚类的总纯度的计算公式为: (m为样本总数)。
纯度越高说明算法的聚类效果越好。此外,通过比较聚类的时间消耗来评价算法的性能。
实验1:将整个数据集作为一个整体进行聚类,并将其与Kmeans和FCM进行比较;实验结果如表1和表2所示。从表1可以看出,对于数据集Iris、pima和Balance-scale,本文提出的算法的聚类纯度好于Kmeans和FCM算法,特别是对于Balance-scale数据集,聚类纯度相对于另外两种算法提高20%左右。而对于数据集wine,本文提出算法的聚类纯度高于Kmeans算法而低于FCM算法的聚类纯度3%,这说明对于这4个数据集,本文提出的算法均能得到很好的聚类效果,具有更好的通用性。从表2可以看出,在对四个数据集进行聚类时,本文算法的时间消耗整体低于FCM的时间消耗,而与Kmeans的时间消耗基本持平,这是因为在对自动编码机进行训练时会消耗一定的时间,自动编码机会对样本属性进行压缩,并且在聚类过程汇总只需要维护临近度矩阵,导致聚类时时间消耗降低,因此整体时间消耗很低。
表1.整体聚类结果:purity
表2.整体聚类:平均时间消耗
实验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增量算法有更好的稳定性,并且对于多数数据集能够产生更好的聚类效果。
表3.分批聚类结果:purity
表4分批聚类结果:purity
综上,基于自动编码机实现增量聚类的方法,该方案针对数据样本具有丰富的低层特征表示,构建栈式自动编码机组合数据集的低层特征,得到数据集的高层特征表示,学习到数据的样本特征,从而对数据集进行压缩和降维,能够有效提高聚类效果。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的基于自动编码机实现增量聚类的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (1)
1.一种基于自动编码机实现数据增量聚类的方法,其特征包括如下步骤:
(1)对新增数据集进行归一化预处理
对新增数据集中样本的每个属性,分别选取每个属性的最大值和最小值,之后对于每个样本的每个属性,每个属性-对应最小值/对应最大值-对应最小值,得到的值即为对应属性的新值,进行归一化的目的是使得样本的每个属性的重要性能够在同等条件下进行比较;
(2)利用数据集对自动编码机进行训练,根据前向传播和反向传导的方法,调整自动编码机的权重;具体为:
如果该数据集为首个到达的数据集,则随机为自动编码机指定权重,否则自动编码机的权重为上一个数据集训练后得到的权重;新到达的数据集在该权重的基础上,通过前向传播得到新的数据集,通过反向传导的方法使得重构数据集与原数据集的误差最小来调整自动编码机的权重;
(3)数据集通过自动编码机,根据训练得到的权重,得到数据集的一种新的高层特征表示形式;具体为:
新增数据集重新进入自动编码机,并根据此前训练得到的权重,进行前向传播,组合低层特征,得到该数据集的一种更加抽象的高层表示形式;
(4)对新生成的数据集中的每条样本逐条进行聚类,使得每条样本都聚到合适的类中;具体为:
该数据集为首个到达的数据集,则该数据集的前k个样本自动定义为k个簇心,从第k+1个样本开始,计算样本与簇心之间的距离;
如果样本与簇心直接的最小距离>簇心之间的最大距离,则该样本单独为一个簇;
如果样本与簇心之间的最小距离<簇心之间的最小距离,则该样本进入距离其最近的簇中;
如果样本与簇心之间的最小距离>簇心之间的最小距离,则距离最近的两个簇合并为一个簇,样本独立为一个簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510337583.1A CN104899605A (zh) | 2015-06-17 | 2015-06-17 | 一种基于自动编码机实现数据增量聚类的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510337583.1A CN104899605A (zh) | 2015-06-17 | 2015-06-17 | 一种基于自动编码机实现数据增量聚类的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104899605A true CN104899605A (zh) | 2015-09-09 |
Family
ID=54032259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510337583.1A Pending CN104899605A (zh) | 2015-06-17 | 2015-06-17 | 一种基于自动编码机实现数据增量聚类的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899605A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866555A (zh) * | 2019-11-11 | 2020-03-06 | 广州国音智能科技有限公司 | 增量数据的聚类方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571868A (zh) * | 2009-05-25 | 2009-11-04 | 北京航空航天大学 | 一种基于信息瓶颈理论的文档聚类方法 |
CN103530689A (zh) * | 2013-10-31 | 2014-01-22 | 中国科学院自动化研究所 | 一种基于深度学习的聚类方法 |
CN103902689A (zh) * | 2014-03-26 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、增量聚类方法及相关装置 |
-
2015
- 2015-06-17 CN CN201510337583.1A patent/CN104899605A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571868A (zh) * | 2009-05-25 | 2009-11-04 | 北京航空航天大学 | 一种基于信息瓶颈理论的文档聚类方法 |
CN103530689A (zh) * | 2013-10-31 | 2014-01-22 | 中国科学院自动化研究所 | 一种基于深度学习的聚类方法 |
CN103902689A (zh) * | 2014-03-26 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、增量聚类方法及相关装置 |
Non-Patent Citations (2)
Title |
---|
吴佳等: "改进的模糊C均值的增量聚类算法", 《计算机工程与应用》 * |
段宝彬等: "基于堆叠稀疏自编码的模糊C-均值聚类算法", 《计算机工程与应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866555A (zh) * | 2019-11-11 | 2020-03-06 | 广州国音智能科技有限公司 | 增量数据的聚类方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109496322B (zh) | 信用评价方法和装置以及梯度渐进决策树参数调整方法和装置 | |
CN109935332A (zh) | 一种基于双随机游走模型的miRNA-疾病关联预测方法 | |
Pagès | Links between root developmental traits and foraging performance | |
CN107862179A (zh) | 一种基于相似性和逻辑矩阵分解的miRNA‑疾病关联关系预测方法 | |
CN108446794A (zh) | 一种基于多个卷积神经网络结合架构深度学习预测方法 | |
CN103927580A (zh) | 一种基于改进人工蜂群算法的工程约束参数优化方法 | |
CN105760503B (zh) | 一种快速计算图节点相似度的方法 | |
CN106022954B (zh) | 基于灰色关联度的多重bp神经网络负荷预测方法 | |
CN109635506A (zh) | 自适应混沌树和种子算法的光伏电池模型参数辨识方法 | |
CN103699678B (zh) | 一种基于多阶段分层采样的层次聚类方法和系统 | |
CN111611274A (zh) | 一种数据库查询优化方法和系统 | |
CN113887787B (zh) | 一种基于长短时记忆网络和nsga-ii算法的洪水预报模型参数多目标优化方法 | |
CN105808689A (zh) | 一种基于人工神经网络的水系实体语义相似性度量方法 | |
CN109514553A (zh) | 一种机器人移动控制的方法、系统及设备 | |
CN105550368A (zh) | 一种高维数据的近似最近邻检索方法及检索系统 | |
CN106780058A (zh) | 动态网络的社团划分方法及装置 | |
CN108062585A (zh) | 一种基于飞蛾扑火算法计算函数最值的方法 | |
CN115099461A (zh) | 基于双分支特征提取的太阳辐射预测方法及系统 | |
CN113722980A (zh) | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 | |
CN106296434A (zh) | 一种基于pso‑lssvm算法的粮食产量预测方法 | |
CN113312807B (zh) | 一种基于锂电池性能模拟环境的电解液配方推荐方法 | |
CN107145934A (zh) | 一种基于增强局部搜索能力的人工蜂群优化方法 | |
CN108550180B (zh) | 基于内点集域约束及高斯过程参数优化的血管建模方法 | |
CN104899605A (zh) | 一种基于自动编码机实现数据增量聚类的方法 | |
CN108198084A (zh) | 一种复杂网络重叠社区发现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150909 |
|
WD01 | Invention patent application deemed withdrawn after publication |