K均值聚类
- 步骤:
Step1:随机选取样本作为初始均值向量。
Step2:计算样本点到各均值向量的距离,距离哪个最近就属于哪个簇
Step3:重新计算中心点作为均值向量,重复第二步直到收敛 - 常见距离
- 曼哈顿距离(街区距离)
- 欧氏距离
- 切比雪夫距离(棋盘距离)
- 闵氏距离(结合前三种)
- 余弦相似度
- 适用场景:塔吊和文本分析
- 汉明距离
- 适用场景:计算机网络中二进制纠错
- 没有哪个距离最好,只有哪个距离最合适,这就是理解这么多距离的原因
密度聚类(DBSCAN)
- 概念:
- 给定数据集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′)≤ε}
- 密度直达、密度可达、密度相连
层次聚类
应用:生物领域
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指数
小结
- 没有最优的算法,只有最合适的算法。
参考书:周志华-机器学习-西瓜书