聚类是把相似的对象通过静态 分类的方法分成不同的组别或者更多的 子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性,常见的包括在 坐标系中更加短的空间距离等。一般把数据聚类归纳为一种非监督式学习。
数据聚类算法可以分为结构性或者分散性。结构性算法利用以前成功使用过的聚类器进行分类,而分散型算法则是一次确定所有分类。结构性算法可以 从上之下或者 从下至上双向进行计算。 从下至上算法从每个对象作为单独分类开始,不断融合其中相近的对象。而 从上之下算法则是把所有对象作为一个整体分类,然后逐渐分小。
距离测量
在结构性聚类中,关键性的一步就是要选择测量的距离。一个简单的测量就是使用 曼哈顿距离,它相当于每个变量的绝对差值之和。该名字的由来起源于在纽约市区测量街道之间的距离就是由人步行的步数来确定的。一个更为常见的测量是欧式空间距离,他的算法是找到一个空间,来计算每个空间中点到原点的距离,然后对所有距离进行换算。
创建聚类
在已经得到距离值之后,元素间可以被联系起来。通过分离和融合可以构建一个结构。传统上,表示的方法是树形数据结构,然后对该结构进行修剪。
K-均值法及衍生算法
K-均值法聚类 K-均值算法表示以空间中k个点为中心进行聚类,对最靠近他们的对象归类。
数据集合为三维,聚类以两点: = ( 1, 2, 3) and = ( 1, 2, 3). 中心点 变为 = ( 1, 2, 3), where 1 = ( 1 + 1)/2 and 2 = ( 2 + 2)/2 and 3 = ( 3 + 3)/2. 算法归纳为 (J. MacQueen, 1967):
选择聚类的个数 . 任意产生 个聚类,然后确定聚类中心,或者直接生成 个中心。 对每个点确定其聚类中心点。 再计算其聚类新中心. 重复以上步骤直到满足收敛要求。(通常就是确定的中心点不再改变). 该算法的最大优势在于简洁和快速。劣势在于对于一些结果并不能够满足需要,因为结果往往需要随机点的选择非常巧合。