聚类算法

假设有N个待聚类的样本,对于层次聚类来说,步骤:
      1, (初始化)把每个样本归为一类,计算两个类之间的距离,也就是样本与样本的相似度;
     2,寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个)
     3,重新计算生成的这个类与各个旧类之间的相似度;
     4,重复2和3直到所有样本点都归为一类,结束


     整个聚类过程其实是建立了一棵树,在建立的过程中,可以通过在第二部上设置一个阈值,当最近的两个类的距离大于这个阈值,则认为这个迭代终止,。另外关键的一步就是第三步,如何判断两个类的相似度有不少种方法。这里介绍一种:
     SingleLinkage: 又叫做nearest-neighbor,就是取两个类中距离最近的两个样本的距离作为这两个集合的距离,也就是说,最近两个样本之间的距离越小,这两个类之间的相似度就越大。容易造成一种叫做Chaining的效果,两个cluster明明从‘大局’上离得比较远,但是由于其中个别的点距离比较近就被合并了,并且这样合并之后Chaining效应会进一步扩大,最后会得到比较松散的cluster。
     
     CompleteLinkage:这个则完全是Single Linkage的反面极端,取另个集合中距离最远的两个点的距离作为两个集合的距离。其效果也刚好是相反的,限制非常大,两个cluster已经很接近了,但是只要有不配合的点就会顽固到底,老死不相合并,也是不太好的办法。这两种相似度的定义方法的共同问题就是只考了了某个特有的数据,而没有考虑内数据的真题特点。

     Average-linkage:这种方法就是把两个集合的点两两的距离放在一起求一个平均值,相对也能得到合适一点的结果。

     average-linkage的一个变种就是取两两距离的中值,与取均值相比更加能解除个别偏离样本对结果的干扰。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值