• 聚类算法(五)--层次聚类(系统聚类)及超易懂实例分析


    博客上看到的,叫做层次聚类,但是《医学统计学》上叫系统聚类(chapter21)

    思想很简单,想象成一颗倒立的树,叶节点为样本本身,根据样本之间的距离相似系数),将最近的两样本合并到一个根节点,计算新的根节点与其他样本的距离类间相似系数),距离最小的合为新的根节点。以此类推

    对于样本X=(x1,x2,,,xm),共n个样品,m个特征,我们可以考虑两种情形聚类

    R型聚类:m个特征之间的聚类,可以理解为一种降维。

    Q型聚类:n个样品之间的聚类,这就是一般意义上机器学习中的系统聚类

    (文中的下标i、j在R型、Q型中的含义不一样,聪明的读者自行分辨)

    相似系数:

    R型(真正意义上的相似系数)(r)

    $r_{ij}=frac{left | sum left ( X_{i}-ar{X_{i}} ight )left ( X_{j}-ar{X_{j}} ight ) ight |}{sqrt{sum left ( X_{i}-ar{X_{i}} ight )^{2}sum left ( X_{j}-ar{X_{j}} ight )^{2}}}$

    可以看到$r_{ij}$越大标明两特征相似程度越高

    Q型(真正意义上的样品距离)(d)

    闵可夫斯基(Minkowski)距离:

    $sqrt[p]{left | x-mu _{i} ight |^{p}}$

    Minkowski距离没有考虑变量之间的相关关系。引进马氏距离:

    $d_{ij}={mathbf{X}}'mathbf{S}^{-1}mathbf{X}$

    其中

    $X=(X_{i1}-X_{j1} ight , X_{i2}-X_{j2} ight, X_{im}-X_{jm})$(不明原因的公式不正确显示)

    类间相似系数:

    最大相似系数法

    r=Max(r)

    D=Min(d)

    最小相似系数法

     r=Min(r)

     D=Max(d)

    可以看出,就是人为规定了,当某两个指标或样品合并后,新的样本(或指标)与上一节点样品(或指标)的距离(或相似系数)的选取

    现举实例说明

    测量了300名成年女子身高(X1)、下肢长(X2)、腰围(X3)、胸围(X4)

    得到相似系数矩阵

    可以看到X1,X2的相似系数最大,所以将X1,X2合并为G5

    X3变为G3,X4变为G4

    G3与G4的相似系数不变,为0.73

    G5与G3、G5与G4的类间相似系数采用最大相似系数法

    G5与G3的类间相似系数r = Max r

    即$r_{53}=Max(r_{13},r_{23})=Max(0.09,0.05)=0.09$

    $r_{54}=Max(r_{14},r_{24})=Max(0.23,0.17)=0.23$

    所以有

    根据上述步骤,直到所有的类都归为一类。

    在R2中可知,G3、G4的相似系数最大,将他们归为G6,由此我们得到身高与下肢长为一类G5,腰围与胸围一类G6

    聚类图:

    横坐标为指标

    纵坐标为相关系数(越往下,r越大)

     参考:http://bluewhale.cc/2016-04-19/hierarchical-clustering.html

       《 医学统计学》 孙振球,徐勇勇

    Valar morghulis
  • 相关阅读:
    Swift-自定义类的构造函数
    Swift-存储属性,计算属性,类属性
    iOS-UICollectionViewController协议及回调
    Swift-数组
    Swift-switch使用注意点
    Swift-setValuesForKeysWithDictionary
    解决IDEA Struts2 web.xml问题
    枚举类
    增强for循环 -- foreach循环
    静态导入
  • 原文地址:https://www.cnblogs.com/super-yb/p/10910654.html
Copyright © 2020-2023  润新知