滑动窗口内基于密度网格的数据流聚类算法.docx
- 文档编号:8564973
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:6
- 大小:18.90KB
滑动窗口内基于密度网格的数据流聚类算法.docx
《滑动窗口内基于密度网格的数据流聚类算法.docx》由会员分享,可在线阅读,更多相关《滑动窗口内基于密度网格的数据流聚类算法.docx(6页珍藏版)》请在冰豆网上搜索。
滑动窗口内基于密度网格的数据流聚类算法
滑动窗口内基于密度网格的数据流聚类算法
摘要:
提出了一种基于密度网格的数据流聚类算法。
通过引入“隶度”,对传统的基于网格密度的数据流聚类算法,以网格内数据点的个数作为网格密度的思想加以改进,解决了一个网格内属于两个类的数据点以及边界点的处理问题。
从而既利用了基于网格算法的高效率,还较大程度地提高了聚类精度。
关键词:
聚类;数据流;网格;滑动窗口;隶度
中图分类号:
TP311
文献标志码:
A
Densitygrid-baseddatastreamclusteringalgorithmoverslidingwindow
LIZi-wen,XINGChang-zheng
(
SchoolofElectronicsandInformationEngineering,LiaoningTechnicalUniversity,HuludaoLiaoning125105,China
)
Abstract:
Thispaperintroducedadensitygrid-baseddatastreamclusteringalgorithm.Throughtheintroductionofthe"subjectdegree"inthispaper,improvedthetraditionaldensitygrid-basedclusteringalgorithmfordatastreamsofdatapointswithinthegridasthegriddensity,therebyresolvingtheproblemofdatapointsbelongingtotwoclassesinonegridaswellasthetreatmentofboundarypoints.Thusboththeuseofgrid-basedalgorithmforhighefficiencyisalsoalargedegreeimprovedinclusteringaccuracy.
Thispaperintroducedadensitygrid-baseddatastreamclusteringalgorithm.Throughtheintroductionofthe?
?
"subject?
?
degree",thetraditionaldensitygrid-basedclusteringalgorithmfordatastreamwasimprovedbytakingthedatapointswithinthegridasthegriddensity,therebyresolvingtheproblemofdatapointsbelongingtotwoclassesinonegridaswellasthetreatmentofboundarypoints.Therefore,notonlythehighefficiencyofthegrid-basedalgorithmwasutilized,butalsotheclusteringaccuracywasraisedsignificantly.
Keywords:
clustering;datastream;grid;slidingwindow;subjectdegree
0引言
随着计算机技术、通信技术以及网络技术的飞速发展,许多领域中出现了连续到达、持续增长、动态演化的数据――数据流,常见的应用有网络监控日志、电话通信记录、银行交易信息等。
从数据流中获取知识的数据挖掘研究得到了广泛的关注,数据流聚类作为知识发现的重要手段也得到了深入的研究[1]。
文献[2]提出了单层数据流聚类算法STREAM[2],并利用SSQ证明了在多种情况下,STREAM算法的聚类效果比BRICH算法要好。
但此类算法的缺点是只能提供对当前数据流的一种描述,而不能反映数据流的变化情况。
文献[3]中提出了解决数据流聚类的一个双层算法框架及其聚类算法CluStream,这种双层框架可以较好地解决数据流聚类问题中实时要求与聚类质量间的矛盾。
CluStream算法离线层使用的是改进的k-means算法,对于非球状的簇不能很好地描述。
文献[4]中提出了一种基于密度和网格的数据流聚类算法D-Stream,解决了对任意形状的数据流聚类问题,但是D-Stream算法是基于密度网格的,由其局限性难免会产出以下问题(如图1所示)。
边界点问题对于a1、c1以及b3中的点,如果处理不当,很可能被当作噪声点而影响聚类精度。
类属问题对于b2中属于类1的点,因为其所在网格包含有大量类2的点,很可能被划归为类2从而影响聚类精度。
为解决上述问题,本文提出了SD-Stream算法,引入“隶度”概念,通过计算数据点的“隶度”确定其应归属的网格。
有效地解决了基于绝对密度聚类算法所存在的边界点和类属问题。
图片
图1
网格密度
1SD-Stream算法基本概念
1.1隶度
“隶度”就是数据点对周围空间网格的隶属程度。
本文通过引入“隶度”的概念,改进了传统基于网格密度算法以网格内数据点的数目作为网格密度的缺点,减少了数据点对周围空间网格信息的丢失,提高了聚类精度。
通过图2可以直观地说明“隶度”的具体优越性。
为方便起见,以网格单元大小作为计算数据点隶属范围的尺度,即以数据点为中心,网格单元大小尺度的扩展网格。
图2可见,由点p生成的扩展网格在a2中覆盖的数据点个数为0,在a3中覆盖的数据点个数为7,在b2中覆盖的数据点个数为1,在b3中覆盖的点的个数为3(包括其自身),规定数据点隶属于扩展网格与其他网格单元所覆盖数据点最多的网
格单元,即a3,由图2可见,点p也应该划归在a3所在的类1中。
图片
图2
“隶度”计算
1.2基本概念
数据流是一系列数据记录?
?
X?
?
1,…,X?
?
k,…,它们到达的时间分别为T?
?
1,…,T?
?
k,…,数据流中的每一个记录X?
?
i是d维,?
?
X?
?
i=?
?
(x?
?
1?
?
i,…,x?
?
d?
?
i)。
d维数据空间S=S?
?
1×S?
?
2×,…×S?
?
d,其中S?
?
i为第i维空间。
将d维数据空间S划分为(密度)网格,其中每一维S?
?
i被分成p?
?
i个部分,S?
?
i=S?
?
?
?
i,1?
?
∪S?
?
?
?
i,2?
?
∪…∪S?
?
?
?
i,p?
?
i?
?
数据空间S被划分为N=∏di=1p?
?
i个(密度)网格。
对每一个网格g=S?
?
?
?
1,j?
?
1?
?
×S?
?
?
?
2,j?
?
2?
?
×…×S?
?
?
?
d,j?
?
d?
?
其中j?
?
i=1,…,p?
?
i。
每一个数据x=(x?
?
1,x?
?
2,…,x?
?
d)映射到网格g(x),g(x)=(j?
?
1,j?
?
2,…,j?
?
d),其中x?
?
i∈S?
?
?
?
i,j?
?
i?
?
。
对每一个数据x,赋予它一个随着时间递减的密度系数,即当x在时间t?
?
c到达,则定义它的时间戳为T(x)=t?
?
c,密度系数D(x,t)=λ?
?
?
?
t-T(x)?
?
=λ?
?
?
?
t-t?
?
c?
?
这里λ∈(0,1),是一个常数,称为蜕化系数。
定义1网格密度。
对一个网格g在确定的时间t所包含的数据元素有x?
?
1,x?
?
2,…,x?
?
n,它们到达网格g的时间分别为t?
?
1,t?
?
2,…,t?
?
n,则网格g在时刻t的密度D(g,t)=∑ni=1D(x?
?
i,t?
?
i)=∑ni=1λ?
?
?
?
t-t?
?
i?
?
网格密度是随时间变化的,但是没有必要随时间更新其密度,只在当有新的数据到达该网格的时候更新其密度。
?
┑?
4期?
?
?
├钭游牡?
:
滑动窗口内基于密度网格的数据流聚类算法
?
?
?
?
?
┆?
?
┘扑慊?
应用?
?
?
┑?
30卷
引理1假设网格g在时间t?
?
n接收了新数据,且其最近接收数据的时间为t?
?
l(t?
?
n>t?
?
l),这样网格密度可以按如下公式进行更新:
D(g,t?
?
n)=λ?
?
?
?
?
?
t?
?
n-t?
?
l?
?
D(g,t?
?
l)+1
证明设网格g在时间t?
?
l的数据集合为X=(x?
?
1,x?
?
2,…,x?
?
m),则有:
D(g,t?
?
l)=∑mi=1D(x?
?
i,t?
?
l)
从而:
D(x?
?
i,t?
?
n)=λ?
?
?
?
t?
?
n-T(x?
?
i)?
?
=λ?
?
?
?
t?
?
n-t?
?
l?
?
λ?
?
?
?
t?
?
l-T(x?
?
i)?
?
=λ?
?
?
?
?
?
t?
?
n-t?
?
l?
?
D(x?
?
i,t?
?
l);
i=1,…,m
所以:
D(g,t?
?
n)=∑mi=1D(x?
?
i,t?
?
n)+1=∑mi=1λ?
?
?
?
?
?
t?
?
n-t?
?
l?
?
D(x?
?
i,t?
?
l)+1=
λ?
?
?
?
?
?
t?
?
n-t?
?
l?
?
∑mi=1D(x?
?
i,t?
?
l)+1=λ?
?
?
?
?
?
t?
?
n-t?
?
l?
?
D(g,t?
?
l)+1
证毕。
引理2设X(t)为从开始时刻到时刻t的数据流数据集合,则有:
1)∑x∈X(t)D(x,t)≤11-λ;
2)?
┆?
lim?
?
?
?
t→∞∑x∈X(t)D(x,t)=11-λ。
证明设X(t)中从开始时刻到时刻t的数据流数据元素为:
x?
?
1,x?
?
2,…,x?
?
l,其中x?
?
i在i时刻到达,则数据元素的密度分别为:
λ?
?
t,…,λ,1。
它们的和:
∑x∈X(t)D(x,t)=∑ti=0λ?
?
?
?
t-i?
?
=1-λ?
?
?
?
t+1?
?
1-λ≤11-λ
所以:
?
┆?
lim?
?
?
?
t→∞∑x∈X(t)D(x,t)=?
┆?
lim?
?
?
?
t→∞1-λ?
?
?
?
t+1?
?
1-λ=11-λ
证毕。
定义2网格特征向量。
一个网格g的特征向量是一个5元组T=(t?
?
g,t?
?
m,D,label,status)。
其中:
t?
?
g是g最近更新的时间;t?
?
m是网格g作为孤立网格被从g_list中清除的最近时间;D是网格g最近更新的密度,label是网格的类标签,status=(孤立,正常)作为清除孤立网格的标签。
定义3稠密网格、稀疏网格、过渡网格。
设X(t)为从时间0~t的所有数据集,由引理2可知系统中所有数据元素的密度之和不会超过11-λ,设系统中有N=?
?
∏?
?
di=1p?
?
i个网格,则网格的平均密度不会超过1N(1-λ),则有如下定义。
稠密网格D(g,t)≥C?
?
mN(1-λ)=D?
?
m;C?
?
m>1;
稀疏网格D(g,t)≤C?
?
lN(1-λ)=D?
?
l;0
3.2算法精度验证
使用真实数据集KDD-CUP-99对D-Stream算法和SD-Stream算法的聚类精度进行了比较。
实验结果见图4和图5。
由图4可以看出,SD-Stream的平均聚类精度达到了98%以上。
图5可以发现SD-Stream比D-Stream的聚类精度要高,这是由于SD-Stream算法通过计算数据点的“隶度”,将其更合理地分配到了隶属程度更高的网格单元中,降低了因为分配不当而引起的误差。
图片
图4
SD-Stream算法聚类精度
图片
图5
SD-Stream算法和D-Stream算法聚类精度对比
4结语
本文研究了基于网格密度的数据流聚类问题,提出了SD-Stream算法。
算法通过引入“隶度”的概念,克服了传统基于网格密度算法精度不高的问题。
实验证明该算法能够快速准确地识别出聚类,具有一定的可行性。
参考文献:
[1]李敏.基于网格和密度的数据流聚类算法研究[D].武汉:
武汉理工大学,2009.
[2]O’CALLAGHANL,MISHRAN,MEYERSONA,etal.Streaming-dataalgorithmsforhighqualityclustering[C]//ProceedingsofIEEEInternationalConferenceonDataEngineering.Washington,DC:
IEEEComputerSociety,2002:
685.
[3]AGARWALC,HANJ,WANGJ,etal.Aframeworkforclusteringevolvingdatastreams[C].VLDB2003:
Proceedingsofthe29thInternationalConferenceonVeryLargeDataBases.Berlin:
VLDBEndowment,2003,29:
81-92.
[4]CHENY,TUL.Density-basedclusteringforreal-timestreamdata[C]//KDD’07:
Proceedingsofthe13thACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMining.NewYork:
ACM,2007:
133-142.
[5]单世民.基于网格和密度的数据流聚类方法研究[D].大连:
大连理工大学,2006.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滑动 窗口 基于 密度 网格 数据流 算法