本发明涉及图像处理技术领域,尤其涉及一种基于局部学习正则化的深度矩阵分解方法及图像聚类方法。
背景技术:
在很多情况下,为了处理数据的分类和聚类问题,我们常常面临着处理高维数据的难题。这类问题的常规解决方法是将高维数据低维化,即建立某种数据表示方法,用低维数据近似表示高维数据。常用的数据表示方法主要分为两类:一类是线性表示方法,另一类是非线性表示方法。对于线性表示方法来说,只要求采样数据所在的低维流形是线性即可,具有使用简单的特点,但在对原始数据进行线性分解时,常常会忽略甚至丢失各种模型的潜在的属性之间的可能存在的非线性关系,进而无法处理新的样本。对于非线性表示方法来说,其通过引入不同层之间的非线性函数,可以从初始输入空间中对模型的潜在属性进行较高精度和更高准确度地提取特征,并同时保证数据的几何流形结构,从而确保忠于原始数据集,保证较多的有效信息和特征的同时,增加了数据的使用效率。
近来,稀疏编码(sc)渐渐地在图像处理、目标分类、语言信号等领域普及,其原理是将少量的训练样本表示测试样本,从而达到将表达系数稀疏化的目的。一种常用的稀疏编码的方法是非负矩阵分解,通过将绝对的非负矩阵分解成两个绝对非负矩阵的乘积的形式。但是严格意义上的非负矩阵很难满足数据的多属性性质所要求的层次结构,在实际应用中局限性较大。
技术实现要素:
针对上述问题,本发明提供了一种基于局部学习正则化的深度矩阵分解方法及图像聚类方法,有效解决现有非负矩阵难以满足数据的多属性性质所要求的层次结构的技术问题。
本发明提供的技术方案如下:
一种基于局部学习正则化的深度矩阵分解方法,包括:
s10根据待聚类图片获取数据矩阵y;
s20基于所述数据矩阵y构建目标函数:
其中,y=[y1,y2,…,yn],其中,yj=yj,j=1,2,…,n,j表示对数据矩阵y观测的次数,n表示对数据矩阵y观测的总次数;m为数据矩阵y的维度;
s30根据目标函数c**,使用迭代加权的方法,输出基矩阵ni和系数矩阵mi,完成对数据矩阵y的分解。
进一步优选地,在步骤s30中包括,目标函数c**对基矩阵ni求偏导,得到基矩阵ni的更新迭代式:
其中,ψ=n1...ni-1,
进一步优选地,在步骤s30中还包括,根据数据矩阵y中m层的数据分解过程,得到系数矩阵mi的更新迭代式:
其中,[m]pos表示矩阵中所有负元素都被0替换,[m]neg表示矩阵中所有正元素都被0替换。
本发明还提供了一种图像聚类方法,包括:
s1从图像库中提取出m个图像,并构造q个最邻近图;
s2采用如权利要求1-3任意一项所述的深度矩阵分解方法得到系数矩阵mi;
s3利用k-means算法对系数矩阵mi进行分析,完成图像聚类。
本发明提供的基于局部学习正则化的深度矩阵分解方法及图像聚类方法,与传统的严格意义上的绝对非负矩阵分解相比,不仅通过深度半非负矩阵分解精准高效地完成了数据的分类,同时将部分属性信息进行合并,实现了对各个区域的预测代价最小化;此外,该深度矩阵分解方法不仅可以保持原始数据的流形结构和鉴别结构,而且还能够高效地利用数据集,提取更为潜在的数据属性和特征。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明中基于局部学习正则化的深度矩阵分解方法流程示意图;
图2为本发明中图像聚类方法流程示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
对于深度半非负矩阵分解(deepsemi-nmf)来说,是将给定的不限制内部元素正负的原始数据集矩阵y±分解成(m+1)个因子,使这(m+1)个因子的乘积尽可能与原始数据集矩阵y±近似相等。在系数矩阵非负的限制下,深半非负矩阵正则化尽可能保持信息不变,将高维的随机模式简化为低维的随机模式,简化的基础是估计出数据中的本质结构y±。因此,从维数简约的角度,由于基矩阵n±和系数矩阵m±同时由原始数据矩阵确定,系数矩阵m±并非是原始数据矩阵y±在基矩阵n±上的投影,故深度半非负矩阵分解的根本方法是非线性的维数约简。对一个m维的随机变量y,进行n次观测,分别将这些观测记为yj,j=1,2,…,n,令y=[y1,y2,...yn],其中,yj=yj,j=1,2,…,n,求出m个不限制内部元素正负的基矩阵n±=[n1,n2,…,nn]和非负系数矩阵m±=[e1,e2,...en],使得满足式(1):
为了减少模式全部重建的错误,建立了如式(2)的损失函数,即目标函数cdeep:
其中,||·||f表示弗罗贝尼乌斯范数。以此,对于深度半非负矩阵的分解,转化为目标函数cdeep的最小化问题。
由于其中包括m层结构,具体的分解过程如式(3):
对式(3)进行变形得到式(4):
通过式(4)进一步限制这些隐含的表示
虽然其是稀疏编码常用的分解方法,但是严格意义上的非负矩阵很难满足数据的多属性性质所要求的层次结构,在实际应用中局限性较大。因此,本申请中提出了一种基于局部学习正则化的深度矩阵分解方法,不仅可以精准高效地完成了数据的分类,同时可以将部分属性信息进行合并,实现对各个区域的预测代价最小化。如图1所示,在该分解方法中包括:
s10根据待聚类图片获取数据矩阵y。
s20基于数据矩阵y构建由深半非负矩阵正则化的目标损失函数和局部学习正则化的预测损失函数两部分构成的目标函数:
其中,y=[y1,y2,…,yn],其中,yj=yj,j=1,2,…,n,j表示对数据矩阵y观测的次数,n表示对数据矩阵y观测的总次数;m为数据矩阵y的维度;
在该步骤中,假定h=tr(dmdt),以下对其由来进行说明:
对于任意一个数据点yi,使用t(yi)表示它周围的点。通过建立预测函数
其中,
通过局部学习正则化技术,可以用监督式学习的办法解决无监督式问题。因此,局部学习正则化方法的目标函数如(6)式所示,默认ω1=...=ωn=ω,n1=n2=...=nn=b,根据representortheorem定理可得式(7):
将式(7)代入式(6),可得到函数的变形式(8):
限定
其中,矩阵e代表单位矩阵,且满足:
将(9)式代入(6)式中得到式(10):
其中,
将所有的预测组合在一起并将预测错误最小化:
之后引入最近邻图,对于任意的特征向量yj∈y,若其近邻图t(yi)在y中首次被发现,则可将y作为其中的一个最近邻图。以此这里根据用户特定的度量,从数据集y,y={y1,...,yn},yi∈rd,构造的最近邻图q(一个节点连接到c个最近邻居)是一个有向图,其中q=(v,e)是一个有向图,其中v=x,e是一个x×x子集,并且(xi,xj)∈e,则nk(xi,q)在图形q上是xi的c个近邻。构造图q,q∈rn×n,当
其中,el是矩阵m的第l行。
s30根据目标函数c**,使用迭代加权的方法,输出基矩阵ni和系数矩阵mi,完成对数据矩阵y的分解。
具体,在该步骤中,对c**求偏导时,考虑到(13)式中的第二项h=tr(dmdt)对ni的偏导数为常数0,所以只需通过利用等式
其中,ψ=n1...ni-1,
根据数据矩阵y中m层的数据分解过程(与式(4)同理),得到系数矩阵mi的更新迭代式:
其中,[m]pos表示矩阵中所有负元素都被0替换,[m]neg表示矩阵中所有正元素都被0替换,可以通过式(15)实现:
[ψtψ]neg和[ψtψ]neg也可以通过相同的方式加以实现。
基于基矩阵ni和系数矩阵mi的迭代式,循环迭代m次得到更新的基矩阵和系数矩阵。
本发明还提供了一种图像聚类方法,如图2所示,在该图像聚类方法中包括:s1从图像库中提取出m个图像,并构造q个最邻近图;s2采用上述深度矩阵分解方法得到系数矩阵mi;s3利用k-means算法对系数矩阵mi进行分析,完成图像聚类。具体,该图像聚类方法除了可以应用于正常的图片聚类之外,可以应用于人脸图像聚类等。
应当说明的是,上述实施例均可根据需要自由组合。以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通相关人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。