基于局部结构保存的深度迁移嵌入聚类机器学习方法与流程

文档序号:16975904发布日期:2019-02-26 18:59阅读:394来源:国知局
基于局部结构保存的深度迁移嵌入聚类机器学习方法与流程
本发明属于计算机视觉和模式识别
技术领域
,涉及一种深度迁移嵌入聚类方法,尤其是涉及一种基于局部结构保存的深度迁移嵌入聚类机器学习方法。
背景技术
:无监督聚类是数据科学和机器学习中的一个重要研究主题。传统聚类算法如k-means、高斯混合模型和谱聚类,根据内在的特性或相似度在手工设计的特征上将数据分组。然而,当输入特征空间(数据空间)的维数很高时,相似性度量将变得不可靠,从而无法得到有效的聚类结果。把数据从高维特征空间映射到低维空间,然后再进行聚类是一个直观的解决方案,并已被广泛研究。这可以通过应用降维技术,如主成分分析(fca)来实现,但这些浅层模型的表达能力是有限的。由于深度学习的发展,这种特征变换可以通过使用深度神经网络(dnn)实现,可以将其称为深度聚类。最初的深度聚类工作主要通过在目标函数中加入先验知识来学习能保留某些数据属性的特征。现有的深聚类算法大致分为两大类:(i)先抽取特征再聚类的两阶段方法,及(ii)同时学习特征和进行聚类的方法。前一类算法直接利用现有的无监督深度学习框架和技术。例如文献“learingdeeprepresentationsforgraphclustering”(feitian,bingao,qingcui,enhongchen,andtie-yanliu.inaaai,pages1293-1299,2014)采用自编码学习原始图像的低维特征,然后运行k-均值算法得到聚类结果。文献“deeplearningwithnonparametricclustering”(gangchen,arxivpreprintarxiv:1501.03084,2015)逐层训练一个深层信念网络(dbn),然后使用无参最大间隔聚类方法得到聚类结果。文献“deepsubspaceclusteringwithsparsityprior”(xipeng,shijiexiao,jiashifeng,wei-yunyau,andzhangyi.inthe25thinternationaljointconferenceonartificialintelligence,2016)使用带稀疏先验的自编码学习非线性的隐空间,该空间保存局部和全局的子空间结构,然后使用传统的聚类算法来获得聚类标签。另一类算法尝试显式地定义聚类误差,类似与监督深度学习中分类误差。例如文献“jointunsupervisedlearningofdeeprepresentationsandimageclusters”(jianweiyang,deviparikh,anddhruvbatra.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,pages5147-5166,2016)提出了一个递归框架,将特征学习和图像聚类融入到一个框架中,通过最小化加权triplet损失来得到最终结果。dec学习映射到一个低维空间的深神经网络,它可以同时获得特征表示和聚类标签分配。深度嵌入聚类(dec)算法以自学习的方式定义有效的目标,定义的聚类损失对网络参数和聚类中心同时进行优化,而聚类指派被隐式集成到软标签中。然而,该聚类损失不能保证学到的特征能够保存原始数据的局部结构。因此,特征转换可能会被误导,导致构造崩溃的嵌入特征空间,即学习到无效的数据表示。技术实现要素:本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于局部结构保存的深度迁移嵌入聚类机器学习方法。本发明的目的可以通过以下技术方案来实现:一种基于局部结构保存的深度迁移嵌入聚类机器学习方法,该方法基于欠完全自动编码器保存数据生成分布的局部结构,融合聚类损失和重建损失建立聚类优化模型,并通过小批量随机梯度下降和反向传播算法求解所述聚类优化模型,实现聚类。进一步地,所述聚类优化模型的目标函数为:minl=lr+γlc其中,lr和lc分别为重建损失和聚类损失,γ为用于控制破坏特征空间程度的系数,γ>0。进一步地,所述重建损失确保嵌入空间保留数据生成分布的局部结构,表达式为:其中,xi为聚类样本,zi为xi经编码后获得的嵌入点,gw′()表示解码器,n为聚类数据集的样本个数。进一步地,所述聚类损失用于促使嵌入点分散成组,表达式为:其中,kl为kl散度函数,衡量概率分布p和q的差异,pij为目标分布,qij为嵌入点zi和聚类中心μj在学生t-分布下的相似度。进一步地,所述通过小批量随机梯度下降和反向传播算法求解所述聚类优化模型时的优化变量包括自动编码器权重、聚类中心和目标分布p,优化过程包括:每一次迭代中,固定目标分布p,更新自动编码器权重和聚类中心;在设定迭代周期后,固定自动编码器权重和聚类中心,更新目标分布p。进一步地,所述自动编码器权重和聚类中心的更新公式如下:其中,w′为解码器权重,λ为学习率,m为小批量样本数,w为编码器权重,μj为第j个类别的聚类中心,lr和lc分别为重建损失和聚类损失。进一步地,所述目标分布p中的元素pij的更新公式如下:其中,zi为样本xi经编码后获得的嵌入点,μj为第j个类别的聚类中心。进一步地,所述更新目标分布p后,记录标签si:其中,pij目标分布p中的元素判断当前标签与前一次标签间的变化量是否小于阈值,若是,则停机。与现有技术相比,本发明具有以下有益效果:1)本发明可以同时执行聚类和学习保存了局部结构的特征表示,保证了聚类效果,大幅度优于现有深度聚类方法,解决了现有dec方法不能保存数据局部结构的问题。2)本发明方法简单,无递归结构,与dec相比,聚类精度和特征的代表性更优。3)本发明通过显式地保存数据的局部结构来处理这个问题,在这种情况下,高可信样本的监督信息可以帮助边缘样本走到正确的聚类。附图说明图1为本发明的原理示意图;图2为本发明方法的流程示意图;图3为实验中训练精度在mnist数据集上的变化示意图;图4为在mnist数据集中的聚类结果可视化示意图,第一行对应本发明方法,第二行对应于dec。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。本发明提供一种基于局部结构保存的深度迁移嵌入聚类机器学习方法,该方法基于欠完全自动编码器保存数据生成分布的局部结构,融合聚类损失和重建损失建立聚类优化模型,并通过小批量随机梯度下降和反向传播算法求解所述聚类优化模型,实现聚类。本发明使用欠完全自编码学习来学习嵌入特征和保存数据生成分布的局部结构。本发明将自编码器融入到现有的dec框架中,通过这种方式,可以同时执行聚类和学习具有代表性的能保存局部结构的特征。本发明方法可以看作是一个带正则的自编码器,其中正则化项为dec中的聚类损失;也可以看作是dec方法的改进版本,本发明称为改进的深度聚类(idec)。本发明idec只有嵌入编码和聚类损失之间的前向和后向过程需要考虑,其余部分可以直接使用小批量随机梯度下降和反向传播求解。1、自动编码器自编码是一个试图将输入复制到输出的神经网络,其内部具有一个隐藏层z。自编码网络由两部分组成:编码函数z=fw(x)和解码器x′=gw′(z)。重建误差||x′-x||用于训练网络,目标是使隐层编码z能很好地表示输入数据。(1)欠完全自动编码器避免恒等映射的最简单方法是控制隐层编码的维数z低于输入数据x。学习欠完全的表示将强制网络只捕获最显著的特征。当编码器和解码器是线性激活并且重建误差是均方误差时,一个欠完全自编码能学到和pca一样的子空间,具有非线性激活autoencoders,可以学到更复杂强大的子空间。隐藏编码z是紧凑的,并保留显著的数据特性。(2)去噪自动编码器去噪自编码最小化以下目标:其中,是x的被某种噪音破坏的拷贝。去噪自编码试图从破坏掉的样本中恢复原有样本,因此能强制编码器fw和解码器gw′隐式捕获数据生成分布的内在结构,即使隐藏编码不是低维的以及网络容量很大时,也是如此。去噪编码器用于初始化训练,而欠完全自编码添加到后续优化过程中。2、深度嵌入聚类深度嵌入聚类(dec)首先训练自编码器,然后删除解码器,剩下的编码器通过以下目标函数进行修正:其中qij是嵌入点zi和聚类中心μj在student’st-distribution(学生t-分布)下的相似度:pij是目标分布,定义为:可见,目标分布p由q定义,因此,最小化l是一种自训练。以fw表示编码映射,即zi=fw(xi),其中xi是输入样本。预训练完后,所有嵌入点{zi}可用fw得到。然后在{zi}上运行k-means得到初始聚类中心{μj}。然后可根据在式(2)、(3)和(4)计算l。预测的样本xi的标签为argmaxjqij。在反向回传过程中,可容易计算得到和然后反向传播以更新,用于更新聚类中心μj:dec的最大贡献是聚类损失(或目标分布p),它的工作原理是使用高可信样本作为监督,然后使样本在每个聚类中分布得更密集。然而,边缘的样品能否被拉向正确的集群无法保证。3、本发明方法图1为本发明idec的网络结构,编码器和解码器是由全连接层组成,聚类损失用于促使嵌入点z分散成组,重建损失确保嵌入空间保留数据生成分布的局部结构。考虑具有n个样本的数据集x,每个样本其中d为维度。类别数k从先验知识中获得,第j个聚类中心表示为用si∈{1,2,…,k}表示赋予xi的聚类索引。定义非线性映射fw:xi→zi和gw′:zi→x′i,其中,zi是xi在低维特征空间的嵌入点,x′i是xi的重建版本。本发明的目标是找到使更适宜聚类的fw。为此,损失的自编码和聚类是必不可少的。自编码是用来学习在监督的方式表示和学习的功能,可以在数据保存固有的局部结构,聚类损失用于负责操作嵌入空间以分散嵌入点。整个网络结构如图1所示,目标函数定义为:minl=lr+γlc(6)其中lr和lc分别为重建损失和聚类损失,γ>0,为用于控制破坏特征空间程度的系数。当γ=1和lr=0时,式(6)退化为dec的目标函数。(1)聚类损失和初始化聚类损失定义为分布p和q的kl散度,其中q是软标签分布,由student’st-distribution计算得到。p为由q导出的目标分布,也就是说,聚类损失定义为:其中kl为kullback-leiblerdivergence,衡量两个概率分布的差异,p和q分别由公式(4)和(3)定义。根据式(3),软标签依赖于聚类中心和嵌入点。如果网络是随机初始化的,嵌入点与输入数据的结构不符。因此,软标签是没有意义的,聚类损失不能提供有用的信息来调整网络参数。因此在使用聚类损失前,需要预训练网络获得合理的嵌入表示。任何神经网络都是可行的选择,如深信念网络(dbn)、级联自动编码器(sae)和生成式对抗网络(gan)。经逐层预训练后微调获得一个级联去噪自动编码器。经过训练,嵌入点是对输入样本有效的特征表示。然后聚类中心可采用k-均值初始化(2)局部结构保存上述获得的嵌入点不一定适合聚类任务。为此,dec抛弃解码器。然而,这种调整可能会扭曲嵌入空间,削弱嵌入特征的代表性,从而伤害了聚类性能。因此,本发明保持解码器不变,并直接附加到嵌入空间的聚类损失中。为了保证聚类损失效果,层级去噪编码不再合适。相反,本发明利用标准的编码与低维约束。用均方误差(mse)建立重建损失:其中zi=fw(xi),fw和gw′为编码器和解码器。自动编码器可以保存数据生成分布的局部结构。在这种情况下,使用聚类损失稍微操纵嵌入空间不会造成坍塌。本实施例中,系数γ设为0.1。(3)优化采用小批量随机梯度下降(sgd)和反向传播优化。具体来说,有三种类型的参数优化或更新:自编码的权重、聚类中心和目标分布p。更新自动编码器的权重和聚类中心。固定目标分布p,然后lc对嵌入点zi和聚类中心μj的梯度可由下式计算:然后给定具有m个样本的小批数据和学习率λ,μj可由下式更新:解码器权重更新公式:编码器的权重更新为:更新目标分布。目标分布p作为“groundtruth”软标签还取决于预测软标签。因此,为了避免不稳定,p不应该在每一次迭代后立马更新(对于自编码的权重采用一批样本进行一次更新被称为一次迭代)。在实践中,可每t次迭代更新一次目标分布。更新规则如公式(3)和(4)。当更新目标分布时,标签可由下式获得:其中,qij由公式(3)计算。如果两次迭代的标签变化量(百分比)小于阈值δ,则停止训练。上述方法过程可描述如下:输入:数据x,聚类个数k,目标分布更新区间t,停机阈值δ,最大迭代次数maxiter。输出:自动编码器权重w和w′,聚类中心μ及标签s。4、实验提出的idec方法在两个图像数据集和一个文本数据集上做实验:mnist:mnist坍数据集共由70000个手写体数字图像组成,每个为28×28像素大小,把每个灰度图像拉成784维向量。usps:usps数据集包含9298个手写数字图像,16×16像素大小。特征值在[0,2]区间。reuters-10k:reuters包含约810000个英文新闻故事,标有类别树。仿照dec,使用4个根类别:企业/工业,政府/社会,市场和经济作为标签,并排除所有其他文件与多个标签。由计算资源的限制,随机抽样的10000个样本的子集以及计算idf最频繁的2000个词。采样的数据集被称为reuters-10k。这些数据集的统计汇总表1,对于实验中采用的所有方法,采用一样的方法预处理数据集,即归一化每个样本xi∈x到表1数据集样本数种类维数mnist7000010784usps929810256reuters-10k1000042000(1)实验设置本实施例通过与现有的k-均值、谱嵌入聚类(sec)、两步聚类(ak+k-means)和dec比较来证明本发明方法的有效性。sec是一个谱聚类的变种,sec参数被固定为默认值。实验时的迭代次数设为20次。按dec的设定,编码器网络被设置为一个完全连接的多层感知器(mlp),尺寸d-500-500-2000-10,其中d是输入数据的维度。解码器网络是编码器的镜像,即mlp维度为10-2000-500-500–d。除了输入和输出层,内部各层通过relu激活。自编码网络训练是完全一样的。经过训练,系数γ设为0.1,批大小设为256。对mnist数据集使用adam优化器,参数为λ=0.001,β1=0.9,β2=0.999。对usps和reuters-10k数据集使用学习率λ=0.1和动量β=0.99的sgd。收敛阈值设为δ=0.1%。更新区间t为140,30,3,对应mnist、usps和reuters-10k。(2)评价指标本实施例选取聚类精度(准确度)和归一化互信息(nmi)作为评价指标。聚类精度定义为真实标签和预测标签之间的最佳匹配:其中yi和ci是xi的真实标签和预测标签,g是从预测标签到真实标签的一一映射。最佳映射可用hungarian算法高效求解。归一化互信息(nmi)的公式为:其中i和h分别为互信息和熵。表2在准确度(%)和nmi(%)方面的聚类性能比较。idec已经对所有数据集取得最佳性能。从dec和idec的对比证明重建损失项的有效性,即保持局部结构有利于聚类性能。表2方法mnistuspsreuters-10kk-means53.2466.8251.62sec80.37n/a60.08ae+k-means81.82(74.73)69.31(66.20)70.52(39.79)dec86.55(83.72)74.08(75.29)73.68(49.76)idec88.06(86.72)76.05(78.46)75.64(49.81)本发明方法在三个数据集上的比较结果列在表2中结果表明,深度聚类算法ae+k-均值、dec和idec超越传统的聚类算法k-means和谱聚类sec,并且优势很大。这表明深度聚类在无监督学习中具有很大的潜力。ae+k-均值和dec之间的性能差距反映了聚类损失的效果。idec和dec的对比表明自编码确实可以帮助提高聚类性能。图2和图3说明idec在mnist上的优势。首先,最终的精度符合预期(如表2所示),即idec优于dec。第二,idec收敛慢于dec,是因为重建损失带来的波动。第三、idec具有更大的耗时和更高的聚类准确率,这意味着dec可能通过扭曲嵌入式特征空间和破坏数据的内在结构误导聚类过程。最后,重建损失在最后几次迭代中与最初迭代时的值大致相等。这意味着,从dec到idec的性能增益不是由于自编码的聚类能力。在另一个实验中,只使用重建损失lr,并没有观察到聚类精度提升,认为自编码起着保持数据局部结构的作用,这种情况下可以利用聚类损失来调整嵌入空间以得到更好的聚类精度。实验进一步通过t-sne在mnist子集上的可视化来证明假设,如图4所示。第一排为idec的训练过程,可以看出每个类别的“形状”几乎保持一致。第二排为dec的训练过程,其形状在训练过程中发生了很大的变化。此外,在第一排中,各个簇看起来都是可分的,可dec的最后一列中的多个簇都混合在一块。可以得出结论,自编码可以保存数据生成分布的内在结构,并因此帮助提高聚类性能。本发明idec方法同时进行聚类和学习嵌入特征,学到的特征适用于聚类任务且保存了数据生成分布的局部结构。idec通过优化基于kl散度的聚类损失与自我训练的目标分布来操纵特征空间,以使其中的点散布成簇。通过使用自编码来保持数据局部结构。实验结果表明,数据局部结构有利于聚类性能的提升。以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1