层次聚类之高斯混合模型聚类算法原理的介绍

46 篇文章 3 订阅
10 篇文章 1 订阅

多维变量X服从高斯分布时,它的概率密度函数PDF为:

x是维度为d的列向量,u是模型期望,Σ是模型方差。在实际应用中u通常用样本均值来代替,Σ通常用样本方差来代替。很容易判断一个样x本是否属于类别C。因为每个类别都有自己的u和Σ,把x代入(1)式,当概率大于一定阈值时我们就认为x属于C类。

从几何上讲,单高斯分布模型在二维空间应该近似于椭圆,在三维空间上近似于椭球。遗憾的是在很多分类问题中,属于同一类别的样本点并不满足“椭圆”分布的特性。这就引入了高斯混合模型。

高斯混合模型GMM

每个 GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为一个“Component”,这些 Component 线性加成在一起就组成了 GMM 的概率密度函数:

每个 GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为 一个“Component”,这些 Component 线性加成在一起就组成了GMM 的概率密度函数:

由于式子里的 \mu_k 和 \Sigma_k 也是需要我们估计的值,我们采用迭代法,在计算 \gamma(i, k) 的时候我们假定 \mu_k 和 \Sigma_k 均已知,我们将取上一次迭代所得的值(或者初始值)。

  • 估计每个 Component 的参数:现在我们假设上一步中得到的 \gamma(i, k) 就是正确的“数据x_i 由 Component k 生成的概率”,亦可以当做该 Component 在生成这个数据上所做的贡献,或者说,我们可以看作 x_i 这个值其中有 \gamma(i, k)x_i 这部分是由 Component k所生成的。集中考虑所有的数据点,现在实际上可以看作 Component 生成了 \gamma(1, k)x_1, \ldots, \gamma(N, k)x_N 这些点。由于每个 Component 都是一个标准的 Gaussian 分布,可以很容易分布求出最大似然所对应的参数值:
    <img src="http://blog.pluskid.org/latexrender/pictures/96b3a1fb485a96d3d3e21594d2bbcd69.png" _xhe_src="http://blog.pluskid.org/latexrender/pictures/96b3a1fb485a96d3d3e21594d2bbcd69.png" title="" \displaystyle"="" alt="" align="absmiddle" style="border: 0px; margin-left: auto; margin-right: auto;">

    其中 N_k = \sum_{i=1}^N \gamma(i, k) ,并且 \pi_k 也顺理成章地可以估计为 N_k/N 。

  • 重复迭代前面两步,直到似然函数的值收敛为止。当参数收敛,则创建出K个模型,如何使用这K个模型进行分类呢?

    GMM是一种聚类算法,每个component就是一个聚类中心。即在只有样本点,不知道样本分类(含有隐含变量)的情况下,计算出模型参数(π,u和Σ)----这显然可以用EM算法来求解。再用训练好的模型去差别样本所属的分类,方法是:step1随机选择K个component中的一个(被选中的概率是

    πk);step2把样本代入刚选好的component,判断是否属于这个类别,如果不属于则回到step1。

 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值