N = getNeighbours (p, Eps);
if sizeof(N) < MinPts then
mark p as Noise;
else
C = next cluster;
ExpandCluster (p, N, C, Eps, MinPts);
end if
end for
End
该算法可以发现任意形状的类,并且对孤立点敏感。由于此算法对人们定义的参数很敏感,在实际应用中的效果较差。为了解决上面的问题,提出了OPTICS算法,使得对输入的参数不敏感。
2.2.4 基于网格的方法
该方法是将数据分割成网格结构,每个结构中由有限个单元构成,所有处理的对象就是网格结构,使处理数据的速度变快。典型的算法有STING算法和CLIQUE算法。
STING算法是基于网格的多分辨率聚类技术,它将空间区域分为矩形单元。STING算法中由于存储在每个单元中的统计信息提供了单元中的数据不依赖于查询的汇总信息,因此计算是独立于查询的。该算法采用了一种多分辨率的方法来进行聚类分析,该聚类算法的质量取决于网格结构最底层的粒度。主要优点:效率高,通过对数据集的一次扫描来计算单元的统计信息,因此产生聚类的时间复杂度是O(n)。
clique算法既是基于密度聚类的方法又是基于网格聚类的方法,它能处理大型的高文的数据集合,对数据的输入顺序不敏感。
2.2.5 基于模型的方法
该方法是给每个聚类都假设一个模型,再去将数据和给定的模型进行匹配,找到最合适的。通常包含统计方法和神经网络。
COBWEB是一种机器学习中的聚类算法,利用分类树来进行的层次聚类,分类树中的一层就是一种划分,COBWEB利用分类效用来构建树的。
分类效用的定义为:
(2.14)
其中n是在树的某个层次上形成一个划分的节点或种类的数目。
SOM神经网络是一种基于模型的聚类方法。由N个输入神经元和 个输出神经元构成了SOM神经网络结构。SOM对低文数据集很有效,但是对数据的输入顺序敏感。SOM神经网络的基本结构如图2.2所示。SOM算法与大脑处理信息的过程相似,对低文数据的可视很有作用。SOM网络最大的缺点是:当学习模式较少时,数据输入的顺序决定了聚类的效果,且网络连接权向量的初始状态对网络的收敛性能有很大影响。