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


    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)={xDdist(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/21exp(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=1Kwi(2π)d/2Σi1/21exp(21(xμi)TΣi1(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πjN(xiμj,Σj)πkN(xiμk,Σk)
      Step3:利用γ_ji计算新均值
      Step4:利用γ_ji计算新标准差
      Step5:利用γ_ji计算新权值
      Step6:重复Step2-5直到收敛
    • 最大似然函数思想

    聚类效果的衡量指标

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

    小结

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

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

  • 相关阅读:
    《痞子衡嵌入式半月刊》 第 55 期
    SpringCloud(8月25号)
    基于落点打分的井字棋智能下棋算法(C语言实现)
    语音识别翻译怎么做?这些方法值得收藏
    Golang gorm 常用新增方法
    联邦学习应用研究现状及发展趋势
    使用 EMQX 接入 MQTT-SN 协议设备
    SpringCloud 组件Gateway服务网关【全局过滤器】
    场景应用:图解实现单点登录系统设计
    MySQL学习(4):SQL语句之数据操作语言:DML
  • 原文地址:https://blog.csdn.net/qq_61735602/article/details/133822384