一种基于数据密度峰值的自标记半监督分类方法及装置技术领域
本发明提供一种基于数据密度峰值的自标记半监督分类方法及装置,属于计算机
数据处理技术领域。
背景技术
在当今大数据时代,互联网上每天都会产生大量的信息,且每天都在以惊人的速
度膨胀,诸如新闻评论、BBS、博客、聊天室、聚合新闻(RSS)等应用每时每刻都会产生大量的
数据,这些数据中包含人们对社会各种现象的各种观点和立场,话题涉及政治、经济、军事、
娱乐、生活等各个领域。如何在有限的时间范围内对海量数据进行处理和分析,是当前计算
机数据处理系统所面临的严重挑战,而机器学习正是解决上述问题的有效手段。
数据分类是机器学习的基本任务,是图像视觉分析、文本分析、语音识别、舆情预
警等领域的基础工作。数据分类包含两种形式,即监督分类与半监督分类。监督分类是数据
样本全部具有标签;半监督分类是部分数据样本具有标签,部分数据样本不具有标签。在实
际中,由于对数据进行标签通常需要专家知识,导致带标签数据获取代价太大,因而无标签
数据比带标签数据将多得多。因此,从可应用的信息量角度看出,半监督分类在现实应用中
有更强的需求。
目前,半监督分类模型粗略的可分为四类,分别是生成式模型、基于图的模型、半
监督支持向量机模型和自标记模型。其中,自标记模型不需要具体的假设,其通过迭代的自
我训练和标记方式实现半监督分类,是目前研究的热点。但是,现有的自标记半监督分类方
法还存在不足,主要有两点局限:一是某些方法对数据集形状敏感,不能很好的解决非球形
数据的适应性问题,导致陷入局部最优解;二是某些算法效率较低,在每次迭代过程中需要
重新计算相关参数,导致大数据处理能力不足。
2014年6月,Rodriguez和Laio在《Science》杂志上发表了“一种基于数据密度峰值
的聚类方法”(简称其为DPClus),它通过定义两个参数“局部密度”和“到具有更高局部密度
点的最近邻距离”来挑选出类中心点,然后再将其他所有数据样本按照一个向量NNeigh
(NNeigh[i]=j表示第i个对象要划分到与第j个对象相同的类中)的指示,在O(n)的时间复
杂度上实现了数据聚类。DPClus具有思想简单、效率高、准确性高、对数据形状鲁棒等优点,
因此,将DPClus聚类算法引入自标记半监督分类模型,可解决现有自标记半监督分类模型
非球状数据适应性差和大数据处理能力不足的缺点。
发明内容
为了解决上述背景技术中现有的自标记半监督分类方法非球状数据适应性差和
大数据处理能力不足的问题,本发明基于数据密度峰值的聚类方法,提供一种自标记半监
督分类方法及装置,来对海量大数据实现快速准确的分类处理。
本发明提供一种基于数据密度峰值的自标记半监督分类方法,该方法包括如下步
骤:
第一步:通过计算DPClus聚类方法定义的两个参数“局部密度”和“到具有更高局
部密度点的最近邻距离”,得出目标向量NNeigh,发现数据内部结构特征,进一步利用标记
数据集中带标签数据样本的信息确定类中心点,构造一个类似于图的数据空间结构;
第二步:根据第一步得出的数据空间结构,进入迭代训练过程;首先,利用标记数
据集中的带标签数据样本训练分类器;其次,根据数据空间结构,从未标记数据集中选出被
标记数据集中所有带标签数据样本所指向的下一个无标签数据样本;最后,利用训练好的
分类器,对选出的无标签数据样本进行类别标签判别,并将判别后的数据样本加入到标记
数据集中;重复迭代以上过程,直至标记数据集中带标签数据样本所指向的所有下一个无
标签数据样本都被选出,并被判别类别标签后加入到标记数据集中,才停止迭代;
第三步:根据第一步得出的数据空间结构,再次进入迭代训练过程;首先,利用标
记数据集中的带标签数据样本训练一个分类器;其次,根据数据空间结构,从未标记数据集
中选出被标记数据集中所有带标签数据样本所指向的上一个无标签数据样本;最后,利用
训练好的分类器,对选出的无标签数据样本进行类别标签判别,并将判别后的数据样本加
入到标记数据集中;重复迭代以上过程,直至所有的无标签数据样本都被选出,并被判别类
别标签后加入到标记数据集中,才停止迭代;
第四步:利用最终的标记数据集,训练分类器,完成训练。
所述参数“局部密度”的计算公式如下:
其中,dij代表是第i个数据样本xi和第j个数据样本xj之间的距离,该距离度量可
以是任一种距离度量形式;dc是截断距离。
所述参数“到具有更高局部密度点的最近邻距离”的计算公式如下:
其中,dij代表是第i个数据样本xi和第j个数据样本xj之间的距离;ρi和ρj为局部密
度。
所述类似于图的数据空间结构的构建方法如下:首先根据ρi和δi,计算γi=ρi×
δi,选出前k个值最大的γi,k值等于类别个数;其次根据选出的k个γi,确定k个类中心点,
要求k个类中心点与γi具有相同的序号i值;最后,根据目标向量NNeigh记录的信息,使每
一个数据样本xi都单向唯一的指向下一个数据样本xj,直至指向类中心点,其中xj满足ρj>ρi
且dij最小。
所述分类器可以为K近邻分类学习模型、支持向量机分类学习模型、神经网络分类
学习模型或集成学习模型任一种分类学习模型。
本发明提供一种基于数据密度峰值的自标记半监督分类装置,该装置包括如下模
块:
(1)数据接收预处理模块:接收需进行分类处理的无标签数据和已有的带标签数
据,并将其分为训练集和测试集,将预处理后的数据直接存放于数据存储模块;其中,要求
训练集中包括所有的带标签数据和大量或所有的无标签数据,测试集中包括所有的无标签
数据;
(2)距离度量模块:从数据存储模块中读取训练集中的所有数据,通过距离度量方
式,计算每两个数据点之间的距离,获取距离度量矩阵;
(3)数据空间结构构造模块:利用获取的距离度量矩阵,通过对每个数据点计算
“局部密度ρi”和“到具有更高局部密度点的最近邻距离δi”两个参数,得出目标向量NNeigh,
进一步利用已有带标签数据所携带的信息确定类中心点,构造一个类似于图的数据空间结
构;
(4)分类模型训练模块:根据构造的数据空间结构,按照特定规则迭代地训练分类
模型,直至达到迭代停止条件;
(5)数据分类处理模块:从数据存储模块中读取测试集中的所有数据,利用已经训
练好的分类模型,对数据进行分类预测,并将分类处理后的数据存储于数据存储模块中;
(6)数据存储模块:存储经数据接收预处理模块预处理后的数据和经数据分类处
理模块分类处理后的数据。
所述距离度量模块中,度量距离可以是欧式距离、麦哈顿距离或余弦距离中任一
种距离度量方式。
所述分类模型训练模块中,初始的分类模型可以是K近邻分类学习模型、支持向量
机分类学习模型、神经网络分类学习模型或集成学习模型中任一种分类学习模型。
所述分类模型训练模块中,特定的迭代训练规则是指如权利要求1所述方法中第
二步和第三步所述的训练规则。
本发明提供了一种基于数据密度峰值的自标记半监督分类方法及装置,其有益效
果在于:
(1)本方法构造的类似于图的数据空间结构仅需一次计算,在以后的半监督分类
迭代训练过程中无需重复计算,极大的提高了算法效率,可解决现有自标记半监督分类模
型大数据处理能力不足的问题;
(2)本方法构造的类似于图的数据空间结构不仅适应于球状数据结构,同时也适
应于各种形状的数据结构,可解决现有自标记半监督分类模型非球状数据适应性差的问
题;
(3)基于本方法的装置可以部署于一个现有的服务器中,也可以部署于一个单独
设置的专用于进行数据分类处理的服务器中,以此对海量大数据实现快速准确的分类处理
任务。
附图说明
图1为本发明提供的一种自标记半监督分类方法的流程示意图;
图2为实施例1中的数据分布二维平面图;
图3为实施例1中构造的类似于图的数据空间结构图;
图4为本发明提供的一种自标记半监督分类装置的结构示意图。
具体实施方式
下面将结合附图和优选实施例对本发明进行详细描述。
实施例1
本发明提供一种基于数据密度峰值的自标记半监督分类方法,该方法利用DPClus
聚类方法和标记数据集中带标签数据样本的信息,首先构造一个类似于图的数据空间结
构,进而利用此数据空间结构实现自标记半监督分类模型迭代训练,该方法的流程示意图
如图1所示。
在本实施例中,首先对算法中的各标记符号说明如下:
第一步:对数据集TR中的每一个数据点xi计算三个参数,分别是:局部密度ρi,到具
有更高局部密度点的最近邻距离δi,用于确定xi是否为类中心的γi,计算公式如下:
γi计算公式:γi=ρi×δi
紧接着,根据标记数据集L中的类别个数信息k,选出前k个值拥有最大γi值的数
据点xi,将其确定为类中心;同时,根据ρi与δi的计算结果,得出目标向量NNeigh;最后,根据
目标向量NNeigh记录的信息,使每一个数据点xi都单向唯一的指向其对应的最近邻数据点
xj,直至指向类中心点,以此构造了一个类似于图的数据空间结构;
第二步:根据第一步得出的数据空间结构,进入迭代训练过程;首先,利用标记数
据集L中的数据点训练分类器C;其次,根据数据空间结构,从U中选出被L中所有数据点所指
向的下一个数据点;最后,利用训练好的分类器C,对从U中选出的无标签数据点进行类别标
签判别,并将判别后的数据点加入到L中;重复迭代以上过程,直至U中所有的被L中数据点
所指向的下一个数据点都被选出,并被判别类别标签后加入到L中,才停止迭代;
第三步:根据第一步得出的数据空间结构,进入迭代训练过程;首先,利用标记数
据集L中的数据点训练分类器C;其次,根据数据空间结构,从U中选出被L中所有数据点所指
向的上一个数据点;最后,利用训练好的分类器C,对从U中选出的无标签数据点进行类别标
签判别,并将判别后的数据点加入到L中;重复迭代以上过程,直至U中所有的数据点都被选
出,并被判别类别标签后加入到L中,才停止迭代;
第四步:利用最终L中的数据点,训练分类器C,完成训练。
本实施例中,给定一组二维空间数据集TR,TR中包含30个数据点,分类两类,其生
成方式如下:
其中,N(μ,σ2)代表均值为μ和方差为σ2的正态分布函数,数据分布二维平面如图2
所示;
(1)对TR中的每一个数据点xi计算ρi,δi,与γi,以此可以确定2个类中心点和目标
向量NNeigh。其中2个类中心点为x5和x25,目标向量NNeigh为:
然后,根据目标向量NNeigh和确定的类中心点,使每一个数据点xi都单向唯一的
指向其对应的最近邻数据点xj,直至指向类中心点,可以构造一个类似于图的数据空间结
构,如图3所示;
(2)假设L中的初始标记数据点为x11,x15,x28和x30,首先利用该4个带标签数据点训
练分类器C,然后,对于每次迭代过程,U中被选出来用于判别训练的数据点情况如下:
迭代次数
1
2
3
U中选出的数据点
x8,x12,x16,x17
x9,x10,x25,x18
x14,x5,x26
迭代完成,L中的数据点有x5,x8,x9,x10,x11,x12,x14,x15,x16,x17,x18,x25,x26,x28,
x30;
(3)首先利用L中的15个带标签数据点训练分类器C,然后,对于每次迭代过程,U中
被选出来用于判别训练的数据点情况如下:
迭代次数
1
2
3
U中选出的数据点
x1,x3,x6,x7,x13,x24,x21,x27,x29
x2,x23,x22
x4,x19,x20
迭代完成,L中已包括TR中的全部30个数据点。
(4)利用最终L中的30个数据点,训练分类器C,完成训练。
本实施例还提供一种基于数据密度峰值的自标记半监督分类装置,该装置包括数
据接收预处理模块1、数据存储模块2、距离度量模块3、数据空间结构构造模块4、分类模型
训练模块5和数据分类处理模块6,其结构示意图如图4所示;
数据接收预处理模块1:接收需进行分类处理的无标签数据和已有的带标签数据,
并将其分为训练集和测试集,其中要求训练集中包括所有的带标签数据和大量或所有的无
标签数据,测试集中包括所有的无标签数据,将预处理后的数据直接存放于数据存储模块2
中;
距离度量模块3:从数据存储模块2中读取训练集中的所有数据,通过距离度量方
式(欧式距离、麦哈顿距离、余弦距离等任何一种距离度量方式),计算每两个数据点之间的
距离,获取距离度量矩阵;
数据空间结构构造模块4:利用距离度量模块3获取的距离度量矩阵,通过对每个
数据点计算“局部密度ρi”和“到具有更高局部密度点的最近邻距离δi”两个参数,得出目标
向量NNeigh,进一步利用已有带标签数据所携带的信息确定类中心点,构造一个类似于图
的数据空间结构;
分类模型训练模块5:利用数据空间结构构造模块4构造的数据空间结构,按照本
发明所提供的“一种基于数据密度峰值的自标记半监督分类方法”所述的特定规则,迭代地
训练分类模型,直至达到迭代停止条件;此模块所运用的分类模型可以是包括K近邻分类学
习模型、支持向量机分类学习模型、神经网络分类学习模型和集成学习模型等的任何一种
分类学习模型;
数据分类处理模块6:从数据存储模块2中读取测试集中的所有数据,利用分类模
型训练模块5已经训练好的分类模型,对数据进行分类预测,实现数据分类处理,并将结果
存储于数据存储模块2中;
数据存储模块2:存储经数据接收预处理模块1预处理后的数据和经数据分类处理
模块6分类处理后的数据。
参见图4,由本发明提出的分类装置结构为:首先将数据输入到数据接收预处理模
块1中,经其预处理后存储于数据存储模块2中;然后经距离度量模块3获取距离度量矩阵;
紧接着,经过数据空间结构构造模块4构造一个类似于图的数据空间结构;进一步,经过分
类模型训练模块实现分类模型的训练;最后,数据分类处理模型6从数据存储模块2中读取
需要分类处理的数据,利用分类模型训练模块5训练好的分类模型,对数据进行分类处理,
并将结果存储于数据存储模块2中,以备后续应用。
上述仅为本发明的优选实施例,并不限制本发明;本领域技术人员可以对本发明
进行改动和变型而不脱离本发明的精神和范围。倘若本发明的修改和变型属于本发明权利
要求及其等同技术范围之内,则本发明也包含这些改动和变型。