聚类——基于层次的聚类算法

基于层次的聚类算法(Hierarchical Clustering)

当不知道应该分为几类时,使用层次聚类比较适合。层次聚类会构建一个多层嵌套的分类,类似一个树状结构。可以选择一个聚类数量,根据需求对树状图中画一条水平线,得到对应的聚类。但层次聚类法容易受到噪声和数据维度过高的影响
在这里插入图片描述

自底向上的聚类

从点作为个体簇开始,迭代时每一步合并两个最接近的簇,直到所有样本合并为一簇
在这里插入图片描述

算法步骤:

  1. 每个样本点自成一类。
  2. 选择最近的两个类聚成一类。
  3. 计算新的类与类之间的距离。
  4. 重复第 2、3 步直至所有的样本点聚为一类。

初始时,每个簇只有一个样本,搜索相似度矩阵就可以找到距离最短的两个簇,然后合并它们;当簇中不止一个样本时,可以采用Min、Max、群平均、Ward’s等方法计算两个簇之间的相似性(距离)。

该方法的优点是思想简单,但分裂点的选择不太容易,计算量大,不适应于大数据集的聚类,且空间要求较大,时间复杂度也较高,时间复杂度 O ( m 2 ) O(m_2) O(m2),空间复杂度 O ( m 2 ⋅ l o g m ) O(m_2\cdot {log}_m) O(m2logm) ,m为样本个数。

两个簇之间的距离度量

1. Min:不同簇中两个最近的样本的距离,作为簇之间的距离;考虑两个簇 A,B,其中, x i ∈ A , y j ∈ B \mathbf x_i\in A, \mathbf y_j\in B xiA,yjB,则簇间最小距离 d ( A , B ) = m i n { d ( x i , y j ) } \displaystyle d(A,B)=min\{d(\mathbf x_i,\mathbf y_j)\} d(A,B)=min{d(xi,yj)}
优点:可以处理非椭圆型的样本集合;
缺点:容易收噪声和奇异值的影响。
在这里插入图片描述

2. Max:不同簇中两个最远的样本的距离,作为簇之间的距离;簇间最大距离 d ( A , B ) = m a x { d ( x i , y j ) } \displaystyle d(A,B)=max\{d(\mathbf x_i,\mathbf y_j)\} d(A,B)=max{d(xi,yj)}

优点:不容易受噪声和奇异值的影响;倾向对具有大量样本的簇进行分割;
缺点:对球状簇的样本分割容易有偏差。
在这里插入图片描述

3. 群平均:将不同簇中所有的样本点之间的距离求平均值;是一种介于 Min 和 Max 之间的方法;簇间平均距离 d ( A , B ) = 1 n A ⋅ n B ∑ x i ∈ A , y i ∈ B d ( x i , y j ) \displaystyle d(A,B)=\frac{1}{n_A\cdot n_B}\sum_{\mathbf x_i\in A,\mathbf y_i\in B}d(\mathbf x_i,\mathbf y_j) d(A,B)=nAnB1xiA,yiBd(xi,yj)

优点:不容易受噪声和奇异值的影响;
缺点:对球状簇的样本分割容易有偏差。
在这里插入图片描述

4. Ward法(离差平方和):两个类合并后增加的类内离差平方和最小。
优点:不容易受噪声和奇异值的影响;
缺点:对球状簇的样本分割容易有偏差。
在这里插入图片描述

自顶向下的聚类

从包含所有样本点的某个簇开始。迭代时每一步分裂一个个体簇,直到所有簇都为个体簇

算法步骤

在这里插入图片描述

  1. 将样本集中的所有的样本归为一个簇;
  2. 在同一个簇(计为簇 C C C )中计算两两样本之间的距离,找出距离最远的两个样本 x a , x b \mathbf x_a,\mathbf x_b xa,xb
  3. 将样本 x a , x b \mathbf x_a,\mathbf x_b xa,xb 分配到不同的类簇 C 1 C_1 C1 C 2 C_2 C2 中;
  4. 计算原类 C C C 中剩余的其他样本点 x i \mathbf x_i xi x a , x b \mathbf x_a,\mathbf x_b xa,xb 的距离,若是 d ( x a , x i ) < d ( x b , x i ) d(\mathbf x_a,\mathbf x_i)<d(\mathbf x_b,\mathbf x_i) d(xa,xi)<d(xb,xi) ,则将样本点归到 C 1 C_1 C1 中,否则归到 C 2 C_2 C2 中;
  5. 重复以上步骤,直到达到聚类的数目或者达到设定的条件。

该方式的缺陷是受噪点影响大,容易产生长条状的簇

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值