一、聚类概述
1. 目标
2. 定义
3. 用途
(1)用于试探性数据分析
- 当我们面临一个新问题,并且希望建立一个概率模型或者仅仅是为了理解现象的基本特性时,这是一个首要步骤。
- 对于不懂英语的人也能通过下面的聚类树图对英文的词性有大致的了解。
(2)概念一般化(元素之间的可互换性)
4. 聚类算法与分类算法的区别
5. 聚类算法分类
二、层级聚类
(一)两种层级聚类算法
1. 自底而上算法
2. 自顶而下算法
(二)三种相似度函数计算方式
1. 单连通聚类
(1)概念
单连通聚类:两个集合间最相似样本之间的相似度。
(2)特点
- 拉长聚类区域(链式效应);
- 没有考虑全局情况(a/e和a/d);
2. 全连通聚类
(1)概念
全连通聚类:
- 两个集合间最不相似样本之间的相似度;
- 考虑到了全局因素,避免了单连通算法中“拉长”区域的产生;
(2)特点
- 比较而言,全连通聚类更适合统计自然语言处理的要求;
- 主要缺点在于它的算法复杂度是O(n3)
3. 平均连通聚类
(1)概念
- 集合内部样本之间的平均相似度;
- 是上述两种方法的折中方案;
- 计算复杂度只有O(n2)
(2)算法
1)算法描述
算法每次迭代都确定两个集合 c u c_u cu和 c v c_v cv,使得 S ( c u ∪ c v ) S(c_u \cup c_v) S(cu∪cv)最大(新点集的相似度最大),然后将这两个集合合并。
2)点与点之间的相似度度量方法
3)平均相似度的定义
4)减少计算量
推导过程
其中,
三、非层级聚类
(一)基本思想
(二)两种典型的非层级聚类算法
1. K平均算法
(1)介绍与特点
- 是一种“硬聚类”算法
- 简单,虽然有局限性,但因适用面广、效率高而得到广泛应用。
(2)基本过程描述
1)设置初始的聚类中心;
2)将样本类别判定为距某聚类中心最近的类别
3)重新计算每个聚类的中心;
4)重复(2)、(3)直到迭代结束。
(3)算法小结
- 初始聚类中心点可以是随机选取的;
- 聚类效果取决于样本数据集合本身结构;
- 如果数据本身为非定义良好的数据集合时,可以先利用层级聚类算法在样本的一个子集上聚类,确定一些合理的k平均算法初始聚类中心点,随后在这个基础上利用k平均算法聚类。
2. EM算法
(1)特点
- 是一种算法的基本框架
- 在统计自然语言处理中有很广泛的应用,“向内-向外”算法和“向前-向后”算法;