2.沈阳理工大学 机械工程学院, 辽宁 沈阳 110159
2.School of Mechanical Engineering, Shenyang Ligong University, Shenyang 110159, China
近年来, 社交网络、移动电话应用、电子商务网站等产生的数据呈指数级增长, 面向大数据的分析和处理技术的研究方兴未艾.作为大数据的一种数据模型, 广泛存在于实时监控系统、基于位置的服务(LBS)[1]、传感器网络[2]、射频识别电子标签(RFID)[3-4]等的不确定数据流, 因其具有数据量规模宏大、高速、单遍扫描及不确定性等特征, 需设计高效实时的增量算法对其进行聚类分析.
数据的不确定性是由数据采集及传输、数据集成等原因产生的, 可分为元组级不确定性和属性级不确定性[5-6].数据流环境下聚类分析面临的主要挑战是对源源不断到来的数据进行实时高效处理, 不确定性的引入增加了解决这一挑战的难度.
Aggarwal等[7]提出了最早的聚类演化数据流的双层框架结构--CluStream算法, 将聚类过程分为在线聚类和离线聚类两部分.Aggarwal等在2008年提出了UMicro算法[8]以解决属性级不确定数据流的聚类问题.文献[9]提出一种基于投影空间的不确定数据流聚类算法UPStream.针对离散概率模型中的元组级不确定性问题, 文献[10]提出基于信息熵的不确定数据流聚类算法LuMicro.文献[11]提出通过利用不确定聚类特征的指数直方图来获取最新数据的分布特征的方法, 采用双层架构模型对不确定数据流进行聚类.文献[12]考虑不确定元组期望值和不确定性, 提出基于Voronoi图的聚类算法以减少滑动窗口中期望距离计算量.文献[13]引入动态更新以适应数据变化的免疫模型, 提出对元组级不确定流数据进行聚类的IUMicro算法.文献[14]提出UIDMicro聚类算法, 分别用标准差和区间数来表示不确定流数据, 同时采用two-layer聚类窗口模型和动态聚类模型更新策略对不确定数据流聚类.文献[15]提出UDSSC算法使用滑动窗口机制接收新数据, 引入子空间簇生成策略和新型离群点机制.文献[16]提出基于不确定数据流聚类的动态通信距离评估方法.
本文侧重研究离散概率模型表示的元组级不确定数据流的聚类算法, 旨在提高算法执行效率.
1 不确定数据流聚类算法 1.1 基于期望距离的不确定数据流聚类算法 1.1.1 相关定义定义1 不确定数据流.若干随时间变化的d维不确定元组构成不确定数据流S, S={(X1, t1), (X2, t2), …, (Xi, ti), …}, 其中Xi是一个d维的元组, 由ki个可能的实例组成, Xi=( < xi1, pi1 > , < xi2, pi2 > , …, < xiki, piki > ), pij表示第j个实例出现的概率, 且0 < pij≤1,
定义2 期望距离.Xi和簇心cj的期望距离为Xi内所有可能实例到cj距离的期望之和, 即
(1) |
定义3 不确定元组的MBR.即包含元组内所有可能实例的最小边界矩形, 用以下d维向量分别表示MBR的下界和上界:
lower=(min (xi(1)), min (xi(2)), …, min (xi(d))),
upper=(max (xi(1)), max (xi(2)), …, max (xi(d))).
其中:min (xi(j))表示Xi在第j维上的最小值; max (xi(j))表示Xi在第j维上的最大值.
定义4 微簇的聚类特征结构.包含d维的Xi的微簇聚类特征结构用(2×d+2)元组(CF1, CF2,t, n)表示, 其中CF1是d维向量, 为每个不确定元组期望值的线性和, 第q项存储内容为
引理1 当微簇C加入新不确定元组 < Xi, t > , 微簇聚类特征结构的各项均可增量更新(证明略).
定理1 不确定元组Xi的MBR内至少存在一个确定点x', 使得x'到簇心cj的距离与Xi到簇心cj的期望距离相等, 即d(x′, cj)=ED (Xi, cj).
定理2 若yi为Xi的MBR的几何中心, 对角线长度为2r, ED (Xi, cj)为Xi到点cj的期望距离, 则
(2) |
本文提出聚类不确定数据流的EDMicro算法, 使用定义4的聚类特征结构在线维护微簇, 并使用算法1作为在线聚类的处理流程, 其在线微簇作为输出参与后续的离线宏聚类.行7中, 若不确定元组Xi到cj的期望距离小于Threshold, 则当前点属于该微簇, 否则Xi属于一个新微簇或是离群点, Threshold的设置方法同文献[10].若Xi属于一个新微簇或为离群点, 则为其建立一个新微簇.如果当前微簇的个数小于nmicro, 直接新建微簇, 否则删除当前微簇集中最久未更新的微簇.EDMicro算法的伪代码见算法2.
算法1 不确定数据流在线聚类算法
输入:最大微簇数目nmicro, 不确定数据流S
输出:微簇的集合C
1. REPEAT
2.从S中读入新元组 < Xi, ti > ;
3. IF Xi是第一个元组
4. 直接为Xi创建一个新的微簇;
5. ELSE
6. CALL某种算法找到距离Xi最近的微簇cj;
7. IF ED (Xi, cj)≤Threshold
8. Xi属于簇Cj并更新微簇的概要信息;
9. ELSE
10. IF (|C|≥nmicro)
11. 将最久未更新的微簇删除;
12. 对应Xi创建一个新微簇;
13. ELSE
14. 直接创建一个以Xi为中心的新微簇;
15. ENDIF
16. ENDIF
17. ENDIF
18. UNTIL stream end
算法2 基于期望距离的EDMicro算法
输入:微簇集合C及不确定流数据Xi
输出:距离Xi最近的微簇
1.初始化候选簇集合Q;
2. Q←C;
3.计算不确定流数据Xi的MBR的对角线一半值;
4. FOR k=1 to |Q|
5.计算该元组MBR的中心点和与Ck簇心ck的距离;
6.计算Xi和Ck的期望距离ED的上界及下界;
7. IF (upper_ED < min_upper_ED)
8. min_upper_ED=upper_ED;
9. ENDIF
10. ENDFOR
11. FOR k=1 to |Q|
12. IF (lower_ED (Xi, Ck) > min_upper_ED)
13. 将Ck从候选簇集合Q中删除;
14. ENDIF
15. ENDFOR
16. FOR k=1 to |Q|
17. 计算Xi和候选集合Q中剩余微簇的期望距离;
18. ENDFOR
19. RETURN具有最小期望距离的微簇.
1.2 基于空间位置关系的不确定数据流聚类算法 1.2.1 相关定义定义5 微簇的MBR.包含微簇内所有不确定元组期望值的最小边界矩形, 以两个d维向量分别表示MBR的下界和上界:
lower=(min (xi(1)), min (xi(2)), …, min (xi(d))),
upper=(max (xi(1)), max (xi(2)), …, max (xi(d))).
其中:min (xi(j))表示MBR在第j维上的最小值; max (xi(j))表示MBR在第j维上的最大值.
定义6 含MBR的微簇聚类特征结构.包含d维不确定元组的微簇可用(4×d+2)的元组(CF1, CF2, lower, upper, t, n)表示特征结构, 其中:CF1表示各不确定元组期望值的线性和, 即每一维存储不确定元组对应维的期望值的和, 它是d维向量; CF2也是d维向量, 表示各不确定元组期望值的平方和;lower是d维向量, 表示微簇的MBR的下界, 其第q项为min (xi(q));upper是d维向量, 表示微簇的MBR的上界, 其第q项为max (x(q));t表示微簇最后更新的时间;n为微簇内不确定元组的个数.
引理2 当新的不确定元组加入微簇, 包含MBR信息的微簇聚类特征结构的各项均可增量更新.
1.2.2 MBR的空间位置关系以二维数据为例, 不确定元组Xi的MBR和微簇MBR的位置关系包括:
包含Xi的MBR和微簇的MBR, 其中一个落在另一个内部;
相交Xi的MBR和微簇的MBR的空间位置部分重合但无包含关系;
相离Xi的MBR和所有微簇的MBR都没有共同区域.意味着Xi距离所有微簇均较远, 需计算Xi和所有微簇的期望距离.
1.2.3 边界情况的优化通常与Xi相交或者包含Xi的微簇都是距离Xi较近的微簇, 与Xi相离的微簇都与之较远.但某些特殊情况下, 与Xi相离的微簇也可能距离Xi更近.本文给出一种启发式解决方法, 即对Xi的MBR放大以便能够与距其较近的微簇相交或者包含.可以看出, 放大后的MBR与其较近范围内微簇的MBR均有相交或包含的关系.参数τ控制Xi的MBR的放大倍数, 其合理取值本文将在实验部分给出.
1.2.4 算法描述聚类过程同样使用算法1的处理流程, SRMicro算法描述见算法3, 集合Q1, Q2, Q3分别存放包含、相交、相离的微簇索引.
算法3 SRMicro算法
输入:微簇集合C, 不确定元组Xi
输出:距离Xi最近的微簇
1.创建3个候选簇集合Q1, Q2, Q3;
2. Q1←NULL, Q2←NULL, Q3←NULL;
3. FOR k=1 to |C|
4. 判断微簇Ck的MBR和Xi的MBR之间的位置关系;
5. SWITCH
6. {CASE包含:Ck加入到候选集合Q1中;BREAK;
7. CASE相交:Ck加入到候选集合Q2中;BREAK;
8. CASE相离:Ck加入到候选集合Q3中;BREAK;}
9. ENDFOR
10. IF (|Q1|≥1)
11. FOR j=1 to |Q1|
12. 计算Xi和Q1中所有微簇的期望距离ED (Xi, cj);
13. ENDFOR
14. Return argminCED (Xi, cj);
15. ELSE IF (|Q2|≥1)
16. FOR j=1 to |Q2|
17. 计算Xi和Q2中所有微簇的期望距离ED (Xi, cj);
18. ENDFOR
19. Return argminCED (Xi, cj);
20. ELSE
21. FOR j=1 to |Q3|
22. 计算Xi和Q3中所有微簇的期望距离ED (Xi, cj);
23. ENDFOR
24. argminCED (Xi, cj);
25. ENDIF
26. ENDIF
2 实验结果分析对本文提出的算法与LuMicro算法[10]进行比较.实验所用计算机内存2 GB DDRII, CPU为Intel (R) Core (TM)2 Duo E8400 @3.00 GHz, 操作系统采用Microsoft Windows XP SP3, 开发环境为Microsoft Visual Studio 2010, 编程语言选择C++.
2.1 数据集及参数设置为评估算法性能, 采用两个真实数据集分别是KDD-CUP’99网络入侵检测数据集和美国联邦森林数据集(Forest CoverType), 合成数据集采用人工的方式生成.算法中使用的默认参数设置如表 1所示.
图 1给出三种算法在不同数据集上的聚类时间, EDMicro算法运行时间要远低于LuMicro算法.图 2给出了三种算法以纯度表示的实验结果, 本文所提出算法的聚类纯度均高于LuMicro算法.
图 3给出了β分别取10, 20, 30, 40时, 本文所提出算法与LuMicro算法执行时间的对比.算法执行时间都随着β值的增长而增加, EDMicro算法时间增长要慢于LuMicro算法, SRMicro算法的执行时间缓慢增长, 这是因为比较的代价要远小于浮点运算的代价.
图 4显示了参数τ对聚类结果的影响.本文通过放大不确定元组的MBR, 使其尽量与距离较近的微簇有交集, 以保证算法的准确度.参数α表示半径阈值, 图 5显示了α在不同值的情况下, 算法的聚类纯度与时间.
图 6显示了本文提出算法和SRMicro算法随维度变化时的聚类处理时间.可以看出维数增加, EDMicro算法的聚类时间随之线性增长, 并且EDMicro算法与SRMicro算法的差别随之增大.图 7显示出改变微簇数目时, EDMicro算法和SRMicro算法的聚类时间对比.
本文提出两种不确定数据流聚类的EDMicro算法和SRMicro算法.前一种算法中实例分布特征用不确定元组MBR表示, 不确定元组和簇心期望距离的取值范围通过计算期望距离进行推导, 过滤距离不确定元组较远的微簇从而减少计算代价.后者提出簇的MBR的概念, 从不确定元组MBR和簇的MBR的空间位置关系, 将距离待处理的不确定元组较远的簇过滤.大量实验验证了本文提出算法的有效性和高效性, 并具有良好的可扩展性.
[1] | Liu L.From data privacy to location privacy:models and algorithms[C]//Proceeding of the 33rd International Conference on Very Large Data Bases.Vienna, 2007:1429-1430. |
[2] | Deshpande A, Guestrin C, Madden S, et al.Model-driven data acquisition in sensor networks[C]// Proceeding of the 30th International Conference on Very Large Data Bases.Toronto, 2004:588-599. |
[3] | Gu Y, Yu G, Zhang T C. RFID complex event processing techniques[J]. Journal of Frontiers of Computer Science and Technology , 2007, 1 (3) : 255–267. |
[4] | Jeffery S R, Garofalakis M N, Franklin M J.Adaptive cleaning for RFID data streams[C]//Proceeding of the 32nd International Conference on Very Large Data Bases.Seoul, 2006:163-174. |
[5] |
周傲英, 金澈清, 王国仁, 等.
不确定性数据管理技术研究综述[J]. 计算机学报 , 2009, 32 (1) : 1–16.
( Zhou Ao-ying, Jin Che-qing, Wang Guo-ren, et al. Summary of research on uncertain data management technology[J]. Chinese Journal of Computers , 2009, 32 (1) : 1–16. DOI:10.3724/SP.J.1016.2009.00001 ) |
[6] | Sarma A D, Benjelloun O, Halevy A Y, et al.Working models for uncertain data[C]//Proceeding of the 22nd International Conference on Data Engineering.Washington DC, 2006:145-157. |
[7] | Aggarwal C C, Han J W, Wang J, et al. A framework for clustering evolving data streams[C]//Proceeding of the 29th International Conference on Very Large Data Bases.Berlin, 2003:81-92. |
[8] | Aggarwal C C, Yu P S.A framework for clustering uncertain data streams[C]//Proceeding of the 24th International Conference on Data Engineering.Cancun, 2008:150-159. |
[9] | Aggarwal C C.On high dimensional projected clustering of uncertain data streams[C]//Proceedings of the 25th International Conference on Data Engineering.Shanghai, 2009:1152-1154. |
[10] | Zhang C, Gao M, Zhou A Y.Tracking high quality clusters over uncertain data streams[C] //Proceeding of the 25th International Conference on Data Engineering.Shanghai, 2009:1641-1648. |
[11] | Huang G Y, Liang D P, Ren J D, et al.An algorithm for clustering uncertain data streams over sliding windows[C]// Proceeding of the 6th International Conference on Digital Content, Multimedia Technology and Its Applications.Seoul, 2009:173-177. |
[12] | Cao K Y, Wang G R, Han D H, et al.A framework for high-quality clustering uncertain data stream over sliding windows[C]// Proceeding of the 13th International Conference on Web-Age Information Management.Harbin, 2012:308-313. |
[13] |
肖丹萍, 叶东毅.
基于免疫原理的不确定数据流聚类算法[J]. 模式识别与人工智能 , 2012, 25 (5) : 826–834.
( Xiao Dan-ping, Ye Dong-yi. An algorithm of uncertain data stream cluster based on immune principle[J]. Pattern Recognition and Artificial Intelligence , 2012, 25 (5) : 826–834. ) |
[14] |
罗清华, 彭宇, 彭喜元.
一种多维不确定数据流聚类算法[J]. 仪器仪表学报 , 2013, 34 (6) : 1330–1337.
( Luo Qing-hua, Peng Yu, Peng Xi-yuan. Multi-dimensional uncertain data stream clustering algorithm[J]. Chinese Journal of Scientific Instrument , 2013, 34 (6) : 1330–1337. ) |
[15] |
胡德敏, 余星.
一种不确定数据流子空间聚类算法[J]. 计算机应用研究 , 2014, 31 (9) : 2606–2608.
( Hu De-min, Yu Xing. Subspace clustering algorithm for uncertain data stream[J]. Application Research of Computers , 2014, 31 (9) : 2606–2608. ) |
[16] | Luo Q H, Yan X Z, Li J B, et al. A dynamic distance estimation using uncertain data stream clustering in mobile wireless sensor networks[J]. Measurement , 2014, 55 (9) : 423–433. |