大规模数据的聚类算法研究01

大规模数据的聚类算法研究01

  • 1 数据集大小说明
  • 2 传统数据聚类
  • 3 大规模数据聚类
  • 4 小结
  • 参考文献

1 数据集大小说明

大规模数据的聚类算法研究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 大规模数据聚类

  基于抽样的方法: 该类方法通过约间数据规模来减少计算时间。首先采用抽样技术选择给定数据集的一个子集,仅使用采样的子集来发现类结构,然后将未被抽样到的数据点分配给最近的类。该类方法的成败取决于通过抽样所选的代表性数据集是否保持了原始数据的重要结构信息。

  1. resFCM 算法 (Random Sampling plus Extension FCM)通过对原数据集进行随机采样而产生新的更小的数据集,然后在新的数据集上使用FCM算法进行聚类,得到聚类中心最后根据产生的聚类中心在整个数据集上求得隶属矩阵。从而实现算法效率上的改进。
    Algorithm 2 所示为rseFCM 算法。大规模数据的聚类算法研究01_第2张图片
  2. 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) (VXl)
    所以,每次迭代有 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 算法。
    大规模数据的聚类算法研究01_第3张图片
  3. 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(i1)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) ({V1Vs}) 上进行 wFCM 聚类划分,最终求得整个数据集的聚类中心。同样的,计算每个样本子集的聚类中心时,wFCM 聚类中心初始化为上一个数据子集计算所产生的聚类中心会加速 wFCM 聚类中心的收敛。
    Algorithm 5 所示为 oFCM 算法。
    大规模数据的聚类算法研究01_第4张图片
  4. GOFCM(Geometric Progressive FCM)该方法采用与 spFCM 类似的模式处理大规模数据集。与 spFCM 不同之处在于运用 Thompson 方法确定初始样本子集大小,利用渐进式抽样进行样本抽取。
  5. MSERFCM(Minimum Sample Estimate Random FCM) 是 rseFCM 算法的一个改进版。具体地,该算法首先利用 Thompson 方法求得初始样本子集大小并获得进一步聚类较优的初始类中心。进而,从原始数据集中渐进地抽样第二个样本子集,并基于初始样本子集得到的初始类中心进行聚类。
  6. BSEFCM(Biased Sampling plus Extension FCM)根据样本局部密度利用偏抽样技术获得样本子集。然后,在抽样得到的样本子集上运行模糊 C 均值聚类算法得到部分聚类结果。最后,通过数据标签技术将未被抽样到的数据划分到相应的类中。
  7. 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.

你可能感兴趣的:(聚类,算法)