机器学习算法学习---处理聚类问题常用算法(四)

STING:统计信息网格
STING算法的 优点
 (1) 基于网格的计算是独立于查询的,因为存储在每个单元的统计信息提供了单元中数据汇总信息,不依赖于查询。
 (2) 网格结构有利于增量更新和并行处理。
 (3) 效率高。STING扫描数据库一次开计算单元的统计信息,因此产生聚类的时间复杂度为O(n),在层次结构建立之后,查询处理时间为)O(g),其中g为最底层网格单元的数目,通常远远小于n。
缺点
 (1) 由于STING采用了一种多分辨率的方法来进行聚类分析,因此STING的聚类质量取决于网格结构的最底层的粒度。如果最底层的粒度很细,则处理的代价会显著增加。然而如果粒度太粗,聚类质量难以得到保证。
 (2) STING在构建一个父亲单元时没有考虑到子女单元和其他相邻单元之间的联系。所有的簇边界不是水平的,就是竖直的,没有斜的分界线。降低了聚类质量。

1、概念:

STING是一种基于网格的多分辨率的聚类技术,它将输入对象的空间区域划分成矩形单元,空间可以用分层和递归方法进行划分。这种多层矩形单元对应不同的分辨率,并且形成了一个层次结构:每个高层单元被划分成低一层的单元。关于每个网格单元的属性的统计信息(如均值,最大值和最小值)被作为统计参数预先计算和存储。对于查询处理和其他数据分析任务,这些统计参数是有效的。

2、算法流程:

(1)针对不同的分辨率,通常有多个级别的矩形单元。
(2)这些单元形成了一个层次结构,高层的每个单元被划分成多个底一层的单元。
(3)关于每个网格单元属性的统计信息(例如平均值,max,min)被预先计算和存储,这些统计信息用于回答查询。(统计信息是进行查询使用的)

3、查询流程:

(1)从一个层次开始
(2)对于这一个层次的每个单元格,我们计算查询相关的属性值。
(3)从计算的属性值以及约束条件下,我们将每一个单元格标记成相关或者不想关。(不相关的单元格不再考虑,下一个较低层的处理就只检查剩余的相关单元)
(4)如果这一层是底层,那么转(6),否则转(5)
(5)我们由层次结构转到下一层,依照步骤2进行
(6)查询结果得到满足,转到步骤8,否则(7)
(7)恢复数据到相关的单元格进一步处理以得到满意的结果,转到步骤(8)
(8)停止

4、核心思想:

根据属性的相关统计信息进行划分网格,而且网格是分层次的,下一层是上一层的继续划分。在一个网格内的数据点即为一个簇。
5、性质:
如果粒度趋向于0(即朝向非常底层的数据),则聚类结果趋向于DBSCAN聚类结果。即使用计数count和大小信息,使用STING可以近似的识别稠密的簇。
 

猜你喜欢

转载自www.cnblogs.com/zhenpengwang/p/10853744.html