传统的机器学习方法一般分为监督学习和无监督学习[1]。传统的监督学习,通常需要大量良好标记样本对模型进行训练,而传统的无监督学习的整个过程不借助监督信息[2]。然而在现实应用中,通常只有小部分数据带有监督信息,这些数据难以支撑传统监督学习,若继续使用传统无监督学习,会浪费这些监督信息[3]。
为了更好地处理监督信息与数据之间的关系,有学者提出了半监督学习[4-5]。按照学习场景的不同,半监督学习通常可以分为半监督聚类和半监督分类[6]。本文主要研究的半监督聚类是通过对有标签数据样本(监督信息)的分析来辅助指导整个聚类过程。根据监督信息形式的不同,半监督聚类分为基于成对约束和基于标签信息的半监督聚类。
成对约束信息一般判断两个数据点是否同属一类[7]。文献[8]提出了一种基于成对约束对的半监督核K-means聚类的图像分割算法,该算法利用随机产生的must-link约束对来初始化中心,结合核K-means聚类的思想,使该算法能对图像进行较为准确的分割。文献[9]提出了基于成对约束的交叉熵半监督模糊聚类算法,这种方法利用样本的交叉熵来表达成对约束信息,能够在成对约束信息较少的情况下实现快速聚类和获得较优的结果。文献[10]提出一种基于密度自适应邻域相似图的半监督谱聚类算法,利用成对约束信息调整谱聚类中相似矩阵,可以从数据全局寻求最优解。
然而相较于成对约束信息,标签信息可以直接判断数据点的类别[11]。文献[11]提出了seeded-K-means算法,将标记样本引入K-means中,其中标记样本作为seeds集,但是难以处理高维数据。文献[12]认为基于线性嵌入的回归模型难以捕获数据流形结构,提出利用Lδ正则项放宽线性约束,使之可以更好学习数据的流形结构,但是增加了Lδ的调参负担。文献[13]在文献[12]的基础上通过增加对标签矩阵的拉普拉斯正则项放宽线性约束,去除Lδ的调参负担,但是过多的正则项使得模型的计算量也随之增加。文献[14]提出了一种半监督迭代多任务回归。通过联合考虑已标记和未标记的数据来学习低维子空间,并通过两个回归任务来连接已学习的子空间,但是算法时间复杂度较高。
半监督聚类算法研究至今,在机器学习[15-16]、图像处理[17-18]、计算机视觉[19]以及系统辨识[20]等领域都有着广泛的应用。针对半监督学习中基于线性嵌入的回归模型难以捕获数据流形结构的问题,本文提出新的算法:首先通过L21正则项构造标签矩阵F的弹性嵌入回归模型;进而借助图正则化思想,利用拉普拉斯正则项调整模型,约束原始空间的数据X与低维空间的数据F流形结构一致;最后通过L21范数的鲁棒性学习得到数据点的相似矩阵,与L2范数和Lδ范数相比,L21范数能很好地消除离群点的影响且没有调参的负担。因此提出基于L21范数和回归正则项的半监督聚类算法(semi-supervised clustering algorithm based on L21norm and regression regular term, SSLC)。
1 相关工作 1.1 半监督学习给定数据集X={x1, x2, …, xn}∈ Rd×n,在半监督学习中,训练数据集中只有少量数据被标记,假设有l个数据点为标记点,记为Xl={x1, x2, …, xl},未标记点记为Xu={xl+1, xl+2, …, xn},对于每个数据i,都有对应的标签yi∈{0, 1},其中数据集Xl对应的标签向量为yl∈ Rl×1,定义f=[f(l), f(l)]T为预测标签,其中f(l)∈ Rl×1和f(u)∈ Ru×1,因此我们得到经典半监督学习函数
$ \mathop {{\rm{min}}}\limits_{W,b} {\mathit{\boldsymbol{W}}^{\rm{T}}}{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{XW}} + \alpha \left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1b}} - \mathit{\boldsymbol{f}}} \right\|_2^2 + \beta \left\| \mathit{\boldsymbol{W}} \right\|_2^2, $ | (1) |
其中:W是投影向量;b为偏置向量;1为所有元素为1的向量;α和β为常数。从式(1)可以看出,约束预测的标签f与线性模型XTW+1b完全相等,在实践中,为了减少参数调整的负担,使用了式(2)来避免过拟合,
$ \mathop {{\rm{min}}}\limits_{f,{f_{(l)}} = {y_{(l)}},W,b} {\mathit{\boldsymbol{f}}^{\rm{T}}}\mathit{\boldsymbol{Lf}} + \gamma {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1b}} - \mathit{\boldsymbol{f}}} \right\|_\delta }, $ | (2) |
其中:L为拉普拉斯矩阵;γ为常数。定义L=D-A,其中:A是基于数据集构造的相似矩阵;D为对角矩阵,主对角线元素
使用L2范数的平方作为损失函数对较小的异常值不敏感,但对较大的异常值敏感;使用L1范数作为损失函数对较大的异常值不敏感,对较小的异常值敏感;而使用Lδ范数作为损失函数时,可以通过调整参数δ使其介于L2范数和L1范数之间,则无论异常值是大是小,L2和L1范数的鲁棒性均被利用,但是增加了调整参数δ的负担。为了解决上述问题,通过L21范数[21],使得聚类模型更好地处理异常值和减少调参的负担,起到弹性嵌入的作用,且没有Lδ范数的调参负担。L21范数为
$ {\left\| \mathit{\boldsymbol{X}} \right\|_{2,1}} = \sum\limits_{i = 1}^m {\sqrt {\sum\limits_{j = 1}^n {\mathit{\boldsymbol{X}}_{ij}^2} } } , $ |
其中:m是行数; n是列数。
1.3 构造初始相似矩阵本文为了更好地学习相似矩阵,基于K共享近邻和已知标签矩阵F(l)给出初始相似矩阵A的构造方法如下。
定义1(K近邻[22]) 样本点xi∈X的K近邻为该点到其他样本点的距离中最近的K个点,定义为
$ KNN(i) = \{ j \in \mathit{\boldsymbol{X}}|index{\rm{\_}}dist(i,j) \le \mathit{\boldsymbol{K}}\} , $ | (3) |
其中:index_dist(i, j)表示样本点xi到其他样本点的距离升序排序后的索引值;dist(i, j)表示两点之间的欧氏距离。
定义2(K共享近邻[23]) 假设样本点xi、xj∈X,KNN(i)为样本点xi的K近邻集,KNN(j)为样本点xj的K近邻集,则样本点xi和xj的K共享近邻集定义为
$ SKNN (i,j) = \{ KNN(i) \cap KNN(j)\} 。$ | (4) |
根据定义1和定义2,得到初始相似矩阵A的定义为
$ {\mathit{\boldsymbol{A}}_{ij}} = \left\{ {\begin{array}{*{20}{l}} {{\rm{exp}}( - \frac{{\sum { dist } ({\mathit{\boldsymbol{x}}_i}, SKNN (i,j))}}{{2Nu{m^2} + 1}}),}&{Num{\rm{ }} \ne 0,}\\ {0,}&{Num = 0,} \end{array}} \right. $ | (5) |
其中:Num是SKNN(i, j)中的元素个数;∑dist(xi, SKNN(i, j))是样本点xi到SKNN(i, j)中元素的距离之和。
根据已知标签矩阵F(l)构造约束矩阵为
$ \mathit{\boldsymbol{cons}} (i,j) = \left\{ {\begin{array}{*{20}{l}} {1,}&{{\mathit{\boldsymbol{F}}_i} = {\mathit{\boldsymbol{F}}_j}(i,j = 1,2, \cdots ,l),}\\ { - 1,}&{{\mathit{\boldsymbol{F}}_i} \ne {\mathit{\boldsymbol{F}}_j}(i,j = 1,2, \cdots ,l),} \end{array}} \right. $ | (6) |
其中:若标签Fi和Fj相等,说明xi和xj属于同类,反之亦成立。根据cons矩阵和式(5),得到最终的初始相似矩阵A为
$ {\mathit{\boldsymbol{A}}_{ij}} = \left\{ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{A}}_{{\rm{max}}}},}&{\mathit{\boldsymbol{cons}}(i,j) = 1,}\\ {{\mathit{\boldsymbol{A}}_{ij}},}&{{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{其他,}}}\\ {{\mathit{\boldsymbol{A}}_{{\rm{min}}}},}&{\mathit{\boldsymbol{cons}}(i,j) = - 1}。\end{array}} \right. $ | (7) |
由于线性函数XTW+1b是通过标签矩阵F学习得到的,考虑到标签矩阵F与学习到的线性模型XTW+ 1b存在距离,为了更好地学习数据的流形结构,借助L21范数的弹性嵌入作用,建立弹性半监督学习函数
$ \mathop {{\rm{min}}}\limits_{F,{F_{(l)}} = {Y_{(l)}},W,b} {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1b}} - \mathit{\boldsymbol{F}}} \right\|_{2,1}}。$ | (8) |
考虑到算法最后要对F进行聚类,为了约束原始空间的数据X与映射到低维空间的数据F几何结构不变,基于图正则化思想,选择拉普拉斯正则项来调整式(8),建立目标函数
$ \mathop {{\rm{min}}}\limits_{F,{F_{(l)}} = {Y_{(l)}},W,b} \gamma {\left\| {F,{F_{(l)}} = {Y_{(l)}},W,b} \right\|_{2,1}} + 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_S}\mathit{\boldsymbol{F}}), $ | (9) |
其中:拉普拉斯矩阵LS是由给定的相似矩阵A得到的,考虑到随着预测的标签矩阵F(u)的更新,为了保持拉普拉斯正则项的约束不变,与标签矩阵F对应的LS也应该更新。而相似矩阵S可以通过学习初始相似矩阵A得到,由于学习的相似矩阵S与给定的初始相似矩阵A存在距离,通过L21范数的鲁棒性学习一个最优的相似矩阵并完成对LS的更新,调整式(9)为最终目标函数
$ {\rm{min}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \gamma {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1}}{\mathit{\boldsymbol{b}}^{\rm{T}}} - \mathit{\boldsymbol{F}}} \right\|_{2,1}} + 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_S}\mathit{\boldsymbol{F}}) + {\left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{A}}} \right\|_{2,1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} s.t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{s}}_i^{\rm{T}}{\bf{1}} = 1,{\mathit{\boldsymbol{s}}_i} \ge 0,{\mathit{\boldsymbol{F}}_{(l)}} = {\mathit{\boldsymbol{Y}}_{(l)}}, $ | (10) |
其中:标签矩阵F∈ Rn×c,已知数据的标签矩阵为F(l)∈ Rl×c,预测的标签矩阵为F(u)∈ Rn-l×c;A为给定的初始相似矩阵;LS为拉普拉斯矩阵,定义LS=L-S,式中的S为相似矩阵,L为对角矩阵,主对角线元素
关于2.1节中目标函数式(10),采用交替迭代优化算法来求解。
① 固定F、W和b,求解S,式(10)就转为
$ {\rm{min}}{\kern 1pt} {\kern 1pt} 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_S}\mathit{\boldsymbol{F}}) + {\left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{A}}} \right\|_{2,1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{ }}s.{\rm{ }}t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{s}}_i^{\rm{T}}{\bf{1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} = 1,{\mathit{\boldsymbol{s}}_i} \ge 0, $ | (11) |
关于式(11),根据文献[24],已知存在fi∈ Rc×1,使得式(12)成立,
$ \sum\limits_{i,j = 1}^n {\left\| {{\mathit{\boldsymbol{f}}_i} - {\mathit{\boldsymbol{f}}_j}} \right\|_2^2} {\mathit{\boldsymbol{S}}_{ij}} = 2 Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_S}\mathit{\boldsymbol{F}})。$ | (12) |
由于每个元素i之间是独立的,所以可以单独对每个i计算,并且令vij=‖fi-fj‖22,将式(11)转为式(13)求解,根据文献[25]可直接求解S,
$ {\rm{min}}{\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{s}}_i^{\rm{T}}\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{s}}_i}/2 - \mathit{\boldsymbol{s}}_i^{\rm{T}}{\mathit{\boldsymbol{p}}_i}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{ }}s.{\rm{ }}t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{s}}_i^{\rm{T}}{\bf{1}} = 1,{\mathit{\boldsymbol{s}}_i} \ge 0, $ | (13) |
其中:D是对角矩阵,主对角线元素
② 根据文献[13],分别得到b、W、F的更新式为
$ \mathit{\boldsymbol{b}} = {\mathit{\boldsymbol{F}}^{\rm{T}}}\mathit{\boldsymbol{U1}}/{\mathit{\boldsymbol{1}}^{\rm{T}}}\mathit{\boldsymbol{U1}} - {\mathit{\boldsymbol{W}}^{\rm{T}}}\mathit{\boldsymbol{XU1}}/{\mathit{\boldsymbol{1}}^{\rm{T}}}\mathit{\boldsymbol{U1,}} $ | (14) |
其中:
$ \mathit{\boldsymbol{W}} = {(\mathit{\boldsymbol{XN}}{\mathit{\boldsymbol{X}}^{\rm{T}}})^{ - 1}}\mathit{\boldsymbol{XNF,}} $ | (15) |
其中:
$ {\mathit{\boldsymbol{F}}_u} = - \mathit{\boldsymbol{M}}_{uu}^{ - 1}{\mathit{\boldsymbol{M}}_{ul}}{\mathit{\boldsymbol{Y}}_l}。$ | (16) |
根据2.2模型求解,SSLC算法流程如下。
输入:X为数据集,F(l)为已知标签矩阵,λ和γ为参数,A为初始相似矩阵。
输出:相似矩阵S,降维后新数据矩阵F,聚类结果y。
1) while不收敛do
2) 初始化LS,N;
3) 根据式(16)更新F;
4) 利用更新后的F,根据式(13)求解出S,更新LS;
5) 利用更新后的F,根据式(14)更新W;
6) 利用更新后的F和W,根据式(15)更新b;
7) 利用更新后的F,W,b,更新U;
8) end while
9) 对F进行K-means,完成聚类。
2.4 收敛性证明定理1 算法中的目标函数
$ {\rm{min}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \gamma {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1}}{\mathit{\boldsymbol{b}}^{\rm{T}}} - \mathit{\boldsymbol{F}}} \right\|_{2,1}} + 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_s}\mathit{\boldsymbol{F}}) + {\left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{A}}} \right\|_{2,1}}, $ |
在固定F、W和b时,交替迭代更新S过程中,目标函数值逐步减小。
证明 假设更新后的si为sinew,上一次的si为siold,通过式(11)可以求解出sinew,因为sinew是式(10)的最小值解,而siold只是式(13)的一个解,所以根据式(10)有
$ \begin{array}{*{20}{l}} {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{new}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {\mathit{\boldsymbol{d}}_i}\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new}}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2 \le }\\ {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{ old }}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {\mathit{\boldsymbol{d}}_i}\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2,} \end{array} $ | (17) |
因为
$ \begin{array}{*{20}{l}} {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{new}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + \frac{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new}}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2}}{{2{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2}}} \le }\\ {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{ old }}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + \frac{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new}}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2}}{{2{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2}}}}。\end{array} $ | (18) |
文献[21]已证明式(19)成立,任意非零向量x, y∈ Rc,有
$ {\left\| \mathit{\boldsymbol{x}} \right\|_2} - \frac{{\left\| \mathit{\boldsymbol{x}} \right\|_2^2}}{{2{{\left\| \mathit{\boldsymbol{y}} \right\|}_2}}} \le {\left\| \mathit{\boldsymbol{y}} \right\|_2} - \frac{{\left\| \mathit{\boldsymbol{y}} \right\|_2^2}}{{2{{\left\| \mathit{\boldsymbol{y}} \right\|}_2}}}。$ | (19) |
根据式(19)知
$ {\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new }}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2} - \frac{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ new }}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2}}{{2{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2}}} \le {\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2} - \frac{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|_2^2}}{{2{{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{ old }}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2}}}, $ | (20) |
将式(18)和式(20)相加可得
$ \begin{array}{*{20}{l}} {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - \mathit{\boldsymbol{f}}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{new}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new}}} - {a_i}} \right\|}_2} \le }\\ {\gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - \mathit{\boldsymbol{f}}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{old}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{old}}} - {a_i}} \right\|}_2},} \end{array} $ | (21) |
将式(21)中的每个i相加可得
$ \begin{array}{*{20}{l}} {\sum\limits_i \gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{new}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{new}}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2} \le }\\ {\sum\limits_i \gamma {{\left\| {\mathit{\boldsymbol{x}}_i^{\rm{T}}{\mathit{\boldsymbol{w}}_i} + \mathit{\boldsymbol{1b}}_i^{\rm{T}} - {\mathit{\boldsymbol{f}}_i}} \right\|}_{2,1}} + 2\lambda {{(\mathit{\boldsymbol{s}}_i^{{\rm{old}}})}^{\rm{T}}}{\mathit{\boldsymbol{v}}_i} + {{\left\| {\mathit{\boldsymbol{s}}_i^{{\rm{old}}} - {\mathit{\boldsymbol{a}}_i}} \right\|}_2}} \end{array} $ | (22) |
由1.2节的定义可得
$ \begin{array}{l} \gamma {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1}}{\mathit{\boldsymbol{b}}^{\rm{T}}} - \mathit{\boldsymbol{F}}} \right\|_{2,1}} + 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_{{S_{{\rm{new}}}}}}\mathit{\boldsymbol{F}}) + {\left\| {{\mathit{\boldsymbol{S}}_{{\rm{ new }}}} - \mathit{\boldsymbol{A}}} \right\|_{2,1}} \le \gamma {\left\| {{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{W}} + \mathit{\boldsymbol{1}}{\mathit{\boldsymbol{b}}^{\rm{T}}} - \mathit{\boldsymbol{F}}} \right\|_{2,1}} + \\ 2\lambda Tr ({\mathit{\boldsymbol{F}}^{\rm{T}}}{\mathit{\boldsymbol{L}}_{{S_{{\rm{old}}}}}}\mathit{\boldsymbol{F}}) + {\left\| {{\mathit{\boldsymbol{S}}_{{\rm{old}}}} - \mathit{\boldsymbol{A}}} \right\|_{2,1}}。\end{array} $ | (23) |
因此,该算法收敛。
3 实验分析 3.1 相关算法及参数设置接下来本文提出的SSLC算法将分别与DAN-SSC算法[7]、SSDC算法[26]、SS-Kernel-Kmeans算法[27]进行比较,以上三个对比算法为半监督聚类算法。使用聚类准确率(accuracy,acc)和兰德指数(rand index,RI)对聚类性能进行评价。测试数据集分别为人造数据集和真实数据集。其中人造数据集选用了具有代表性的Cdata9和Cdata04数据集说明SSLC算法的有效性,真实数据集采用ecoli-uni、vowel、dnatest和isolet_uni数据集进行对比。
其中DAN-SSC算法的参数k为目标聚类数。SSDC算法根据文献[21]建议,取percent=50,D=1。SS-Kernel-Kmeans算法根据文献[22]建议,参数k为目标聚类数,最大迭代次数取120。SSLC算法,参数c为目标聚类数,k=10,参数λ=0.1,γ=1。
3.2 人造数据集测试及分析本节选用Cdata04数据集和Cdata9数据集来说明SSLC算法的有效性。这两种不同的人造数据集详细信息如表 1所示。图 1和图 2是测试的结果图。测试中已知标签信息的数据量取值为40%。
![]() |
表 1 两种人造数据集 Tab. 1 Two kinds of artificial data sets |
![]() |
图 1 Cdata04数据集测试结果 Fig. 1 Experimental results of Cdata04 dataset |
![]() |
图 2 Cdata9数据集测试结果 Fig. 2 Experimental results of Cdata9 dataset |
图 1(a)代表原始的Cdata04数据集,是由4个环型簇组成,形状如四叶草,叶子交汇的地方,表示数据之间联系紧密,因此给聚类分析带来了一定的难度。图 1(b)是以最终求解出的相似矩阵S为权重,将数据重新连接,虽然相似矩阵类内的相似度保留略多,但是类间的相似度为0。图 1(c)是相似矩阵S的直观表示,从图中可以发现,相似度矩阵具有精确块对角矩阵的结构。图 1(d)是聚类结果图,数据集划分很好。
图 2(a)代表原始的Cdata9数据集,是由7个环型簇组成,簇与簇交汇的地方表示数据之间联系紧密,因此给聚类分析带来了一定的难度。图 2(b)是以最终求解出的相似矩阵S为权重,将数据重新连接,虽然相似矩阵类内的相似度保留略多,但是类间的相似度为0。图 2(c)是相似矩阵S的直观表示,相似度矩阵具有精确块对角矩阵的结构。图 2(d)是聚类结果图,数据集被很好地划分。
3.3 评价指标在真实数据集测试中,本文将分别采用acc指标和RI指标来评价SSLC算法、DAN-SSC算法、SSDC算法、SS-Kernel-Kmeans算法的效果。
acc:聚类常用的评价指标。计算公式为
RI:是一种用排列组合原理来对聚类进行评价的方法。计算公式为RI=2(a+d)/n(n+1),其中:n为样本个数;a表示在真实类别si的数据也隶属于聚类算法结果ri的个数;d表示不在真实类别si的数据也隶属于聚类算法结果ri的个数。RI的结果值在[0, 1]之间,值越大越好。
3.4 真实数据集测试及分析为了验证算法在真实数据集上的效果,判断算法是否具有实际意义,本节分别采用了UCI数据库中的ecoli-uni、vowel、dnatest和isolet_uni共4个数据集进行测试,它们的详细信息如表 2所示。其中4个算法所使用的已知标签信息的数据量取值范围分别为10%、20%、30%、40%、50%、60%。
![]() |
表 2 4个UCI数据集 Tab. 2 Four UCI datasets |
图 3是基于acc指标对聚类算法性能关于UCI真实数据集的评价结果,从图 3的(a)、(b)和(c)可以看出,本文提出的SSLC算法是明显好于其他3个聚类算法,图 3(d)中SSLC算法初始精度虽然低于SS-Kernel-Kmeans算法,但是随着已知标签数据量的增多,SSLC算法和DAN-SSC算法精度在不断提升,最终在60%处,SSLC算法精度高于SS-Kernel-Kmeans算法。
![]() |
图 3 acc指标对聚类算法性能的评价结果 Fig. 3 Evaluation results of acc on the performance of clustering algorithm |
图 4是基于RI指标对聚类算法性能关于UCI真实数据集的评价结果,大体上与图 3结果相近,但也略有不同。在dnatest数据集中,SSDC算法相对于DAN-SSC算法和SS-Kernel-Kmeans算法的RI指标结果好于acc指标结果;在isolet_uni数据集上,SSLC算法的RI指标性能提升的速度高于acc指标。
![]() |
图 4 RI指标对聚类算法性能的评价结果 Fig. 4 Evaluation result of RI index on the performance of clustering algorithm |
综上所述,本文提出的SSLC算法随着已知标签数据量的增多,性能也会提高,最后得到很好的聚类结果。实验结果说明本文提出的半监督聚类算法合理,L21范数弹性约束可以使得SSLC更好地学习数据的流形结构,从而构造合理的相似矩阵,最终得到更好的聚类结果。
4 结论和展望本文概述了半监督学习和半监督聚类的相关研究,一方面借助L21正则项构造半监督回归模型;另一方面利用L21范数的鲁棒性学习合理的相似矩阵,从而改善聚类效果。本文分别在人工数据集上进行试验和真实数据集上进行算法对比试验,结果进一步验证了本文提出的SSLC算法的有效性。SSLC算法的后续研究可考虑在降低已知标签数据量的同时,如何保证其良好的性能及如何与其他聚类算法相结合。
[1] |
李昆仑, 曹铮, 曹丽苹, 等. 半监督聚类的若干新进展[J]. 模式识别与人工智能, 2009, 22(5): 735-742. LI K L, CAO Z, CAO L P, et al. Some developments on semi-supervised clustering[J]. Pattern recognition and artificial intelligence, 2009, 22(5): 735-742. ( ![]() |
[2] |
解滨, 董新玉, 梁皓伟. 基于三支动态阈值K-means聚类的入侵检测算法[J]. 郑州大学学报(理学版), 2020, 52(2): 64-70. XIE B, DONG X Y, LIANG H W. An algorithm of intrusion detection based on three-way dynamic threshold K-means clustering[J]. Journal of Zhengzhou university (natural science edition), 2020, 52(2): 64-70. ( ![]() |
[3] |
秦悦, 丁世飞. 半监督聚类综述[J]. 计算机科学, 2019, 46(9): 15-21. QIN Y, DING S F. Survey of semi-supervised clustering[J]. Computer science, 2019, 46(9): 15-21. ( ![]() |
[4] |
熊建斌, 李振坤, 刘怡俊. 半监督聚类算法研究现状[J]. 现代计算机, 2009(12): 61-64, 77. XIONG J B, LI Z K, LI Y J. Research on the present situation of semi-supervised clustering algorithm[J]. Modern computer, 2009(12): 61-64, 77. ( ![]() |
[5] |
屠恩美, 杨杰. 半监督学习理论及其研究进展概述[J]. 上海交通大学学报, 2018, 52(10): 1280-1291. TU E M, YANG J. a review of semi-supervised learning theories and recent advances[J]. Journal of Shanghai jiaotong university, 2018, 52(10): 1280-1291. ( ![]() |
[6] |
刘建伟, 刘媛, 罗雄麟. 半监督学习方法[J]. 计算机学报, 2015, 38(8): 1592-1617. LIU J W, LIU Y, LUO X L. Semi-supervised learning methods[J]. Chinese journal of computers, 2015, 38(8): 1592-1617. ( ![]() |
[7] |
WAGSTAFF K, CARDIE C. Clustering with instance-level constraints[C]//Proceedings of 17th International Conference on Machine Learning. San Francisco, 2000: 1097-1103.
( ![]() |
[8] |
YANG Y, RUTAYISIRE T, LIN C, et al. An improved cop-kmeans clustering for solving constraint violation based on MapReduce framework[J]. Fundamenta informaticae, 2013, 126(4): 301-318. DOI:10.3233/FI-2013-883 ( ![]() |
[9] |
李晁铭, 徐圣兵, 郝志峰. 基于成对约束的交叉熵半监督聚类算法[J]. 模式识别与人工智能, 2017, 30(7): 598-608. LI C M, XU S B, HAO Z F. Cross-entropy semi-supervised clustering based on pairwise constraints[J]. Pattern recognition and artificial intelligence, 2017, 30(7): 598-608. ( ![]() |
[10] |
刘友超, 张曦煌. 基于密度自适应邻域相似图的半监督谱聚类[J]. 计算机应用研究, 2020, 37(9): 2604-2609. LIU Y C, ZHANG X H. Semi-supervised spectral clustering based on density adaptive neighborhood similarity[J]. Application research of computers, 2020, 37(9): 2604-2609. ( ![]() |
[11] |
BASU S, BANERJEE A, MOONEY R. Semi-supervised cluste-ring by seeding[C]//Proceedings of 19th International Conference on Machine Learning. San Francisco, 2002: 19-26.
( ![]() |
[12] |
NIE F, WANG H, HUANG H, et al. Adaptive loss minimization for semi-supervised elastic embedding[C]//International Joint Conference on Artificial Intelligence. Beijing, 2013: 1565-1571.
( ![]() |
[13] |
QIU S, NIE F P, XU X M, et al. Accelerating flexible manifold embedding for scalable semi-supervised learning[J]. IEEE transactions on circuits and systems for video technology, 2019, 29(9): 2786-2795. DOI:10.1109/TCSVT.2018.2869875 ( ![]() |
[14] |
HONG D F, YOKOYA N, CHANUSSOT J, et al. Learning to propagate labels on graphs: an iterative multitask regression framework for semi-supervised hyperspectral dimensionality reduction[J]. ISPRS journal of photogrammetry and remote sensing, 2019, 158: 35-49. DOI:10.1016/j.isprsjprs.2019.09.008 ( ![]() |
[15] |
刘欢, 徐健, 李寿山. 基于变分自编码器的情感回归半监督领域适应方法[J]. 郑州大学学报(理学版), 2019, 51(2): 47-51. LIU H, XU J, LI S S. A semi-supervised domain adaptation method of sentiment regression on variational autoencoder[J]. Journal of Zhengzhou university (natural science edition), 2019, 51(2): 47-51. ( ![]() |
[16] |
XIE J, LIU S Y, DAI H. Distributed semi-supervised learning algorithm based on extreme learning machine over networks using event-triggered communication scheme[J]. Neural networks, 2019, 119: 261-272. DOI:10.1016/j.neunet.2019.08.013 ( ![]() |
[17] |
KANNO Y, KANEKO H. Improvement of predictive accuracy in semi-supervised regression analysis by selecting unlabeled chemical structures[J]. Chemometrics and intelligent laboratory systems, 2019, 191: 82-87. DOI:10.1016/j.chemolab.2019.06.010 ( ![]() |
[18] |
李为华, 苏辉, 郭华平. 融合多特征和谱聚类集成的图像分割方法[J]. 信阳师范学院学报(自然科学版), 2017, 30(4): 638-641. LI W H, SU H, GUO H P. Image segmentation method based on fusion of multiple features and spectral clustering[J]. Journal of Xinyang normal university (natural science edition), 2017, 30(4): 638-641. ( ![]() |
[19] |
BAI Y G, YUAN J, LIU S Y, et al. Variational community partition with novel network structure centrality prior[J]. Applied mathematical modelling, 2019, 75: 333-348. DOI:10.1016/j.apm.2019.05.025 ( ![]() |
[20] |
WANG J B, SHAO W M, SONG Z H. Semi-supervised variational Bayesian student's t mixture regression and robust inferential sensor application[J]. Control engineering practice, 2019, 92: 104155. DOI:10.1016/j.conengprac.2019.104155 ( ![]() |
[21] |
NIE F, HUANG H, CAI X, et al. Efficient and robust feature selection via joint l2, 1-norms minimization[C]//The 24th Annual Conference on Neural Information Processing Systems. Vancouver, 2010: 1813-1821.
( ![]() |
[22] |
JARVIS R A, PATRICK E A. Clustering using a similarity measure based on shared near neighbors[J]. IEEE transactions on computers, 1973, C-22(11): 1025-1034. DOI:10.1109/T-C.1973.223640 ( ![]() |
[23] |
COVER T, HART P. Nearest neighbor pattern classification[J]. IEEE transactions on information theory, 1967, 13(1): 21-27. DOI:10.1109/TIT.1967.1053964 ( ![]() |
[24] |
NIE F P, WANG X Q, HUANG H. Clustering and projected clustering with adaptive neighbors[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, 2014: 977-986.
( ![]() |
[25] |
NIE F, WANG X, JORDAN M I, et al. The constrained laplacian rank algorithm for graph-based clustering[C]//Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence. Phoenix, 2016: 1969-1976.
( ![]() |
[26] |
REN Y Z, HU X H, SHI K, et al. Semi-supervised DenPeak clustering with pairwise constraints[C]//Pacific Rim International Conference on Artificial Intelligence. Nanjing, 2018: 837-850.
( ![]() |
[27] |
KULIS B, BASU S, DHILLON I, et al. Semi-supervised graph clustering: a kernel approach[J]. Machine learning, 2009, 74(1): 1-22. ( ![]() |