大规模数据的聚类算法研究01
1 数据集大小说明
- bit:位
- byte:字节 1 byte = 8 bit
- int 类型为 4 byte,共32位bit,unsigned int也是
- 2^32 byte = 4G
- 1G= 2^30 = 10.7亿
2 传统数据聚类
传统的聚类分析计算方法主要有如下几种:1. 划分方法;2. 层次方法;3. 基于密度的方法;4. 基于网格的方法;5. 基于模型的方法。
3 大规模数据聚类
基于抽样的方法: 该类方法通过约间数据规模来减少计算时间。首先采用抽样技术选择给定数据集的一个子集,仅使用采样的子集来发现类结构,然后将未被抽样到的数据点分配给最近的类。该类方法的成败取决于通过抽样所选的代表性数据集是否保持了原始数据的重要结构信息。
- resFCM 算法 (Random Sampling plus Extension FCM)通过对原数据集进行随机采样而产生新的更小的数据集,然后在新的数据集上使用FCM算法进行聚类,得到聚类中心最后根据产生的聚类中心在整个数据集上求得隶属矩阵。从而实现算法效率上的改进。
Algorithm 2 所示为rseFCM 算法。 - spFCM(Single Pass FCM) 首先在原数据集上进行随机抽样,随机构造出 s s s 个大小为 n s n_s ns 的数据子集。算法最初将权重向量 w w w 初始化长度为 n s n_s ns,每一位权重都为 1 s 1s 1s 的向量。然后计算第一组数据样本的 wFCM 聚类划分和聚类中心。spFCM 然后迭代剩余的 X X X 的数据子集,每次迭代运用 wFCM 在一组更大的数据集上进行聚类划分,这个数据集由上一次迭代的聚类中心和本次的样本子集 X l X_l Xl 组成,也就是 ( V ∪ X l ) \left(V \cup X_l\right) (V∪Xl)。
所以,每次迭代有 c n s c n_s c ns 个实体进行聚类。构造长度为 c n s c n_s c ns 的权重向量,重复 迭代 s s s 次 wFCM,得到最终的聚类中心。每次迭代,wFCM聚类中心初始化为上一次 迭代所产生的聚类中心会加速 wFCM 聚类中心的收敛。
Algorithm 4 所示为 spFCM 算法。 - oFCM(Online FCM) 首先将原数据集划分为 s s s 个大小为 n s n_s ns 的数据子集, 划分规则为: X = { X 1 , X 2 , ⋯ , X s } X=\left\{X_1, X_2, \cdots, X_s\right\} X={X1,X2,⋯,Xs}, where X i = { x ( i − 1 ) n s 1 , ⋯ , x i n s } X_i=\left\{x_{(i-1) n_s 1}, \cdots, x_{i n_s}\right\} Xi={x(i−1)ns 1,⋯,xins}。
与 spFCM 不同,oFCM 分别对所有 s s s 个数据子集进行 wFCM 聚类划分,然后对 s s s 次聚类划分所产生的 c × s c × s c×s 个聚类中心 ( { V 1 ∪ ⋯ ∪ V s } ) \left(\left\{V_1 \cup \cdots \cup V_s\right\}\right) ({V1∪⋯∪Vs}) 上进行 wFCM 聚类划分,最终求得整个数据集的聚类中心。同样的,计算每个样本子集的聚类中心时,wFCM 聚类中心初始化为上一个数据子集计算所产生的聚类中心会加速 wFCM 聚类中心的收敛。
Algorithm 5 所示为 oFCM 算法。 - GOFCM(Geometric Progressive FCM)该方法采用与 spFCM 类似的模式处理大规模数据集。与 spFCM 不同之处在于运用 Thompson 方法确定初始样本子集大小,利用渐进式抽样进行样本抽取。
- MSERFCM(Minimum Sample Estimate Random FCM) 是 rseFCM 算法的一个改进版。具体地,该算法首先利用 Thompson 方法求得初始样本子集大小并获得进一步聚类较优的初始类中心。进而,从原始数据集中渐进地抽样第二个样本子集,并基于初始样本子集得到的初始类中心进行聚类。
- BSEFCM(Biased Sampling plus Extension FCM)根据样本局部密度利用偏抽样技术获得样本子集。然后,在抽样得到的样本子集上运行模糊 C 均值聚类算法得到部分聚类结果。最后,通过数据标签技术将未被抽样到的数据划分到相应的类中。
- SSEFCM(Stratified Sampling plus Extension FCM)首先根据一定的准则将数据对象分成相对同质(同一层内对象相似度较大)的层,然后从每一层中分别选择一部分样本组成代表性样本子集。
作为一个常用的大规模数据分析技术,分层抽样主要包括分层和样本分配两个关键步骤。在分层过程中,原始大规模数据集被划分为不同的层;在样本分配过程中,需要确定样本子集大小并从每一层中抽取相应的样本。
根据以上描述可知,spFCM 和 rseFCM 算法属于基于均匀随机抽样的聚类方法;GOFCM 和 MSERFCM 算法属于基于渐进式抽样的聚类方法;BSEFCM 算法属于基于有偏抽样的聚类方法。在BSEFCM 算法中,在执行偏抽样之前,首先随机抽取 10% 的对象计算各个数据对象的局部密度。
4 小结
心若有所向往,何惧道阻且长!共勉!
参考文献
[1]赵兴旺. 大规模复杂数据聚类算法研究[D].山西大学,2019.DOI:10.27284/d.cnki.gsxiu.2019.000006.
[2]Timothy C. Havens,James C. Bezdek,Christopher Leckie,Lawrence O. Hall,Marimuthu Palaniswami. Fuzzy c-Means Algorithms for Very Large Data.[J]. IEEE Trans. Fuzzy Systems,2012,20(6).
[3]Xingwang Zhao,Jiye Liang,Chuangyin Dang. A stratified sampling based clustering algorithm for large-scale data[J]. Knowledge-Based Systems,2018,163.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghekkk
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13