CN101266621B - 一种高维稀疏数据聚类系统及方法 - Google Patents
一种高维稀疏数据聚类系统及方法 Download PDFInfo
- Publication number
- CN101266621B CN101266621B CN2008101048178A CN200810104817A CN101266621B CN 101266621 B CN101266621 B CN 101266621B CN 2008101048178 A CN2008101048178 A CN 2008101048178A CN 200810104817 A CN200810104817 A CN 200810104817A CN 101266621 B CN101266621 B CN 101266621B
- Authority
- CN
- China
- Prior art keywords
- data object
- ant
- probability
- data
- pick
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种高维稀疏数据聚类系统及方法。该方法包括:提取每个数据对象的稀疏特征,计算两两数据对象之间的差异度;将数据对象和蚂蚁散布在二维平面上,为蚂蚁分配数据对象;二维平面是有边界条件的网格区域;蚂蚁移动到一网格区域时,依据差异度计算蚂蚁对背负数据对象的放下概率,若符合条件,则蚂蚁放下其背负数据对象;蚂蚁没有背负数据对象时,选择未被背负的数据对象,依据差异度计算蚂蚁对该数据对象的拾起概率,若不符合条件,重新挑未被背负选数据对象,否则背负该数据对象并移动到另外一网格计算该数据对象的放下概率。本发明将高维稀疏数据在高维属性空间中的“相似”映射为二维平面中的“相邻”,有效地避免了“维灾”。
Description
技术领域
本发明设计人工智能和数据挖掘,尤其涉及一种基于群体智能的高维稀疏数据聚类系统及方法。
背景技术
高属性维稀疏数据是一类特殊的数据样式。设数据集合U={u1,u2,…,un},对于其中的任一数据ui,具有属性集Ai={a1,a2,…,am}(m通常为大于100的整数)。如果Ai中很大一部分属性的取值为零,则数据集U被称为高属性维稀疏数据。对高属性维数据进行聚类是生活中经常遇到的问题。比如说:一个大型企业销售一、两百件商品,为了分析客户群的购买行为,需要根据订购各种产品的情况对客户进行聚类。此时,客户是聚类的对象,各种产品的订购情况是描述客户特征的属性,由于每个客户往往只订购其中的几件商品。因此,大部分的客户属性取值为0。这种问题就是高属性维数据聚类问题。还有,对学生的能力进行测试,要求学生在备选题库中随机的挑选若干问题进行回答,根据学生的答题情况对学生进行分类等等。诸如这种聚类问题都属于高属性维稀疏数据聚类问题。
高属性维数据聚类问题研究是当今数据挖掘领域面临的10大难题之一(见杨强,吴信东.数据挖掘领域的10大挑战,信息技术与决策国际期刊.2006,Vol.5,No.4 597-604.)。许多聚类方法在属性维数比较低的情况下能够生成质量比较高的聚类结果,但在处理高维数据时却常常会面临“维灾”,难以得到令人满意的结果,有时甚至可能会产生错误的聚类结果。
为求解高属性维稀疏数据聚类问题,CABOSFV聚类方法(武森,高学东等著《高维稀疏聚类知识发现》冶金工业出版社,2003)做了有益的探索。CABOSFV只需要进行一次数据扫描就可以生成聚类结果,且聚类结果不受异常值的影响,是一种高效、快速方法。但方法在实际应用中,其初始参数——集合稀疏差异度阈值b,确定得是否合理,对聚类结果是否有效起决定作用。通常该参数的选取是根据经验或估计的方式来确定,使得该参数本身就具有不确定性,并无法预见最终的聚类结果模式。
本发明源于群体智能。群体智能这个概念来自对飞鸟、蜜蜂和蚂蚁的观察。每只飞鸟、蜜蜂或蚂蚁的智能并不高,看起来也没有集中的指挥控制,但它们却能协同工作,建起坚固、漂亮的巢穴,搜集食物,抚养后代,依靠群体的合作表现出超出个体能力的智能。通过对这些群居昆虫的行为进行研究模拟,一系列用于解决计算机传统问题和实际应用问题的新方法也相继产生。这些方法被称为群体智能。许多专家学者都为群体智能下过定义,如美国科学家WhiteTony对群体智能的定义是:“群体智能是一组非智能且具有有限个体能力的主体通过合作表现出集体的智能行为的特性”。无独有偶,意大利科学家Bonabeau等人认为:“[群体智能是]任何受群居的昆虫群和其它动物群的集体行为所启发的方法设计和分布式问题-解决的方法”。
群体智能最早是1989年由Gerardo Beni、Suzanne Hackwood和Jing Wang在研究细胞机器人系统框架下仿真、自组织主体的特性时所提出的。1999年出版的《群体智能:从自然到人工系统》标志着群体智能正式确立为现代计算机科学的一个研究方向。之后群体智能的研究得到了蓬勃发展。国外的研究现状有:国际会议,如:Marco Dorigo等人从1998年开始组织了两年一次的关于群体智能国际会议。1999年进化计算大会召开了蚁群方法专题会议。还有刊物:《下一代计算系统》在2000年为蚁群方法作了一次专辑。一些有影响的刊物如《科学美国人》(Scientific American)、《自然》(Nature)分别在2000年3月和7月刊登文章介绍蚁群方法和群体智能。IEEE进化计算汇刊也于2002年出版了蚁群方法和群体智能专辑。还有专门的研究机构,如:美国的研究组织SDG(Swarm Development Group),他们开发的SWARM软件包为基于多主体的建模提供了一个基础平台。在加州工学院专门开设了群体智能的课程。由欧洲联盟资助的群体智能相关研究项目SWARM-BOTS于2001年在欧洲多个研究机构启动,它的主要目标是研究设计并实现自组织及自装配(self-assembling)装置,其理论基础就是群体智能和蚁群方法的近期研究成果。
另外,国内对群体智能及其在相关领域的应用正在展开研究。国家自然科学基金“十五”期间学科交叉类优先资助领域中明确列出了群体智能的进化、自适应与现场认知。2001年3月在北京召开了第六届全国人工智能联合会议暨“863”计划智能计算机主题学术会议,戴汝为院士特邀做了《群体智能的研究进展》的学术报告。中国地质大学于2005年4月举行了智能计算国际研讨会,群体智能是其一个重要的研究方向。还有如:电子科技大学庄昌文等人将蚁群方法用于解决VLSI并行开关盒布线问题,中科院自动化研究所周登勇、戴汝为等人围绕群体智能开发了一个基于多主体的仿真工具系统COMPLEXITY。中科院计算所的吴斌博士写了《群体智能的研究及其在知识发现中的应用》的博士论文。
蚁群聚类方法是群体智能范畴内的一系列聚类方法的总称,起源于对蚂蚁群中蚁尸聚集和蚁卵分类行为的观察,从聚类方法的划分体系而言(JiaweiHan,Micheline Kamber.《数据挖掘:概念与技术》范明,孟小峰等译.机械工业出版社,2001.),属于基于模型方法。自然界中很多蚂蚁都有清扫蚁穴的行为。Chretien用Lasius niger蚂蚁做了许多实验以研究蚁穴墓地组织特性。Deneubourg等人也用Pheidole pallidula蚂蚁做了类似实验。实验证明,某些种类的蚁群的确能够组织蚁穴中的墓地,也就是将分散在蚁穴各处的蚂蚁尸体垒堆起来。图1显示了名为“Messor sancta”的蚂蚁对蚁尸的聚集过程(见迪诺伯.J.L,格拉塞.S,弗兰克.N等.合作分类之动力学:类机器的蚂蚁和类蚂蚁的机器人.自适应行为仿真第1届国际会议:从动物到动物机器人,马萨诸塞州:麻省理工出版社/布拉德福德书籍,1991.356~363.)。
实验将1500个蚁尸随机散布在一个半径25厘米的圆形区域,Messorsancta蚂蚁在其中。图1中,(a)显示的是初始时候的蚁尸分布状态,(b)、(c)、(d)显示的是实验进行2小时、6小时和26小时后蚁尸的分布情况,可以看出蚁尸被大致分成了3堆。如果绝大部分的蚁尸在实验开始时随机分布在平面上,工蚁将在几个小时内将蚁尸聚集成簇。如果实验平面不够大,或者包含杂物,则簇将会沿着区域边缘形成,或者更为一般的情况在杂物周围形成簇。蕴涵在这种尸体聚集现象下的基本机制在于:蚁尸对充当媒介的工蚁存在吸引,小的簇通过吸引工蚁把更多的蚁尸放置其上而变得更大。正是这种积极的、自催化的正反馈机制使得越来越大的簇的形成。另一与之相关的现象是在Leptothorax Unifasciatus蚂蚁中发现的蚁卵分类行为(见弗兰克斯.NR,圣多娃-弗兰克斯.AB.蚁卵分类:在整个工作面上分配工作量.行为生态学和社会生物学,1992,30:109~123.)。这种蚂蚁的工蚁根据外形的大小来收集蚁卵,所有的蚁卵都被聚集在一起,小的蚁卵放在中间,大蚁卵放在外围,如图2。
Deneubourg等人提出了两个相关的模型来对上述蚁尸聚集和蚁卵分类行为进行解释并模拟实现了这些行为[R.Bellman.Adaptive Control Processes:A Guided Tour.Princeton University Press,Princeton,New Jersey,1961.(R.贝尔曼.自适应控制过程指南.普林斯顿大学出版社,普林斯顿,新泽西,1961.)]。在这两个模型中,聚类基本模型(The Basic Model,BM)从生物学的角度来看更“精确”(实验对聚类行为的再现更真实),但分类模型得到了更多的应用,实际上,聚类模型可以看成是分类模型的一个特例。从根本上说,这两个模型都基于同一个观点:如果数据对象所在区域内,同种类的其它对象较稀疏;则该对象应该被迁移到具有较多同类对象的其它区域。聚类和分类模型最初被Deneubourg等人用于机器人的控制中(一群类似于蚂蚁的机器人在二维网格中随机移动并可以搬运基本物体,最终将它们聚集在一起)。
1994年Lumer和Faieta将数据对象之间相似度的度量引入到Denurbourg聚类模型中,提出了LF聚类方法(见卢墨尔.E,费埃塔.B.聚类蚂蚁种群的多样性和自适应性.马萨诸塞州:麻省理工出版社,1994.501~508.),并将其应用到数据库的知识发现中。1995年Lumer和Faieta对LF方法进一步扩展并将其应用领域进一步扩展到交互式知识发现中(每个代表点的内容都可以被外探查,每个类的属性都可被改变)。他们将方法应用到包含1650个银行客户简介数据的数据库中。银行客户简介数据属性包括:婚姻状况、性别、居住状况、年龄、客户订制的银行服务列表等。对于这些不同度量标准的属性(数值属性和非数值属性),建立了不同的相似度函数,最终将这些客户按照综合相似度聚成了不同的类别。
蚁群聚类方法采用随机性启发策略,不需要预设聚类中心数目,实现了自组织聚类,具有健壮性,无监督,可视化等优点。而且能够将数据在属性空间中的“相似”映射为二维平面中的“相邻”,是一种很好的降维方法。
发明内容
为了解决上述高属性维稀疏数据聚类问题,本发明提出一种高维稀疏数据聚类方法及系统,将稀疏差异度引入到LF聚类方法中,用稀疏差异度来衡量高维稀疏数据之间的属性空间距离,聚类结果更合理,客观。
本发明提供了一种高维稀疏数据聚类方法,包括如下步骤:
步骤1:提取每个数据对象的稀疏特征,根据每个数据对象的稀疏特征计算两两数据对象之间的差异度;
步骤2:将数据对象和蚂蚁随机散布在二维平面上,并为蚂蚁分配一个数据对象,蚂蚁背负该数据对象;该二维平面是有边界条件的网格区域;
步骤3:当蚂蚁移动到一网格区域时,依据差异度计算当前它所背负的数据对象与当前网格区域内其它数据对象的平均相似度;依据平均相似度计算蚂蚁对背负数据对象的放下概率,如果放下概率符合第一预设条件,则蚂蚁放下其背负数据对象;
步骤4:蚂蚁没有背负数据对象时,随机选择一个未被背负的数据对象,依据差异度计算该数据对象在它自身所在网格区域内与其它数据对象的平均相似度,并依据平均相似度计算蚂蚁对该数据对象的拾起概率,如果该拾起概率符合第二预设条件,则执行步骤2,否则重新挑一个未被背负选数据对象。
步骤3和步骤4中,按照下述公式计算平均相似度:
其中,f(oi)是数据对象oi与出现在它所在邻域Neighs×s(s)内的其它数据对象oj的平均相似度,S表示邻域半径,dij为数据对象oi、oj的差异度,i、j为自然数。
数据对象oi、oj的差异度距离为:
步骤3中,按照下述公式计算放下概率:
其中,pdrop(oi)为数据对象oi的放下概率,k2为阈值常数。
步骤4中,按照下述公式计算拾起概率:
其中,ppick(oi)为数据对象oi的拾起概率,k1为阈值常数。
步骤3中,第一预设条件为放下概率大于随机产生的概率值。
步骤4中,第二预设条件为拾起概率大于随机产生的概率值。
步骤3和步骤4中,计算平均相似度时逐步增大邻域半径S。
步骤1中,还依据差异度构造差异度矩阵,并对差异度矩阵进行压缩存储。
本发明提供了一种高维稀疏数据聚类系统,包括:
数据对象预处理模块,用于提取数据对象的稀疏特征,根据每个数据对象的稀疏特征计算两两数据对象之间的差异度;
数据对象承载模块,用于将数据对象和蚂蚁随机散布在二维平面上,并为蚂蚁分配一个数据对象;该二维平面是有边界条件的网格区域;
平均相似度计算模块,用于依据差异度计算当前蚂蚁所背负或选择的数据对象与当前网格区域内其它数据对象的平均相似度;
放下概率和拾起概率计算模块,用于依据平均相似度计算当前蚂蚁所背负的数据对象的放下概率,或者当前蚂蚁所选择的数据对象的拾起概率;
数据对象处理模块,用于放下概率符合第一预设条件时,放下当前蚂蚁背负数据对象,或者拾起概率符合第二预设条件时,拾起当前蚂蚁所选择的数据对象。
平均相似度计算模块按照下述公式计算平均相似度:
其中,f(oi)是数据对象oi与出现在它所在邻域Neighs×s(s)内的其它数据对象oj的平均相似度,S表示邻域半径,dij为数据对象oi、oj的差异度,i、j为自然数。
放下概率和拾起概率计算模块按照下述公式计算放下概率:
其中,pdrop(oi)为数据对象oi的放下概率,k2为阈值常数;
放下概率和拾起概率计算模块按照下述公式计算拾起概率:
其中,ppick(oi)为数据对象oi的拾起概率,k1为阈值常数。
第一预设条件为放下概率大于随机产生的概率值;第二预设条件为拾起概率大于随机产生的概率值。
数据对象与处理模块,还用于依据差异度构造差异度矩阵,并对差异度矩阵进行压缩存储。
本发明通过平均相似度计算和蚂蚁对数据的拾起与放下动作,将高维稀疏数据在高维属性空间中的“相似”映射为二维平面中的“相邻”,有效地避免了“维灾”;不需要预先输入分类数,初始聚类中心等参数;与数据的输入顺序无关;因为将“稀疏差异度”与蚁群聚类方法相结合,具有自适应、并行、自组织,高效,健壮性好,处理速度快、占用空间小和分辨率高等优点。
附图说明
图1为Messor sancta蚂蚁对蚁尸的聚类过程;
图2为蚁卵分类行为;
图3为本发明方法主流程;
图4为本发明提供的系统结构图。
具体实施方式
本发明的基本技术方案是这样的:
首先进行数据预处理。数据预处理阶段提取原始数据的稀疏特征,根据每个数据的稀疏特征计算所有数据两两之间的稀疏差异度,构造稀疏差异度矩阵,并根据稀疏差异度矩阵的特性将其进行压缩存储。
然后进入聚类阶段。聚类阶段又细分为初始化阶段和循环阶段。初始化阶段,数据对象和蚂蚁被随机地散布在一个虚拟的二维平面上,该二维平面是一个带有周期边界条件的方形网格区域,为每只蚂蚁分配一个数据对象。循环阶段让蚂蚁在二维平面中随机移动,当蚂蚁移动到某一新的网格时,它首先测量当前它所背负的数据对象与以当前网格为中心的局部区域内其它数据对象的平均相似度,通过概率转换函数将平均相似度转换成蚂蚁对背负数据的放下概率,将放下概率与随机概率相比较,大于随机概率则放下数据,平均相似度越大,放下概率越大,蚂蚁背负的数据越容易被放下。如果蚂蚁放下数据,则在平面上随机挑选一个未被其它蚂蚁背负的数据对象,计算该数据对象在它自身所在局部区域内与其它数据对象的平均相似度,通过概率转换函数将平均相似度转换成蚂蚁对该数据对象的拾起概率,将拾起概率与随机概率相比较,大于随机概率则拾起数据对象,否则重新挑选新的数据对象,直到蚂蚁捡起一个新数据为至,平均相似度越小,拾起概率越大,越容易被拾起。当蚂蚁拾起数据对象并移动到新的区域中,开始下一轮循环。蚁群的联合行动导致了属性相似的数据对象在同一个区域能聚集在一起。
聚类阶段的基本步骤如图3所示:
步骤301,将数据对象和蚂蚁随机地散布在一个虚拟的二维网格平面上;
步骤302,为每只蚂蚁分配一个数据;
步骤303,随机选择一只蚂蚁anti;
步骤304,移动蚂蚁anti;
步骤305,计算蚂蚁捡起的数据对象,在当前蚂蚁所在区域内与其它数据对象的相似程度;
步骤306,将相似程度转换成蚂蚁对该数据的放下概率;
步骤307,按放下概率判断能否放下数据,如果是执行步骤308,否则执行步骤303;
步骤308,放下数据;
步骤309,随机选择一个目前还没有被分配的数据对象;
步骤310,计算数据对象在它自己所在区域内,与其它数据对象的相似程度;
步骤311,将相似程度转换成蚂蚁对该数据的拾起概率;
步骤312,按拾起概率判断能否拾起数据,如果是,执行步骤313,否则执行步骤309;
步骤313,拾起数据;
步骤314,判断达到最大循环次数,如果是,结束315,否则执行步骤303。
(1).稀疏特征
设U={u1,u2,…,un}为高维稀疏数据集合,其中任一数据对象ui具有m维属性对应于m个区间变量xi1,xi2,…,xim。通过稀疏特征判断阈值将其转换为二态变量,并表示为yi1,yi2,…,yim。转换方式如下:
式中,aj,j∈{1,2,…,m}为稀疏特征判断阈值。yij,i∈{1,2,…,n},j∈{1,2,…,m}表明了各个对象在各属性上的稀疏情况,称为第i个对象在第j个属性上的稀疏特征。如果yij=1,表明第i个对象在第j个属性上是非稀疏的;如果yij=0,则表明第i个对象在第j个属性上是稀疏的。
(2).稀疏差异度
稀疏差异度用来描述数据集合内部,各个数据之间稀疏情况的差异程度。差异度越大,数据之间的稀疏情况越不相似。稀疏差异度定义如下:
设数据对象i具有m维属性xi1,xi2,…,xim,数据对象j具有m维属性xj1,xj2,…,xjm。在这m维属性中,i和j同时取值为1的属性(即满足xik=xjk=1的属性)个数为a,i和j取值不同的属性(即满足xik≠xjk的属性)个数为e,对象i和j之间的稀疏特征的差异度dij可计算如下:
稀疏特征差异度具有以下性质:
(1)0≤dij≤1;
(2)dij=0(自反性)
(3)dij=dji(对称性)
(3).基于稀疏差异度的平均相似度函数
平均相似度函数如公式:
其中,f(oi)是对象oi与出现在它所在邻域Neighs×s(s)内的其它对象oj的平均相似度。S表示邻域半径。d(oi,oj)为两对象之间的属性值的不相识程度,常用的度量方法有欧式距离、余弦距离等,本发明为处理高维稀疏数据这一特殊数据模式,采用稀疏差异度来度量高维稀疏数据对象之间的不相识程度。
公式1包括两个重要的性质。除以邻域面积s2惩罚了二维空间中的空网格单元,从而产生了一个紧密的聚类(而不是松散的分类)。其次,相似度低的对象被施以很高的惩罚,从而提高了簇间的空间分隔。
从公式1中可以看出,数据对象oi与其它数据对象oj之间将是非常频繁,重复计算多,计算量大的工作,为了简化计算通常我们预先计算数据集中所有数据对象两两之间的差异度构成差异度矩阵D=(dij)n×n,差异度矩阵为相似阵,具有以下特点:
dij=0;dij=dji;i,j=1,2,…,n
(4).拾起概率与放下概率
蚂蚁根据拾起概率与随机概率相比较的结果来决定是否拾起数据。
式中k1为阈值常量,经验取值0.04;f(oi)为平均相似度。
蚂蚁根据放下概率与随机概率相比较的结果来决定是否放下数据。
式中k2为另一个阈值常量,经验取值0.02;f(oi)为平均相似度。
(5).逐步增大的邻域半径
蚂蚁观察到的邻域大小限制了分类阶段可使用的信息,因此采用较大的邻域半径可以提高聚类质量。但较大的邻域大小也同时会导致更大的计算量(因为随着邻域半径的增大,蚂蚁需要考察的邻域内的网格数成指数增大),而且也会降低聚类初始阶段,类的形成速度。采用逐步增大的邻域半径在类的形成初期可以节省计算量,加快类的形成速度。
对于本发明,如图4所示,系统有如下模块:
数据对象预处理模块,用于提取数据的稀疏特征,预先计算所有数据两两之间属性的差异度,并将这些差异度计算值压缩存储。
数据对象承载模块,用于将数据对象和蚂蚁随机散布在二维平面上,并为蚂蚁分配一个数据对象;该二维平面是有边界条件的网格区域;
平均相似度计算模块,用于将预先算好的差异度代入平均相似度计算公式中,计算当前蚂蚁所背负或选择的数据对象与当前网格区域内其它数据对象的平均相似度;
放下概率和拾起概率计算模块,用于依据平均相似度计算当前蚂蚁所背负的数据对象的放下概率,或者当前蚂蚁所选择的数据对象的拾起概率;
数据对象处理模块,用于放下概率符合第一预设条件时,放下当前蚂蚁背负数据对象,或者拾起概率符合第二预设条件时,拾起当前蚂蚁所选择的数据对象。
平均相似度计算模块按照下述公式计算平均相似度:
其中,f(oi)是数据对象oi与出现在它所在邻域Neighs×s(s)内的其它数据对象oi的平均相似度,S表示邻域半径,d(oi,oj)为数据对象oi、oj的差异度,i、j为自然数。
放下概率和拾起概率计算模块按照下述公式计算放下概率:
其中,pdrop(oi)为数据对象oi的放下概率;
放下概率和拾起概率计算模块按照下述公式计算拾起概率:
其中,ppick(oi)为数据对象oi的拾起概率。
第一预设条件为放下概率大于随机产生的概率值;第二预设条件为拾起概率大于随机产生的概率值。
下面就本发明的具体实施例,举例说明;
假设现有343个学生的知识结构数据集合A,A={Oi|i∈{1,2,...,343}}。描述任一数据Oi的750维属性分别代表学生对750个知识点的掌握程度,任一属性j(j∈{111,112,...,860})取值属于集合{4,3,2,1,0},非0数据表示学生对第j个知识点的掌握程度,取值为0表示学生对第j个知识点的掌握程度为“未知”。
数据 知识点ID
序号 学生ID 111 112 113 … 719 720 … 860
0 {16F0CB69-BF45-48CC-9217-0FFC521D9A4F} 4 0 0 … 3 1 … 1
1 {61CE0B69-4574-406B-AE56-03026155B700} 0 2 1 … 0 0 … 0
2 {41739E65-A91C-434E-B484-02ECF3014FB1} 1 3 4 … 0 0 … 2
… … … … … … … … … …
341 {58C1D475-EDF9-4FD6-A11C-046565BEB94A} 0 1 0 … 2 1 … 1
342 {90E10409-E2B1-4A5F-A855-05044888AF6D} 0 0 0 … 3 1 … 0
对于高属性维稀疏聚类问题,无论对象属性的取值是区间变量还是二态变量,非零值都只占其中的一小部分,而相当一部分数据的值都为零。在这种情况下,如果存储所有对象的所有属性值,必然会造成存储空间的浪费,而且会在聚类的过程中增加数据扫描时间。因此,可以采用压缩存储的方法,只存储非零值。经过压缩之后,数据如下表所示,第一列为数据序号,第二列为取值非零的知识点ID。
数
据 非零知识点ID
序
号
0 124,125,127,130,160,161
1 111,112,113,114,115,117,118,136
……
13 115,117
……
222 114,115,117,121,123,124,136,137,141,154,157,174,
…… 178,182,185,187,190,203,218,219,227,228
255 121
……
285 115,130,137,138,141,145
……
299 115,117,123,128,130,137,138,141,145,149,150,157
……
342 115,117,123,128,130,137,138,141,145,149,150,157
计算上表中数据两两之间的稀疏差异度dij
以i=1,j=13为例
将所有数据两两之间的差异度按序排列组成差异度矩阵S,S=(dij)n×n。S为实对称矩阵,且具有如下特点:
Sij=0;Sij=Sji;i=j=1,2,…,n
为节约存储空间,根据实对称阵的性质,只需存储矩阵对角线上或下的一半元素即可(不包括对角线),且因为矩阵对角线元素都是0,也不需存储对角线。示例如下:
1
0.666667 1
1 1 0.875
1 1 1 1
1 1 1 1 0.666667
0.818182 1 1 0.727273 1 1
1 1 1 0.4 1 1 0.8
1 1 1 1 1 1 1 1
1 1 1 1 0.666667 0.857143 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0.857143 1
0.913043 1 1 0.96 1 1 0.888889 0.956522 1 1 1 1 1
1 1 1 1 0.888889 0.923077 1 1 1 0.75 1 1 1 0.964286
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 0.96875 1 1
1 1 1 1 0.8 0.4 1 1 1 0.909091 1 1 1 0.966667 0.875 1 1
1 1 1 1 0.333333 0.5 1 1 1 0.75 1 1 1 1 0.9 1 1 0.7
1 1 0.888889 0.166667 1 1 0.75 0.5 1 1 1 1 1 0.961538 1 1 1 1 1
1 1 1 1 0.5 0.333333 1 1 1 0.8 1 1 1 1 0.909091 1 1 0.6 0.25 1
1 1 1 1 0.888889 0.6 1 1 1 0.888889 1 1 1 1 0.857143 1 1 0.714286 0.9 1 0.8
1 1 1 1 0.5 0.833333 1 1 1 0.5 1 1 1 1 0.875 1 1 0.9 0.666667 1 0.75 0.875
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.923077 1 1 1 1 1 1
0.8 1 0.8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.916667 1 1 1 1 1 1 0.5 1
0.666667 1 1 0.714286 1 1 0.555556 0.6 1 1 1 1 1 0.863636 1 1 1 1 1 0.75 1 1 1 1 1 1
1 1 1 1 0 0.666667 1 1 1 0.666667 1 1 1 1 0.888889 1 1 0.8 0.333333 1 0.5 0.888889 0.5 1 1 1 1
……
……
现对前例中343个数据进行聚类,即根据学生对知识点掌握情况的相似性对这343个数据进行聚类。每个学生的知识结构数据即为对750维知识点的掌握程度的集合,其中只有一部分维度的取值为1,大部分为0,因此是一类典型的高属性维稀疏数据聚类问题。
初始时,将数据对象和蚂蚁随机地散布在一个虚拟的二维平面上,该二维平面是一个带有周期边界条件的方形网格区域,为每只蚂蚁分配一个数据对象。
聚类循环阶段让蚂蚁在二维平面中随机移动,当蚂蚁移动到某一新的网格时,它首先测量当前它所背负的数据对象与以当前网格为中心的局部区域内其它数据对象的平均相似度,通过概率转换函数将平均相似度转换成蚂蚁对背负数据的放下概率,将放下概率与随机概率相比较,大于随机概率则放下数据,平均相似度越大,放下概率越大,蚂蚁背负的数据越容易被放下。
设当前蚂蚁所背负的数据对象序号为299,即i=299;以当前蚂蚁所在的网格为中心,半径r=1的局部区域内,共有2个与数据对象i不同的其它数据j,j∈{285,333}。查询差异度矩阵S可知,这2个数据对象与数据对象i之间的差异度距离分别为0.5,0.83。代入改进的平均相似度公式:
其中,SNeigh为邻域面积。为了增强方法的收敛性,本方法中采用了随迭代次数递增的蚂蚁半径r,同时邻域面积保持不变,SNeigh=(2r+1)×(2r+1)-1=8。求得f(oi)=0.083。
将f(oi)代入放下概率计算公式 此处k2为阈值常量,取值0.02。求得pd=0.65。
将pd与一个随机产生的概率值相比较,pd大于随机概率0.36。因此将蚂蚁背负的数据i(i=299)放在当前局部区域。
如果蚂蚁放下数据,则在平面上随机挑选一个未被其它蚂蚁背负的数据对象,计算该数据对象在它自身所在局部区域内与其它数据对象的平均相似度,通过概率转换函数将平均相似度转换成蚂蚁对该数据对象的拾起概率,将拾起概率与随机概率相比较,大于随机概率则拾起数据对象,否则重新挑选新的数据对象,直到蚂蚁捡起一个新数据为至,平均相似度越小,拾起概率越大,越容易被拾起。
举例说明:
设当前蚂蚁空载,在平面上随机挑选到的数据序号为255,即i=255。在该数据所在半径r=1的局部区域内,有1个不同与i的数据j,j=222。查询差异度矩阵S可知,该数据对象与数据对象i之间的差异度距离分别为0.95。代入改进的平均相似度公式:
公式中参数设置同上,求得f(oi)=0.005。
将f(oi)代入拾起概率的计算公式 此处k1为阈值常量,取值0.04。求得pp=0.77。
将pp与一个随机产生的概率值相比较,pp大于随机概率0.51.因此蚂蚁将该数据i(i=255)拾起。
当蚂蚁拾起数据对象并移动到新的区域中,开始下一轮循环。蚁群的联合行动导致了属性相似的数据对象在同一个区域能聚集在一起。
当循环达到指定的最大循环次数,方法终止运行。最后采用层次聚类方法在二维平面上对数据的空间二维坐标进行聚类。
本发明将上述稀疏差异度矩阵引入到群体智能聚类方法中,用稀疏差异度来衡量高维稀疏数据之间的属性空间距离,将属性相似的高维稀疏数据在虚拟平面上摆放在一起,即将高维稀疏数据在高维属性空间中的“相似”映射为二维平面中的“相邻”,对数据进行了有效的降维。聚类结果更合理,客观;通过平均相似度计算和蚂蚁对数据的拾起与放下动作,将高维稀疏数据在高维属性空间中的“相似”映射为二维平面中的“相邻”,有效地避免了“维灾”;不需要预先输入分类数,初始聚类中心等参数;与数据的输入顺序无关;具有自适应,自组织,高效,健壮性好等优点。
Claims (12)
1.一种高维稀疏数据聚类方法,其特征在于,包括如下步骤:
步骤1:提取每个数据对象的稀疏特征,根据每个数据对象的稀疏特征计算两两数据对象之间的差异度;
步骤2:将数据对象和蚂蚁随机散布在二维平面上,并为蚂蚁分配一个数据对象,蚂蚁背负该数据对象;该二维平面是有边界条件的网格区域;
步骤3:当蚂蚁移动到一网格区域时,依据差异度计算当前它所背负的数据对象与当前网格区域内其它数据对象的平均相似度;依据平均相似度计算蚂蚁对背负数据对象的放下概率,如果放下概率符合第一预设条件,则蚂蚁放下其背负数据对象;
步骤4:蚂蚁没有背负数据对象时,随机选择一个未被背负的数据对象,依据差异度计算该数据对象在它自身所在网格区域内与其它数据对象的平均相似度,并依据平均相似度计算蚂蚁对该数据对象的拾起概率,如果该拾起概率符合第二预设条件,则执行步骤2,否则重新挑一个未被背负选数据对象;
其中,步骤3和步骤4中,按照下述公式计算平均相似度:
其中,f(oi)是数据对象oi与出现在它所在邻域Neighs×s(s)内的其它数据对象oj的平均相似度,S表示邻域半径,SNeigh为邻域面积,dij为数据对象oi、oj的差异度,i、j为自然数。
3.如权利要求1或2所述的高维稀疏数据聚类方法,其特征在于,步骤3中,按照下述公式计算放下概率:
其中,pdrop(oi)为数据对象oi的放下概率,k2为阈值常数。
4.如权利要求1或2所述的高维稀疏数据聚类方法,其特征在于,步骤4中,按照下述公式计算拾起概率:
其中,ppick(oi)为数据对象oi的拾起概率,k1为阈值常数。
5.如权利要求3所述的高维稀疏数据聚类方法,其特征在于,步骤3中,第一预设条件为放下概率大于随机产生的概率值。
6.如权利要求3所述的高维稀疏数据聚类方法,其特征在于,步骤4中,第二预设条件为拾起概率大于随机产生的概率值。
7.如权利要求1或2所述的高维稀疏数据聚类方法,其特征在于,步骤3和步骤4中,计算平均相似度时逐步增大邻域半径S。
8.如权利要求1或2所述的高维稀疏数据聚类方法,其特征在于,步骤1中,还依据差异度构造差异度矩阵,并对差异度矩阵进行压缩存储。
9.一种高维稀疏数据聚类系统,其特征在于,包括:
数据对象预处理模块,用于提取数据对象的稀疏特征,根据每个数据对象的稀疏特征计算两两数据对象之间的差异度;
数据对象承载模块,用于将数据对象和蚂蚁随机散布在二维平面上,并为蚂蚁分配一个数据对象;该二维平面是有边界条件的网格区域;
平均相似度计算模块,用于依据差异度计算当前蚂蚁所背负或选择的数据对象与当前网格区域内其它数据对象的平均相似度;
放下概率和拾起概率计算模块,用于依据平均相似度计算当前蚂蚁所背负的数据对象的放下概率,或者当前蚂蚁所选择的数据对象的拾起概率;
数据对象处理模块,用于放下概率符合第一预设条件时,放下当前蚂蚁背负数据对象,或者拾起概率符合第二预设条件时,拾起当前蚂蚁所选择的数据对象;
其中,平均相似度计算模块按照下述公式计算平均相似度:
其中,f(oi)是数据对象oi与出现在它所在邻域Neighs×s(s)内的其它数据对象oj的平均相似度,S表示邻域半径,SNeigh为邻域面积,dij为数据对象oi、oj的差异度,i、j为自然数。
11.如权利要求10所述的高维稀疏数据聚类系统,其特征在于,第一预设条件为放下概率大于随机产生的概率值;第二预设条件为拾起概率大于随机产生的概率值。
12.如权利要求9所述的高维稀疏数据聚类系统,其特征在于,数据对象预处理模块,还用于依据差异度构造差异度矩阵,并对差异度矩阵进行压缩存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101048178A CN101266621B (zh) | 2008-04-24 | 2008-04-24 | 一种高维稀疏数据聚类系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101048178A CN101266621B (zh) | 2008-04-24 | 2008-04-24 | 一种高维稀疏数据聚类系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101266621A CN101266621A (zh) | 2008-09-17 |
CN101266621B true CN101266621B (zh) | 2011-08-10 |
Family
ID=39989036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101048178A Expired - Fee Related CN101266621B (zh) | 2008-04-24 | 2008-04-24 | 一种高维稀疏数据聚类系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101266621B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944358B (zh) * | 2010-08-27 | 2014-04-09 | 太原理工大学 | 基于蚁群聚类算法的码书分类方法及其码书分类装置 |
CN101986295B (zh) * | 2010-10-28 | 2013-01-02 | 浙江大学 | 基于流形稀疏编码的图像聚类的方法 |
CN102184215B (zh) * | 2011-05-04 | 2012-05-02 | 武汉大学 | 一种基于数据场的自动聚类方法 |
CN108678728A (zh) * | 2018-05-15 | 2018-10-19 | 北京理工大学 | 一种基于k-means的油井参数分析组合算法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127078A (zh) * | 2007-09-13 | 2008-02-20 | 北京航空航天大学 | 一种基于蚁群智能的无人机机器视觉图像匹配方法 |
-
2008
- 2008-04-24 CN CN2008101048178A patent/CN101266621B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127078A (zh) * | 2007-09-13 | 2008-02-20 | 北京航空航天大学 | 一种基于蚁群智能的无人机机器视觉图像匹配方法 |
Non-Patent Citations (2)
Title |
---|
尹松等.基于稀疏差异度的聚类方法在信息分类中的应用.《计算机技术与发展》.2006,第16卷(第1期),第117-119页. * |
陈云飞等.一种基于密度的启发性群体智能聚类算法.《北京理工大学学报》.2005,第25卷(第1期),第45-48页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101266621A (zh) | 2008-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Unsupervised clustering-based short-term solar forecasting | |
Rehioui et al. | DENCLUE-IM: A new approach for big data clustering | |
Cui et al. | A flocking based algorithm for document clustering analysis | |
Ewees et al. | Enhanced salp swarm algorithm based on firefly algorithm for unrelated parallel machine scheduling with setup times | |
Kuo et al. | Application of a hybrid of genetic algorithm and particle swarm optimization algorithm for order clustering | |
Feng et al. | One-dimensional VGGNet for high-dimensional data | |
Kaveh et al. | Lion pride optimization algorithm: A meta-heuristic method for global optimization problems | |
CN101266621B (zh) | 一种高维稀疏数据聚类系统及方法 | |
Sampaio et al. | Contributions to the future of metaheuristics in the contours of scientific development | |
de Oliveira et al. | Particle Swarm Clustering in clustering ensembles: Exploiting pruning and alignment free consensus | |
Fan et al. | An optimized machine learning technology scheme and its application in fault detection in wireless sensor networks | |
Wang et al. | Role-oriented binary grey wolf optimizer using foraging-following and Lévy flight for feature selection | |
González-Vidal et al. | A transfer learning framework for predictive energy-related scenarios in smart buildings | |
Dehuri et al. | Multi-criterion Pareto based particle swarm optimized polynomial neural network for classification: A review and state-of-the-art | |
Adhikari et al. | Study of select items in different data sources by grouping | |
Amin et al. | Trend cluster analysis using self organizing maps | |
Qinglan et al. | Multi-level association rule mining based on clustering partition | |
Gowtham et al. | Analysis and prediction of lettuce crop yield in aeroponic vertical farming using logistic regression method | |
Chou et al. | Forecasting Regional Energy Consumption via Jellyfish Search‐Optimized Convolutional‐Based Deep Learning | |
Arkeman et al. | Clustering k-means optimization with multi-objective genetic algorithm | |
Chen et al. | Research and application of cluster analysis algorithm | |
Jinyang | Application of data mining in logistics industry in the era of big data | |
Anusha et al. | Business intelligence: an artificial bee colony optimization approach | |
Leshenok | Clustering of ukrainian regions based on value orientations and political choice of the populations: methodological rationale and analysis using combining data sources | |
Agrawal et al. | Particle swarm optimization for natural grouping in context of group technology application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110810 Termination date: 20200424 |
|
CF01 | Termination of patent right due to non-payment of annual fee |