Datamining数据挖掘-基于模型的聚类

  1. 基于模型的聚类
    1. 描述
    2. 混合高斯分布
    3. 峰值个数
    4. 从k-means到模型
    5. 问题:
    6. EM算法
    7. EM联合高斯

清华大学 最大期望算法

基于模型的聚类

描述

(Model Based Methods) 最终目的:找到一组符合数据的概率模型

混合高斯分布

(Gaussian Mixture) 用一组高斯分布的线性组合来逼近数据的模型,\(\sum_i\alpha_i=1\) 保证了 PDF(\(f(x)\))的积分(面积)=1 $$ g(x, , )= e{-(x-){2} /(2 ^{2})}

\ f(x)={i=1}^{n} {i} g(x, {i}, {i}), {i} & {i} _{i}=1 $$

峰值个数

不一定和高斯函数的个数相同! 两个高斯距离很近的时候,在交叉的地方会多出一个峰

从k-means到模型

通过引入\(z_i\)(隐含参数,类似于几何中加辅助线) \(z_i\in Z\) 是每个样本点属于哪个簇, \(\theta\) 是各个簇的中心组成的集合, 如果知道每个点的\(z_i\),就可以通过计算同一个簇的平均求\(\theta\) 如果知道所有中心点\(\theta\),就可以通过求距离算出每个点的z 结论: \(z_i\)\(\theta\)可以互相求,通过反复更新来最优化最终的z和\(\theta\)

image20200717164218810

问题:

抛两个硬币A,B(正面向上概率不同的硬币)各抛5轮每轮10次,但不知道每轮抛的是哪个硬币,问怎么求\(\theta_A=P_A(H),\theta_B=P_B(H)\) 用EM算法,先假设\(\hat \theta_A, \hat \theta_B\),再通过引入隐含参数更新\(\hat \theta_A, \hat \theta_B\)

EM算法

(Expectation maximization) 1 假设\(\hat \theta_A=0.6, \hat \theta_B=0.5\) 2 用假设1,通过贝叶斯公式推测是A,B的概率\(P(A),P(B)\) 3 重新计算\(\hat \theta_A, \hat \theta_B\) 4 重复2 3, 这里的z就是\(P(A),P(B)\)

image-20200717165937220

EM联合高斯

(EM:GaussianMixture)

  • 参数 m:数据点 n:数据总数 \(z_{ij}\):第i个样本是第j个高斯生成的概率,因为任何一个数据都有能被任何一个高斯生成所以才引入这个变量, 需要求(第j个)高斯的权重\(\mu_j,和权重 \alpha_j\)

  • 步骤

    1 手动设置\(\mu_i,\alpha_i\) 2 计算E[zij] 3 用E[zij]更新\(\mu_i,\alpha_i\) 4 重复2 3,最后得出\(z_{ij}\),从而得到聚类

image20200717170243577


转载请注明来源 https://tianweiye.github.io