机器学习-无监督学习之聚类

文章目录

K均值聚类

  • 步骤:
    Step1:随机选取样本作为初始均值向量。
    Step2:计算样本点到各均值向量的距离,距离哪个最近就属于哪个簇
    Step3:重新计算中心点作为均值向量,重复第二步直到收敛
  • 常见距离
    • 曼哈顿距离(街区距离)
    • 欧氏距离
    • 切比雪夫距离(棋盘距离)
    • 闵氏距离(结合前三种)
    • 余弦相似度
      • 适用场景:塔吊和文本分析
    • 汉明距离
      • 适用场景:计算机网络中二进制纠错
  • 没有哪个距离最好,只有哪个距离最合适,这就是理解这么多距离的原因

密度聚类(DBSCAN)

  1. 概念:
  • 给定数据集D={x1,x2,...,xm}
  • 邻域ε:对x∈D,其ε邻域包含样本集D中与x的距离不大于ε的样本
  • 核心对象:若x的ε邻域至少包含MinPts个样本,即|N(x)|≥MinPts,则x是一个核心对象。
    N ( x ) = { x ′ ∈ D ∣ dist ( x , x ′ ) ≤ ε } N(x) = \{x' \in D \mid \text{dist}(x, x') \leq \varepsilon\} N(x)={x′∈D∣dist(x,x′)≤ε}
  1. 密度直达、密度可达、密度相连

层次聚类

应用:生物领域

AGNES 算法

  • 思想类似归并排序,自底向上
    Step1:先将每个样本当成一个簇
    Step2:然后将距离最近的两个簇进行合并
    Step3:重复Step2
    直到,最远的两个簇的距离超过阈值或簇的个数达到指定值
  • 距离:最大距离、最小距离、平均距离

DIANA算法

  • 思想类似快速排序,自顶向下
    Step1:初始化,所有样本集中归为一个簇
    Step2:在同一个簇中,计算任意两个样本之间的距离,找到距离最远的两个样本点a,b,
    将a,b作为两个簇的中心:
    Step3:计算原来簇中剩余样本点距离a,b的距离,距离哪个中心近,分配到哪个簇中
    Step4:重复步骤2、3
    直到,最远两簇距离不足阈值,或者簇的个数达到指定值,终止算法

高斯混合模型聚类

  • 应用:将混合的连个数据集分开
  • 一维高斯函数,多元独立高斯函数
  • 正态分布就是高斯函数
    f ( x ) = 1 ( 2 π ) d / 2 ⋅ ∣ Σ ∣ 1 / 2 ⋅ exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) f(x) = \frac{1}{(2\pi)^{d/2} \cdot |\Sigma|^{1/2}} \cdot \exp\left(-\frac{1}{2}(x - \mu)^T \Sigma^{-1} (x - \mu)\right) f(x)=(2π)d/2⋅∣Σ∣1/21⋅exp(−21(x−μ)TΣ−1(x−μ))
  • 高斯混合模型:
    f ( x ) = ∑ i = 1 K w i ⋅ 1 ( 2 π ) d / 2 ⋅ ∣ Σ i ∣ 1 / 2 ⋅ exp ⁡ ( − 1 2 ( x − μ i ) T Σ i − 1 ( x − μ i ) ) f(x) = \sum_{i=1}^{K} w_i \cdot \frac{1}{(2\pi)^{d/2} \cdot |\Sigma_i|^{1/2}} \cdot \exp\left(-\frac{1}{2}(x - \mu_i)^T \Sigma_i^{-1} (x - \mu_i)\right) f(x)=i=1∑Kwi⋅(2π)d/2⋅∣Σi∣1/21⋅exp(−21(x−μi)TΣi−1(x−μi))
    Step1:将参数随机初始化
    Step2:计算x_j由各混合成分生成的后验概率,即观测数据x_j由第i个分模型生成的概率p(z_j=i|x_j)并记为γ_ji
    Responsibility ( x i , θ ) = π k ⋅ N ( x i ∣ μ k , Σ k ) ∑ j = 1 K π j ⋅ N ( x i ∣ μ j , Σ j ) \text{Responsibility}(x_i, \theta) = \frac{\pi_k \cdot \mathcal{N}(x_i | \mu_k, \Sigma_k)}{\sum_{j=1}^{K} \pi_j \cdot \mathcal{N}(x_i | \mu_j, \Sigma_j)} Responsibility(xi,θ)=∑j=1Kπj⋅N(xi∣μj,Σj)πk⋅N(xi∣μk,Σk)
    Step3:利用γ_ji计算新均值
    Step4:利用γ_ji计算新标准差
    Step5:利用γ_ji计算新权值
    Step6:重复Step2-5直到收敛
  • 最大似然函数思想

聚类效果的衡量指标

  • 目的:评估聚类结果是否好坏,确立优化目标
  • 结论:簇内彼此相似,簇间彼此不同
  • 指标(是否用到样本均值):
    • 外部指标:JC指数、FMI指数、RI指数
    • 内部指标:DB指数,Dunn指数

小结

  • 没有最优的算法,只有最合适的算法。

参考书:周志华-机器学习-西瓜书

相关推荐
好奇龙猫12 分钟前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys20 分钟前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1231 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒2 小时前
Docker学习
学习·docker·容器
charlie1145141913 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎4 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&4 小时前
嵌入式学习之路2
学习
码农小韩4 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风4 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习