机器学习之层次聚类及代码示例

一、层次聚类

层次聚类是无监督学习方法,可对给定的N个待聚类的样本进行层次的分类,直到某种条件(类的个数、类间的距离超过某个阈值)满足为止。

1、层次聚类的划分

对于层次聚类,可具体分为:

a. 凝聚的(agglomerative)层次聚类:

采用自底向上的策略:先将每个样本作为一个簇(类),然后不断地计算各个类之间的相似度/距离、并合并最相近的两个类成一个大类,直到某个终止条件满足为止。(可与哈夫曼编码算法作类比)

b. 分裂的(divisive)层次聚类:

采用自顶向下的策略,先将所有样本置于一个簇(类)中,然后根据一些原则逐渐细分为越来越小的类,直到某个终止条件满足为止。(可与决策树算法作类比)

2、类间的距离

在整个聚类的过程中,往往需要计算两个类的距离来进行凝聚/分隔的操作或者停止迭代的操作。判断两个类之间的距离/相似度可有以下三种方法:

a. SingleLinkage/Nearest-Neighbor:

取两个类中距离最近的两个样本的距离作为这两个类的距离。即最近两个样本之间的距离越小,这两个类的距离就越小。这种计算方法可能导致聚类的结果比较松散,且这种松散的效应会越来越大。比如当两个类总体上离得比较远,但却有对个别的点比较接近的情况。

b. CompleteLinkage:

取两个集合中距离最远的两个点的距离作为这两个类的距离,是SingleLinkage的反面极端情况。这种计算方法可能

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值