聚类算法及其评价

时间:2022-03-02 20:36:40

姓名:Jyx
班级:csdn人工智能直通车-5期
描述:这是本人在学习人工智能时的学习笔记,加深理解

聚类

  1. 聚类是一种非监督学习,聚类需要将一系列样本输入到聚类算法中,学习样本的内在结构。聚类往往不单独存在,而是作为一个大的监督学习算法的一部分存在
  2. 聚类的原则。 类内散度最小,类间散度最大
  3. 聚类的用途
    3.1 减少计算量。通过对样本分类,以分类标签代替原始向量,大大减少计算量
    3.2 识别离群点。
    3.3 可视化
  4. 聚类的要素。特征选择,近邻测度,聚类准则,聚类算法,结果验证,结果判定

近邻测度

  1. 距离测度
    d ( x , y ) = | | x y | | p 1 p
  2. 余弦相似度
    d ( x , y ) = x T y | x |   | y |
  3. 相关系数
    d ( x , y ) = c o v ( x , y ) δ x δ y
  4. 杰卡德相似系数
    d ( x , y ) = i = 1 k 1 a i i n x + n y i = 1 k 1 j = 1 k 1 a i j w h e r e   n x = i = 1 k 1 j = 0 k 1 a i j , n y = i = 0 k 1 j = 1 k 1 a i j

    其中矩阵 { a i j } 称为相依表(Contingency table)

聚类算法


  1. 分类
    1.1 基于距离的聚类算法
    1.2 基于密度的聚类算法
    1.3 基于连接的聚类算法
  2. 基于距离的聚类算法
    2.1 KMeans
    对于一个k类问题,KMeans 的优化目标为
    arg min C i = 1 k x C i ( x μ i ) 2 , u i = 1 n C i x C i x

    这是一个组合优化问题,完全的求解几乎不可能。一般的的思路都是采用贪婪算法,求解局部最优,因此KMeans一般要使用随机初值多尝试几次

算法描述

  1. 选择随机的聚类中心 μ i 初始化算法
  2. 根据每个样本距离聚类中心的距离对每个样本进行分类, x C i , arg min i ( x u i ) 2
  3. 利用分类好的聚类结果更新新的聚类中心 u i = 1 n C i x C i x
  4. 重复2,3步直 u i 基本不变

2.2 层次聚类
层次聚类来源于生物学的生物分类,一级包含一级,形成一个层次聚类。层次算法并不存在一个优化目标。层次聚类有两种,一种是分裂,一种是聚合。分裂是自顶向下,聚合是自底向上
基本算法描述:

1 将每一个样本初始化一个类 C i
2 选取一对 C n e w = C i C j arg min i , j d ( C i , C j )
3 删除原来的 C i , C j
4重复2,3直至只有一个类

这样就形成了一个分类树,然后根据某些知识和准则选取每一级作为最后的聚类结果
2.3 吸引力传播
2.4 DBSCAN