聚类算法

概念及简介

概念

根据给定的样本,依据它们特征的相似度或距离,将样本归类到若干个“类”或“族”的数据分析问题

两种常见的聚类算法:

  1. 层次聚类
    层次聚类分为聚合和分裂两种方法。
    聚合法开始将每个样本各自分到一个类中,之后将相距最近的两类合并,简历一个新的类,重复次操作,直到满足停止条件。由此可见,聚合法是自下而上的。
    分类法开始将所有的样本分到一个类中,之后将已有类中相距最远的样本分到两个新的类,重复此操作,直到满足停止条件为止。由此可见,分类法是自上而下的。
  2. K-均值聚类
    基于中心的聚类方法,通过迭代,将样本分到K个类中,使得每个样本与其所属的类的中心或均值最近,得到K个“平坦的”、非层次化的类别,构成对空间的划分。

硬聚类和软聚类

  1. 硬聚类:一个样本只能属于一个类,即类的交集为空
  2. 软聚类:一个样本可以不止属于一个类,即类的交集不为空

距离度量函数

闵可夫斯基距离

闵可夫斯基距离越大,相似度越小;闵可夫斯基距离越小,相似度越大。
在这里插入图片描述
其中:
i:代表样本i
j:代表样本j
m:代表样本的属性个数

当闵可夫斯基中的p=1时,称为曼哈顿距离:
在这里插入图片描述
当闵可夫斯基中的p=2时,称为欧式距离:
在这里插入图片描述当闵可夫斯基中的p=∞时,称为切比雪夫距离:

在这里插入图片描述即:取各个坐标数值差的绝对值的最大值

马哈拉诺比斯距离

简称马氏距离
马哈拉诺比斯距离越大,相似度越小;马哈拉诺比斯距离越小,相似度越大

给定一个样本集合X:在这里插入图片描述,且协方差矩阵记作S,样本xi与样本xj之间的马哈拉诺比斯距离定义为:
在这里插入图片描述
其中:
在这里插入图片描述

当S为单位矩阵时,即样本数据的各个分量之间相互独立且各个分量的方差为1时,马氏距离就是欧式距离。

相关系数

样本之间的相似性也可以用相关系数来表示。相关系数的绝对值越接近1,样本越相似;相关系数的绝对值越接近0,样本越不相似
在这里插入图片描述其中
在这里插入图片描述
即所有特征的均值

夹角余弦

夹角余弦值越接近于1,样本越相似;夹角余弦越接近于0,样本越不相似
在这里插入图片描述

类或簇

符号说明

在这里插入图片描述

类的常见四种定义

  1. 设T为给定的正数,若集合G中任意两个样本xi、xj,有;
    在这里插入图片描述
    则称G为一个类或簇

  2. 设T为给定的正数,若对集合G的任意样本xi,一定存在G中的另一个样本xj,使得:
    在这里插入图片描述
    则称G为一个类或簇

  3. 设T为给定的正数,若对集合G中任意一个样本xi,G中的另一个样本xj,满足: 在这里插入图片描述则称G为一个类或簇

  4. 设T和V为给定的两个正数,如果集合G中任意两个样本xi,xj的距离dij满足:
    在这里插入图片描述则称G为一个类或簇

类(簇)的其他特征

  1. 类的均值(类的中心):类中所有样本点各个特征的平均值
    在这里插入图片描述

  2. 类的直径:类中距离最大的两个样本之间的距离
    在这里插入图片描述

  3. 类的样本散布矩阵
    在这里插入图片描述

  4. 类的样本协方差矩阵
    在这里插入图片描述

类与类之间的距离

在这里插入图片描述

  1. 最短距离或单连接
    类p中的样本与类q中的样本之间的最短距离
    在这里插入图片描述

  2. 最长距离或完全连接
    类p中的样本与类q中的样本之间的最长距离
    在这里插入图片描述

  3. 中心距离
    类p的中心与类q的中心之间的距离
    在这里插入图片描述

  4. 平均距离
    类p与类q中任意两个样本之间距离的平均值

在这里插入图片描述

层次聚类

层次聚类假设类别之间存在层次关系,将样本聚类到层次化的类中。因为样本只能属于一个类,所以层次聚类是硬分类聚类。层次聚类分为自下而上的聚类和自上而下的分裂两种。

  1. 自下而上的聚类:开始将每一个样本各自分到一个类中,然后将相聚最近的两类合并,建立一个新的类,重复次操作,直到满足停止条件,得到层次化的类别
  2. 自上而下的分裂:开始将所有的样本分到一个类中,然后根据已有类中相聚最远的样本分到两个新的类,重复此操作,每次减少一个类,直到满足停止条件。

层次聚类的三个关键要素:

  1. 距离或相似度:闵可夫斯基距离、马哈拉诺比斯距离,、相关系数、夹角余弦
  2. 合并规则/分裂规则:一般是类间距离最小。类间距离可以是:最短距离、最长距离、中心距离、平均距离。
  3. 停止条件:类的个数达到阈值,类的直径超过阈值

层次聚类算法步骤:

以欧式距离作为距离或相似度度量,类间距离最小作为合并规则,类的个数为1为停止条件的自下而上的聚合聚类为例。
输入:n个样本组成的样本集合
输出:对样本集合的一个层次化聚类

  1. 计算n个样本之间两两之间的欧式距离,记作:D
  2. 构造n个类,每个类只包含一个样本
  3. 合并类间距离最小的两个类,构建一个新的类
  4. 计算新类与当前各类的距离。若类的个数为1,终止计算,否则回到步骤3

K均值聚类

k均值聚类是基于样本划分的聚类算法。k均值聚类将样本集合划分为k个子类,构成k个类,将n个样本分到k个类中,每个样本到其所属类的中心的距离最小。每个样本只能属于一个类,所以k均值聚类是硬聚类算法。

策略

最小化所有样本到各自类中心的距离之和

K均值聚类算法步骤

输入:n个样本的集合X
输出:样本集合的聚类

  1. 初始化。令t=0(迭代次数),随机选择k个样本作为初始聚类中心M0=(M01,M02,…,M0k)
  2. 对样本进行聚类。对固定的类中Mt=(Mt1,Mt2,…,Mtk),其中Mtn为第t次迭代,第k个类中心。计算每个样本到类中心的距离,将每个样本指派到与其最近的中心的类中,构成聚类结果Ct;
  3. 计算新的类中心,对聚类结果Ct,计算当前各个类中样本的均值,作为新的类中新Mt+1.
  4. 如果迭代收敛或者符合停止条件,输出最终的聚类结果。否则,令t=t+1,返回步骤2.

算法特点

  1. 基于划分的聚类算法;
  2. 类别数k事先指定
  3. 以欧氏距离平方表示样本之间的距离,以中心或样本的均值表示类别
  4. 以样本和其所属类的中心之间的距离的总和为最优化的目标函数
  5. 得到的类别是平坦的、非层次的;
  6. 算法是迭代算法,不能保证得到全局最优解
  7. 初始中心的选择会直接影响到聚类结果
  8. 选择不同的初始化中心,会得到不同的聚类结果
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值