CN111046914B - 基于动态构图的半监督分类方法 - Google Patents
基于动态构图的半监督分类方法 Download PDFInfo
- Publication number
- CN111046914B CN111046914B CN201911131232.XA CN201911131232A CN111046914B CN 111046914 B CN111046914 B CN 111046914B CN 201911131232 A CN201911131232 A CN 201911131232A CN 111046914 B CN111046914 B CN 111046914B
- Authority
- CN
- China
- Prior art keywords
- matrix
- node
- neighbor
- distance
- data
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
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
本公开涉及一种基于动态构图的半监督分类的方法,包括:S100、准备数据集;S200、在步骤S100准备的数据集上使用动态近邻DNN方法进行选边,得到邻接矩阵A;S300、对步骤S200中生成的邻接矩阵A使用ADW方法计算节点间的相似概率,得到亲和矩阵M;S400、根据步骤S300得到的亲和矩阵M进行标签传播得到最终的分类结果。本公开提出的分类方法能够捕捉数据的分布,在数据稠密区域连接更多的边,在数据稀疏区域连接较少的边,可以更好地反映数据的疏密程度,因此具有更好的分类效果。
Description
技术领域
本公开涉及数据分类方法,具体地讲,涉及一种基于动态构图DCG(DynamicConstruction Graph)的半监督分类方法。
背景技术
现有的数据分类方法包括有监督分类、半监督分类、无监督分类等方法。其中有监督分类方法中需要大量的已标记数据来训练模型,限制了其应用场景;无监督分类不需要数据的类别信息,应用广泛,但由于缺乏类别信息导致分类效果不好。半监督分类方法因只需少量的已标记的数据,获取成本低,又能通过学习大量的未标记数据的数据分布而得到较好的分类效果,因而具有广泛的应用场景。
基于图的半监督分类是半监督分类中一个重要的分支,由于充分利用了数据之间的关系,往往取得较好的效果,得到广泛的关注。然而,目前的基于图的半监督分类方法中,相似度图往往由k-近邻(kNN)或ε-近邻的方法构造,在构造图的过程中,只是使用了数据的属性特征,并没有使用到已标记数据的类别信息,得到的相似度图不能很好地反应实际情况,分类结果也较不准确。
根据不同的数据分布假设,会构建不同的图结构。理想的图应当具备下面的三个特征:选边算法能够反映数据分布,在数据稠密的区域,选择更多的邻居,在稀疏的区域选择较少的邻居;相似度的测度不应该只和距离相关,还应该和局部结构相关;构图算法应当减少人为设定参数对构图效果的影响。由于现有技术中的选边算法和相似度计算方法都具有各自的局限性,使得分类方法的结果不够准确,因此亟需一种新的半监督分类方法,以使数据分类的结果更为准确。
发明内容
针对上述问题,本公开提出了一种基于动态构图的半监督分类方法,采用动态近邻(DNN,Dynamic Nearest Neighbor)方法进行选边,采用自适应度加权(ADW,AdaptiveDegree Weighting)方法进行相似度计算,该方法能够很好地描述数据的局部特征,进而提高了数据分类的准确性。
本公开提出的基于动态构图的半监督分类方法,先使用DNN方法进行选边,对于每个节点动态地选择其D近邻,然后使用ADW方法计算边的权重,即节点间的相似概率,最后使用局部和全局一致性(Learning with Local and Global Consistency,LLGC)算法进行图的分类。
具体地,一种基于动态构图的半监督分类方法,包括:
S100、准备数据集,所述数据集包括已标记数据Xl和未标记数据Xu两部分,已标记数据Xl的标记信息为Fl,数据集中数据的特征通过数据属性信息来描述,l表示已标记数据的个数,将数据集中的数据抽象为m维空间上的n个节点,第i个节点表示为pi;
S200、在步骤S100准备的数据集上使用动态近邻DNN方法进行选边,得到邻接矩阵A,具体为:
S201、计算所述数据集中节点间的欧氏距离,得到直接距离矩阵S;
S202、使用动态近邻DNN方法选择节点pi的D近邻,作为所选择的边,并根据D近邻生成邻接矩阵A,A是一个n×n的矩阵,邻接矩阵A中,若pj是pi的近邻,则矩阵中相应位置Aij的值为1,否则为0,Aij表示邻接矩阵A中第i行第j列的值;
S300、对步骤S200中生成的邻接矩阵A使用ADW方法计算节点间的相似概率,得到亲和矩阵M,具体为:
S301、根据步骤S201中的直接距离矩阵S和步骤S202中定义的邻接矩阵A定义距离矩阵S′,S′ij代表距离矩阵S′中第i行第j列的值,具体定义为:
当i≠j时,
当i=j时,S′ij=0;
S302、根据步骤301中定义的距离矩阵S′定义权值矩阵W,权值矩阵W是一个n×n的矩阵,其中Wij用来描述节点pi和节点pj的相似度,即权值矩阵W第i行第j列的值;
S303、将步骤302中定义的权值矩阵W归一化后得到亲和矩阵M,亲和矩阵M是一个n×n的矩阵,其中Mij用来描述节点pi和节点pj相似的概率,即亲和矩阵M第i行第j列的值;
S400、根据步骤S300得到的亲和矩阵M进行标签传播得到最终的分类结果。
优选的,所述步骤S100中的数据集包括合成数据集TwoSpirals、ToyData、FourGaussian、TwoMoon以及图像数据集USPS、Mnist、Mnist-3495、Coil20、Coil(1500)、G241d、COIL2。
优选的,所述步骤S201中,数据集中节点pi和pj之间的欧氏距离为:
其中m表示数据的维度,pi、pj表示图中的第i、j个节点,xik和xjk分别是节点pi、pj第k维的坐标,根据节点间的欧氏距离生成直接距离矩阵S,直接距离矩阵S是一个n×n的二维矩阵,Sij表示矩阵中第i行第j列的值,存储节点pi和节点pj之间的欧氏距离。
优选的,所述步骤S201还包括:
对直接距离矩阵S中的每个节点与其他节点的欧氏距离按从小到大的顺序进行排序得到矩阵O,同时生成其对应直接距离矩阵S的索引矩阵E,具体过程为,对于直接距离矩阵S中的第i行,将其存储的距离按从小到大的顺序排序,将排序为j-1的距离存储在Oij中,同时将该距离在直接距离矩阵S中的位置存储在Eij中,由此通过索引矩阵E可以查找到矩阵O中存储的距离在直接距离矩阵S中的对应位置;矩阵O和索引矩阵E都是n×n的二维矩阵,Eij表示索引矩阵E的第i行第j列的元素。
优选的,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用代数方法:
N(pi)表示pi的D近邻集合,在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为判断/>是不是pi的D近邻,判断准则为:将最近邻/>加入到D近邻中,将/>作为基准点,当/> 目/>时,/>是pi的近邻,否则/>到/>都不是pi的最近邻,其中/>为pi的最近邻,/>表示距离pi排序为j的样本点,d(·)表示距离度量;再将/>作为基准点,当/>且/>时,/>是pi的近邻,再将/>作为基准点进行判断,以此类推,直到/>不是pi的D近邻时停止判断,此时所得结果即为节点pi的D近邻,将pi与其D近邻的连线作为所选择的边。
优选的,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用几何方法:
节点pi的D近邻查找过程:在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为将最近邻/>加入到D近邻中,/>的中垂线将平面分为两个区域,根据/>的中垂线来选择pi的D近邻所属的区域,即靠近pi这一侧为D近邻所属区域;从所述D近邻所属区域中选择距离pi最近的近邻,即/>根据/>的中垂线来选择pi的新D近邻所属的区域,即靠近pi这一侧为新D近邻所属区域,在这个区域中选择距离pi最近的点/>加入并作为下一个基准点,如此循环直到由所有中垂线构成的靠近pi的区域变成封闭区域,此封闭区域内的所有节点就是pi的D近邻,将pi与其D近邻的连线作为所选择的边。
优选的,所述步骤S302中,权值矩阵W定义为:
Wij=deg(pi)S′ij
其中pi为图上的节点,Wij表示权值矩阵W中第i行第j列的值,deg(pi)为节点的度,S′ij表示节点pi和节点pj的距离,即距离矩阵S′中第i行第j列的值。
优选的,所述步骤S303中定义了亲和矩阵M,具体为:
根据权值矩阵W,使用如下公式计算对角矩阵T:
Tii=∑jWij
其中Tii表示对角矩阵T第i行第i列的值,Wij表示权值矩阵W第i行第j列的值。
使用如下公式归一化后得到亲和矩阵M:
M=T-1/2WT-1/2
其中T是对角矩阵,W是权值矩阵,M是亲和矩阵。
优选的,所述步骤S400中的标签传播通过局部和全局一致性LLGC方法,计算方法如下:
F=(I-αM)-1Y
其中F是一个n×c的矩阵,n为节点个数,c为标签的种类数,Fij表示节点pi标记为第j类标签的概率,即矩阵F第i行第j列的值;I是单位矩阵,α为调节参数,M是亲和矩阵,Y为标记信息,它是一个n×c的矩阵,其中存储每个节点的标记信息,Yij为矩阵Y第i行第j列的值,若节点pi的标记为第j类标签,则Yij=1,否则Yij=0;(I-αM)-1是每个节点获取标记节点标签的概率;
最终得到节点pi的标记信息,具体为:
其中Fij是矩阵F第i行第j列的值,argmax代表将当Fij取得最大值时的j赋值给yi,即节点pi的标记即为yi,对所有节点获得标记后即完成数据的分类。
与现有技术相比,本公开具有下述有益技术效果:
(1)本公开提出的基于动态构图的半监督分类方法能够更好地表达数据的潜在分布特征;
(2)本公开提出的基于动态构图的半监督分类方法采用动态近邻选边的方法,再使用ADW方法计算边的权重,进而进行分类;该分类方法能够捕捉数据的分布,在数据稠密区域连接更多的边,在数据稀疏区域连接较少的边,可以更好地反映数据的疏密程度,因此具有更好的分类效果。
附图说明
图1表示本公开的基于动态构图的半监督分类算法流程图;
图2表示二维平面上DNN选边方法原理示意图;
图3表示二维平面上D近邻查找过程示意图;
图4(a)表示TwoSpirals数据集;
图4(b)表示ToyData数据集;
图4(c)表示FourGaussian数据集;
图4(d)表示TwoMoon数据集;
图5(a)表示TwoSpirals数据集DNN构图结果;
图5(b)表示TwoSpirals数据集DNN预测结果;
图5(c)表示TwoSpirals数据集kNN构图结果;
图5(d)表示TwoSpirals数据集kNN预测结果;
图6(a)表示ToyData数据集DNN构图结果;
图6(b)表示ToyData数据集DNN预测结果;
图6(c)表示ToyData数据集k=5时,kNN构图结果;
图6(d)表示ToyData数据集k=5时,kNN预测结果;
图6(e)表示ToyData数据集k=10时,kNN构图结果;
图6(f)表示ToyData数据集k=10时,kNN预测结果;
图6(g)表示ToyData数据集k=15时,kNN构图结果;
图6(h)表示ToyData数据集k=15时,kNN预测结果。
具体实施方式
本公开提出的基于动态构图的半监督分类方法:
下面结合附图1至图6(h)对本发明进行解释说明,在一个实施例中,如图1所示,提供了一种基于动态构图的半监督分类方法,包括步骤S100-S400:
S100、准备数据集,所述数据集包括已标记数据Xl和未标记数据Xu两部分,已标记数据Xl的标记信息为Fl,数据集中数据的特征通过数据属性信息来描述,l表示已标记数据的个数,将数据集中的数据抽象为m维空间上的n个节点,第i个节点表示为pi;
S200、在步骤S100准备的数据集上使用动态近邻DNN方法进行选边,得到邻接矩阵A,具体为:
S201、计算所述数据集中节点间的欧氏距离,得到直接距离矩阵S;
S202、使用动态近邻DNN方法选择节点pi的D近邻,作为所选择的边,并根据D近邻生成邻接矩阵A,A是一个n×n的矩阵,邻接矩阵A中,若pj是pi的近邻,则矩阵中相应位置Aij的值为1,否则为0,Aij表示邻接矩阵A中第i行第j列的值;
S300、对步骤S200中生成的邻接矩阵A使用ADW方法计算节点间的相似概率,得到亲和矩阵M,具体为:
S301、根据步骤S201中的直接距离矩阵S和步骤S202中定义的邻接矩阵A定义距离矩阵S′,S′ij代表距离矩阵S′中第i行第j列的值,具体定义为:
当i≠j时,
当i=j时,S′ij=0;
S302、根据步骤301中定义的距离矩阵S′定义权值矩阵W,权值矩阵W是一个n×n的矩阵,其中Wij用来描述节点pi和节点pj的相似度,即权值矩阵W第i行第j列的值;
S303、将步骤302中定义的权值矩阵W归一化后得到亲和矩阵M,亲和矩阵M是一个n×n的矩阵,其中Mij用来描述节点pi和节点pj相似的概率,即亲和矩阵M第i行第j列的值;
S400、根据步骤S300得到的亲和矩阵M进行标签传播得到最终的分类结果。
在该实施例中,在准备好的数据集上使用动态近邻DNN方法进行选边,得到邻接矩阵A,并计算得到亲和矩阵M,进一步进行标签传播得到最终的分类结果;该分类方法能够捕捉数据的分布,在数据稠密区域连接更多的边,在数据稀疏区域连接较少的边,可以更好地反映数据的疏密程度,因此具有更好的分类效果。其中,DNN方法具体可以采用代数方法或者几何方法来实现。
在另一个实施例中,本公开提出的分类方法可以应用到多种数据集中进行分类,只要该数据集满足包括数据及其匹配的标签的要求即可。例如合成数据集TwoSpirals、ToyData、FourGaussian、TwoMoon以及图像数据集USPS、Mnist、Mnist-3495、Coil20、Coil(1500)、G241d、COIL2。
合成数据集TwoSpirals、ToyData、FourGaussian、TwoMoon的样本数量、属性个数和类别数如表1中所示:
表1合成数据集
合成数据集 | 样本个数 | 属性维度 | 类别数 |
TwoSpirals | 2000 | 2 | 2 |
ToyData | 788 | 2 | 7 |
FourGaussian | 1200 | 2 | 4 |
TwoMoon | 400 | 2 | 2 |
图像数据集USPS、Mnist、Mnist-3495、Coil20、Coil(1500)、G241d、COIL2的样本数量、属性个数和类别数如表2所示:
表2图像数据集
基准数据集 | 样本个数 | 属性维度 | 类别数 |
USPS | 1800 | 256 | 6 |
Mnist | 6996 | 784 | 10 |
Mnist-3495 | 3495 | 784 | 10 |
Coil20 | 1440 | 1024 | 20 |
Coil(1500) | 1500 | 241 | 6 |
G241d | 1500 | 241 | 2 |
COIL2 | 1500 | 241 | 2 |
以上数据集都是现有的数据集,在ImageNet数据库中可以获取。
在另一个实施例中,所述步骤S201中,数据集中节点pi和pj之间的欧氏距离为:
其中m表示空间的维度,pi、pj表示图中的第i、j个节点,xik和xjk分别是节点pi、pj第k维的坐标,根据节点间的欧氏距离生成直接距离矩阵S,直接距离矩阵S是一个n×n的二维矩阵,Sij表示矩阵中第i行第j列的元素,存储节点pi和节点pj之间的欧氏距离。
在另一个实施例中,所述步骤S201还包括:
对直接距离矩阵S中的每个节点与其他节点的欧氏距离按从小到大的顺序进行排序得到矩阵O,同时生成其对应直接距离矩阵S的索引矩阵E,具体过程为,对于直接距离矩阵S中的第i行,将其存储的距离按从小到大的顺序排序,将排序为j-1的距离存储在Oij中,同时将该距离在直接距离矩阵S中的位置存储在Eij中,由此通过索引矩阵E可以查找到矩阵O中存储的距离在直接距离矩阵S中的对应位置;矩阵O和索引矩阵E都是n×n的二维矩阵,Eij表示索引矩阵E的第i行第j列的元素。
在另一个实施例中,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用代数方法:
N(pi)表示pi的D近邻集合,在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为判断/>是不是pi的D近邻,判断准则为:将最近邻/>加入到D近邻中,将/>作为基准点,当/> 且/>时,/>是pi的近邻,否则到/>部不是pi的最近邻,其中/>为pi的最近邻,/>表示距离pi排序为j的样本点,d(·)表示距离度量;再将/>作为基准点,当/>且/>时,/>是pi的近邻,再将/>作为基准点进行判断,以此类推,直到/>不是pi的D近邻时停止判断,此时所得结果即为节点pi的D近邻,将pi与其D近邻的连线作为所选择的边。
在该实施例中,具体而言,pi的D近邻判断如二维平面上的图2所示:为了保证DNN中图结构的连通性,即不出现孤立节点,每个样本最少建立一个连接,所以先将加入到pi的近邻中,连接pi和/>图上的虚线为/>的中垂线,然后判断/>是不是pi的D近邻,根据前面定义的D近邻判断准则,当/> 即/>位于中垂线靠近pi一侧时,并且以pi为圆心,以/>为半径的圆内都是pi的D近邻时,则/>加入到集合N(pi)中。/>虽然和/>距离pi距离相同,但由于/>则其将可能成为/>的D近邻。样本点pi的D近邻的搜索过程本质上是一个以pi为圆心,到不同近邻的距离为半径的同心圆搜索过程。如果pi所处的局部数据分布越密集,则其搜索的同心圆越多,生成更多的D近邻。
由此可见,该方法能够捕捉数据的分布,在数据稠密区域连接更多的边,在数据稀疏区域连接较少的边,可以更好地反映数据的疏密程度,因此具有更好的分类效果。
使用DNN构建的图是连通的:在图G=(x,ε)中,选择一个连通子顶点集 在顶点集外找一点B∈x且/>B距离顶点集z中距离最近的点记为A,则点B是点A的自适应近邻,即点B与顶点集z是连通的,将点B加入连通子集z中,重复上述操作,图中所有点都能加入连通子集z中,所以图G=(x,ε)中的所有点都是连通的。
使用DNN构建的图不存在弱连通的问题:使用反证法,假设点A是点B的自适应近邻,点B不是点A的自适应近邻。因为点B不是点A的自适应近邻,对于点B来说肯定存在一点C,使得点BCA的路径代价小于BA的路径代价,则有AB的路径代价大于ACB的路径代价,因此点A不是点B的自适应近邻,与假设矛盾。所以不会出现弱连通的情况。
在另一个实施例中,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用几何方法:
节点pi的D近邻查找过程:在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为将最近邻/>加入到D近邻中,/>的中垂线将平面分为两个区域,根据/>的中垂线来选择pi的D近邻所属的区域,即靠近pi这一侧为D近邻所属区域;从所述D近邻所属区域中选择距离pi最近的近邻,即/>根据/>的中垂线来选择pi的新D近邻所属的区域,即靠近pi这一侧为新D近邻所属区域,在这个区域中选择距离pi最近的点/>加入并作为下一个基准点,如此循环直到由所有中垂线构成的靠近pi的区域变成封闭区域,此封闭区域内的所有节点就是pi的D近邻,将pi与其D近邻的连线作为所选择的边。
在该实施例中,封闭区域是指区域内部任何一点与区域外任何一点的连线都和区域的边界相交。
在该实施例中,具体而言,pi的D近邻判断如二维平面上的图3所示:为了保证DNN中图结构的连通性,即不出现孤立节点,每个样本最少建立一个连接,所以先将加入到pi的近邻中,连接pi和/>图上的虚线①为/>的中垂线,该中垂线将平面区域分为两部分,pi的D近邻的所属区域为靠近pi一侧的区域,即虚线①的左侧区域;在虚线①的左侧区域中选择pi的最近邻/>连接pi和/>图上的虚线②为/>的中垂线,虚线①和虚线②将平面区域分为四部分,pi的D近邻的所属区域为靠近pi一侧的区域,即虚线①的左侧区域、虚线②的下侧区域;在该区域中选择pi的最近邻/>连接pi和/>图上的虚线③为/>的中垂线,虚线①、虚线②和虚线③将平面区域分为六部分,pi的D近邻的所属区域为靠近pi一侧的区域,即虚线①的左侧区域、虚线②的下侧区域、虚线③的右侧区域;在该区域中选择pi的最近邻连接pi和/>图上的虚线④为/>的中垂线,虚线①、虚线②、虚线③和虚线④将平面区域分为九部分,pi的D近邻的所属区域为靠近pi一侧的区域,即虚线①的左侧区域、虚线②的下侧区域、虚线③的右侧区域、虚线④的上侧区域所围成的封闭区域,此时该区域中所有节点即为节点pi的D近邻。
由此可见,如果pi所处的局部数据分布越密集,封闭区域中的节点个数越多,则该节点的D近邻越多,该方法能够捕捉数据的分布,在数据稠密区域连接更多的边,在数据稀疏区域连接较少的边,可以更好地反映数据的疏密程度,因此具有更好的分类效果。
在另一个实施例中,所述步骤S302中,权值矩阵W定义为:
Wij=deg(pi)S′ij
其中pi为图上的节点,Wij表示权值矩阵W中第i行第j列的值,deg(pi)为节点的度,S′ij表示节点pi和节点pj的距离,即距离矩阵S′中第i行第j列的值。
在另一个实施例中,所述步骤S303中定义了亲和矩阵M,具体为:
根据权值矩阵W,使用如下公式计算对角矩阵T:
Tii=∑jWij
其中Tii表示对角矩阵T第i行第i列的值,Wij表示权值矩阵W第i行第j列的值。
使用如下公式归一化后得到亲和矩阵M:
M=T-1/2WT-1/2
其中T是对角矩阵,W是权值矩阵,M是亲和矩阵。
在该实施例中,ADW中图形中节点的相似概率由相似度和节点的度两方面来确定的,ADW中通过节点的度来表达数据的分布,通过高斯核函数表达数据之间的相似度,ADW计算简单,算法复杂度低,同时它有以下两个优点:
(1)公式减轻了权重参数化带来的过拟合问题,对噪音数据不敏感。在实验中,观察到ADW对于使用合成数据集的输入数据噪声具有较强的健壮性,并在7个真实数据集中展示了ADW的性能优势。
(2)ADW没有额外的调优参数。
在另一个实施例中,所述步骤S400中的标签传播通过局部和全局一致性LLGC(Learning with Local and Global Consistency)方法实现,计算方法如下:
F=(I-αM)-1Y
其中F是一个n×c的矩阵,n为节点个数,c为标签的种类数,Fij表示节点pi标记为第j类标签的概率,即矩阵F第i行第j列的值;I是单位矩阵,α为调节参数,M是亲和矩阵,Y为标记信息,它是一个n×c的矩阵,其中存储每个节点的标记信息,Yij为矩阵Y第i行第j列的值,若节点pi的标记为第j类标签,则Yij=1,否则Yij=0;(I-αM)-1是每个节点获取标记节点标签的概率;
最终得到节点pi的标记信息,具体为:
其中Fij是矩阵F第i行第j列的值,argmax代表将当Fij取得最大值时的j赋值给yi,即节点pi的标记即为yi,对所有节点获得标记后即完成数据的分类。
以上对本公开提出的基于动态构图的半监督分类方法步骤进行了具体介绍,以下再通过具体实验对比来说明本公开提出的分类方法相比现有的数据分类方法的优越性。
实验:
为了说明本公开提出的基于动态构图的半监督分类方法的优越性,在基于图的半监督学***均值赋给该样本,就可以得到该样本的属性。图构造方法的评价准则之一是:在使用相同的推导方法的前提下,是否可以实现较好的分类性能,实验中采用LLGC分类方法。对于多分类问题,使用错误率(Error Rate)对算法性能进行评估,如下公式所示:
其中,c为样本类别总数,Ni为第i类样本的数量,Fi为第i类样本中被错误分类的样本数量。
合成数据集实验结果
使用表1中4个合成数据集验证DNN+LLGC和kNN+LLGC的分类性能。4个合成数据集包括TwoSpirals,ToyData,FourGaussian和TwoMoon。他们的样本数量,属性个数和类别数如表1中列出,他们都是随机生成的二维数据。在TwoSpirals数据集中,正样本和负样本各1000个,如图4(a)所示,分布呈双螺旋形状。ToyData数据集共788个样本,分属7类,每一个样本都有2个属性,如图4(b)所示。FourGaussian数据集由1200个样本组成,分属4类,每个样本有2个属性,如图4(c)所示。在TwoMoon数据集中,正样本和负样本各200个,如图4(d)所示,分布呈双月形状。
以TwoSpirals数据集和ToyData数据集为例,利用DNN和kNN方法构造的图和类别预测的结果如图5(a)-图5(d)和图6(a)-图6(h)所示,构图结果为使用上述选边方法及边重新加权方法得到的图,预测结果为根据构图结果进行标签传播得到的分类结果。在图5(a)-图5(d)中,深色点和浅色点分别代表两类数据。图5(a)和图5(c)分别为TwoSpirals数据集的DNN图和kNN图。在DNN图中,距离较远的浅色数据点之间仍有边连接,更好地表达了同类样本点之间的相关性。图5(b)与图5(d)为DNN和kNN算法所得到的类别预测结果,可以看出,DNN预测的结果更加准确。在图6(a)-图6(h)中,不同深度颜色的点代表不同的七类数据。图6(a)与图6(b)为使用DNN方法得到的构图结果和类别预测结果,图6(c)、图6(e)与图6(g)为K=5、10、15时使用kNN方法所得的构图结果,图6(d)、图6(f)与图6(h)为K=5、10、15时使用kNN方法所得的类别预测结果。
当进行分类实验时,已标记样本数如表3所示,其它数据都是未标记的。在图构造过程中,使用kNN、DNN方法,k=5、10、15,LLGC被用于标签传播。实验重复20次,计算平均精度。分类结果如表3所示。第一列为合成数据集名称,第二列为已标记样本数,第三列为构图过程中所使用的构图方法,第四列为kNN方法中参数k的不同取值,第五列到第六列分别给出图中节点的最小度数和最大度数,第七列和第八列为分类的平均错误率和错误率的标准差。可以看出,除了TwoSpirals数据集以外,对于其他数据集,在k的不同取值情况下,DNN方法的分类错误率都小于kNN方法的分类错误率。
表3合成数据集的分类性能
图像数据集实验结果
为了比较不同构图方法和推导方法的分类性能,将不同构图方法和推导方法的结合应用在下面7个图像数据集,并在表2中对它们进行了介绍。这些数据集都由灰度图像构成,将灰度值作为每幅图像的特征值。
每个类中随机选择样本点被标记作为已标记样本点,每类已标记样本数量如表4所示,其余样本点未标记。在实验中,使用PCA方法进行数据降维,PCA方法通过保留高维数据的重要特征,去除噪声和不重要特征实现将高维数据的特征映射到低维数据上,本实验中数据的维度被降为50维。对未标记样本进行分类,实验重复10次,其分类结果(平均分类错误率)如表4所示:第一列为图像数据集名称,第二列为已标记样本数,第三列为构图方法,第四列为kNN方法中参数k的不同取值,第五列到第六列分别给出图中节点的最小度数和最大度数,第七列和第八列为分类的平均错误率和错误率的标准差。可以看出,对于每个数据集,在k的不同取值情况下,DNN方法的分类错误率都小于kNN方法的分类错误率。因此,本公开提出的基于动态构图的半监督分类方法可以提高分类精度。
表4图像数据集的分类性能
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (8)
1.一种计算机上执行的基于动态构图的半监督分类方法,所述方法针对基于图的半监督分类中,选边算法和相似度计算方法都具有各自的局限性,使得分类方法的结果不够准确的问题,其特征在于,所述方法包括如下步骤:
S100、准备数据集,所述数据集包括已标记数据Xl和未标记数据Xu两部分,已标记数据Xl的标记信息为Fl,数据集中数据的特征通过数据属性信息来描述,l表示已标记数据的个数,将数据集中的数据抽象为m维空间上的n个节点,第i个节点表示为pi;
S200、在步骤S100准备的数据集上使用动态近邻DNN方法进行选边,得到邻接矩阵A,具体为:
S201、计算所述数据集中节点间的欧氏距离,得到直接距离矩阵S;
S202、使用动态近邻DNN方法选择节点pi的D近邻,作为所选择的边,并根据D近邻生成邻接矩阵A,A是一个n×n的矩阵,邻接矩阵A中,若pj是pi的近邻,则矩阵中相应位置Aij的值为1,否则为0,Aij表示邻接矩阵A中第i行第j列的值;
S300、对步骤S200中生成的邻接矩阵A使用ADW方法计算节点间的相似概率,得到亲和矩阵M,具体为:
S301、根据步骤S201中的直接距离矩阵S和步骤S202中定义的邻接矩阵A定义距离矩阵S′,S′ij代表距离矩阵S′中第i行第j列的值,具体定义为:
当i≠j时,
当i=j时,S′ij=0;
S302、根据步骤301中定义的距离矩阵S′定义权值矩阵W,权值矩阵W是一个n×n的矩阵,其中Wij用来描述节点pi和节点pj的相似度,即权值矩阵W第i行第j列的值;
S303、将步骤302中定义的权值矩阵W归一化后得到亲和矩阵M,亲和矩阵M是一个n×n的矩阵,其中Mij用来描述节点pi和节点pj相似的概率,即亲和矩阵M第i行第j列的值;
S400、根据步骤S300得到的亲和矩阵M进行标签传播得到最终的分类结果;
其中,所述步骤S100中的数据集包括合成数据集TwoSpirals、ToyData、FourGaussian、TwoMoon以及图像数据集USPS、Mnist、Mnist-3495、Coil20、Coil(1500)、G241d、COIL2。
2.根据权利要求1所述的方法,所述步骤S201中,数据集中节点pi和pj之间的欧氏距离为:
其中m表示数据的维度,pi、pj表示图中的第i、j个节点,xik和xjk分别是节点pi、pj第k维的坐标,根据节点间的欧氏距离生成直接距离矩阵S,直接距离矩阵S是一个n×n的二维矩阵,Sij表示矩阵中第i行第j列的值,存储节点pi和节点pj之间的欧氏距离。
3.根据权利要求2所述的方法,所述步骤S201还包括:
对直接距离矩阵S中的每个节点与其他节点的欧氏距离按从小到大的顺序进行排序得到矩阵O,同时生成其对应直接距离矩阵S的索引矩阵E,具体过程为,对于直接距离矩阵S中的第i行,将其存储的距离按从小到大的顺序排序,将排序为j-1的距离存储在Oij中,同时将该距离在直接距离矩阵S中的位置存储在Eij中,由此通过索引矩阵E可以查找到矩阵O中存储的距离在直接距离矩阵S中的对应位置;矩阵O和索引矩阵E都是n×n的二维矩阵,Eij表示索引矩阵E的第i行第j列的元素。
4.根据权利要求3所述的方法,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用代数方法:
N(pi)表示pi的D近邻集合,在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为判断/>是不是pi的D近邻,判断准则为:将最近邻/>加入到D近邻中,将/>作为基准点,当/> 且/>时,/>是pi的近邻,否则/>到/>都不是pi的最近邻,其中/>为pi的最近邻,/>表示距离pi排序为j的样本点,d(·)表示距离度量;再将/>作为基准点,当/>且/>时,/>是pi的近邻,再将/>作为基准点进行判断,以此类推,直到/>不是pi的D近邻时停止判断,此时所得结果即为节点pi的D近邻,将pi与其D近邻的连线作为所选择的边。
5.根据权利要求3所述的方法,所述步骤S202中使用动态近邻DNN方法选择节点pi的D近邻具体采用几何方法:
节点pi的D近邻查找过程:在矩阵O中第i行第j列存储距离节点pi排序为j的距离,通过索引矩阵E可以查找到其在直接距离矩阵S中的位置Sim,即节点pm是到节点pi的距离排序为j的节点,将节点pm记为将最近邻/>加入到D近邻中,/>的中垂线将平面分为两个区域,根据/>的中垂线来选择pi的D近邻所属的区域,即靠近pi这一侧为D近邻所属区域;从所述D近邻所属区域中选择距离pi最近的近邻,即/>根据/>的中垂线来选择pi的新D近邻所属的区域,即靠近pi这一侧为新D近邻所属区域,在这个区域中选择距离pi最近的点/>加入并作为下一个基准点,如此循环直到由所有中垂线构成的靠近pi的区域变成封闭区域,此封闭区域内的所有节点就是pi的D近邻,将pi与其D近邻的连线作为所选择的边。
6.根据权利要求1所述的方法,所述步骤S302中,权值矩阵W定义为:
Wij=deg(pi)S′ij
其中pi为图上的节点,Wij表示权值矩阵W中第i行第j列的值,deg(pi)为节点的度,S′ij表示节点pi和节点pj的距离,即距离矩阵S′中第i行第j列的值。
7.根据权利要求1所述的方法,所述步骤S303中定义了亲和矩阵M,具体为:
根据权值矩阵W,使用如下公式计算对角矩阵T:
Tii=∑jWij
其中Tii表示对角矩阵T第i行第i列的值,Wij表示权值矩阵W第i行第j列的值;
使用如下公式归一化后得到亲和矩阵M:
M=T-1/2WT-1/2
其中T是对角矩阵,W是权值矩阵,M是亲和矩阵。
8.根据权利要求1所述的方法,所述步骤S400中的标签传播通过局部和全局一致性LLGC方法,计算方法如下:
F=(I-αM)-1Y
其中F是一个n×c的矩阵,n为节点个数,c为标签的种类数,Fij表示节点pi标记为第j类标签的概率,即矩阵F第i行第j列的值;I是单位矩阵,α为调节参数,M是亲和矩阵,Y为标记信息,它是一个n×c的矩阵,其中存储每个节点的标记信息,Yij为矩阵Y第i行第j列的值,若节点pi的标记为第j类标签,则Yij=1,否则Yij=0;(I-αM)-1是每个节点获取标记节点标签的概率;
最终得到节点pi的标记信息,具体为:
其中Fij是矩阵F第i行第j列的值,argmax代表将当Fij取得最大值时的j赋值给yi,即节点pi的标记即为yi,对所有节点获得标记后即完成数据的分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131232.XA CN111046914B (zh) | 2019-11-20 | 2019-11-20 | 基于动态构图的半监督分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131232.XA CN111046914B (zh) | 2019-11-20 | 2019-11-20 | 基于动态构图的半监督分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046914A CN111046914A (zh) | 2020-04-21 |
CN111046914B true CN111046914B (zh) | 2023-10-27 |
Family
ID=70232184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911131232.XA Active CN111046914B (zh) | 2019-11-20 | 2019-11-20 | 基于动态构图的半监督分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046914B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019001071A1 (zh) * | 2017-06-28 | 2019-01-03 | 浙江大学 | 一种基于邻接矩阵的图特征提取***、图分类***和方法 |
CN109815986A (zh) * | 2018-12-24 | 2019-05-28 | 陕西师范大学 | 融合局部与全局特征的半监督分类方法 |
CN109829472A (zh) * | 2018-12-24 | 2019-05-31 | 陕西师范大学 | 基于概率近邻的半监督分类方法 |
CN110309871A (zh) * | 2019-06-27 | 2019-10-08 | 西北工业大学深圳研究院 | 一种基于随机重采样的半监督学习图像分类方法 |
-
2019
- 2019-11-20 CN CN201911131232.XA patent/CN111046914B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019001071A1 (zh) * | 2017-06-28 | 2019-01-03 | 浙江大学 | 一种基于邻接矩阵的图特征提取***、图分类***和方法 |
CN109815986A (zh) * | 2018-12-24 | 2019-05-28 | 陕西师范大学 | 融合局部与全局特征的半监督分类方法 |
CN109829472A (zh) * | 2018-12-24 | 2019-05-31 | 陕西师范大学 | 基于概率近邻的半监督分类方法 |
CN110309871A (zh) * | 2019-06-27 | 2019-10-08 | 西北工业大学深圳研究院 | 一种基于随机重采样的半监督学习图像分类方法 |
Non-Patent Citations (2)
Title |
---|
基于C均值聚类和图转导的半监督分类算法;王娜;王小凤;耿国华;宋倩楠;;计算机应用(09);全文 * |
基于半监督深度信念网络的图像分类算法研究;朱常宝;程勇;高强;;计算机科学(S1);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111046914A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191732B (zh) | 一种基于全自动学习的目标检测方法 | |
CN113378632B (zh) | 一种基于伪标签优化的无监督域适应行人重识别方法 | |
CN108647736B (zh) | 一种基于感知损失和匹配注意力机制的图像分类方法 | |
CN108038122B (zh) | 一种商标图像检索的方法 | |
CN111814871A (zh) | 一种基于可靠权重最优传输的图像分类方法 | |
CN113408605A (zh) | 基于小样本学习的高光谱图像半监督分类方法 | |
CN102831474B (zh) | 基于量子粒子群优化改进的模糊c-均值聚类方法 | |
CN108897791B (zh) | 一种基于深度卷积特征和语义相似度量的图像检索方法 | |
CN110942091B (zh) | 寻找可靠的异常数据中心的半监督少样本图像分类方法 | |
CN110188228A (zh) | 基于草图检索三维模型的跨模态检索方法 | |
CN113326731A (zh) | 一种基于动量网络指导的跨域行人重识别算法 | |
CN109635140B (zh) | 一种基于深度学习和密度峰值聚类的图像检索方法 | |
CN113032613B (zh) | 一种基于交互注意力卷积神经网络的三维模型检索方法 | |
CN110147841A (zh) | 基于弱监督及无监督部件检测和分割的细粒度分类方法 | |
CN111275052A (zh) | 基于多层次聚合特征提取与融合的点云分类方法 | |
CN113807456A (zh) | 一种基于互信息的特征筛选和关联规则多标记分类算法 | |
CN113222027A (zh) | 基于加权共享最近邻的自适应聚类中心密度峰值聚类算法 | |
CN115393631A (zh) | 基于贝叶斯层图卷积神经网络的高光谱图像分类方法 | |
CN110188864B (zh) | 基于分布表示和分布度量的小样本学习方法 | |
Zhang et al. | Non-parameter clustering algorithm based on saturated neighborhood graph | |
Suresh et al. | Data clustering using multi-objective differential evolution algorithms | |
CN111046914B (zh) | 基于动态构图的半监督分类方法 | |
CN107704872A (zh) | 一种基于相对最离散维分割的K‑means聚类初始中心选取方法 | |
CN111353525A (zh) | 一种不均衡不完整数据集的建模及缺失值填补方法 | |
CN111126467A (zh) | 一种基于多目标正余弦算法的遥感影像空谱聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |