二维ising模型概率c语言_伯努利混合模型(Bernoulli Mixture Model)

  • Post author:
  • Post category:其他



一、前言

笔者本学期有一门数据挖掘的课程,教授重点讲解了有限混合模型(Finite Mixture Model),是聚类分析常用的方法之一,其中最经典的就是大家所熟知的高斯混合模型(Gaussian Mixture Model,GMM)。因此笔者参考GMM的推导公式,对伯努利混合模型(Bernoulli Mixture Model,BMM)也进行了相同方式的推导,并通过EM算法(Expectation–maximization algorithm)实现了对BMM参数的极大似然估计。相信对GMM比较了解的小伙伴们,也一定可以自己推导出更加简单的BMM。如果你不了解GMM,这也不会影响你掌握本文的BMM。

我们知道GMM通常用于对变量空间是连续的数据进行聚类,而BMM则适用于处理离散的数据,尤其是二进制格式的数据。本文首先会介绍单独的伯努利分布,包括三种概率分布模型:二维伯努利模型,多维伯努利模型,以及多变量伯努利模型;其次,分别对三种模型建立其混合模型,并对其参数进行极大似然估计。


二、伯努利分布 (Bernoulli distribution)

2.1. 二维伯努利分布(Two-dimensional Bernoulli distribution)

二维伯努利分布是关于二维布尔向量


的概率分布,其中

,且满足

,及

中只有一个为1;设参数向量


,分别表示

以及

的概率,且满足

。其概率分布函数为:


(1)

由此可见,二维伯努利也可考虑成一维伯努利去应用,也就是我们本科所学的伯努利实验,这里称其为二维是为了与后面介绍的多维伯努利相一致。二维伯努利最简单的应用就是抛硬币问题,一个硬币共有两个面,每次实验只会出现一个面朝上。因此二维伯努利模型可处理类似如下二进制数据集:

2.2. 多维伯努利分布 (Multi-dimensional Bernoulli distribution)

多维伯努利分布的随机变量由二维拓展为了


维布尔向量

,其中

,且满足

,及向量

中只有一个元素为1;设参数向量

,其中

,表示为

的概率,且满足

。则其概率分布函数为:


(2)

多维伯努利的应用也很常见,比如一个人的血型会是{A, B, AB, O}其中的一种;一个筛子有六个面,每次实验只会出现一个面正面朝上。因此多维伯努利模型可处理类似如下二进制数据集:

2.3. 多变量伯努利模型(Multivariate Bernoulli distribution)

多变量伯努利模型的随机变量同样也是一个


维布尔向量

,其中

,然而与上述多维伯努利分布不同的是它没有约束条件

,及元素之间相互独立,可让多个元素同时为1;参数向量同样为

,其中

,表示为

的概率,这里

也不需要满足

。多变量伯努利模型可理解为一次实验中对

个对象都执行了一次伯努利实验;注意:这里不要理解为对同一对象执行

次伯努利实验!原因是同一对象的参数

是相同的,也就变成了二项分布问题。因此其概率分布函数可表示为如下:


(3)

多变量伯努利模型的应用也很多,比如抛5个不同的硬币得到的一组结果;一张由黑白像素点组成的二进制图片。因此多变量伯努利模型可处理类似如下二进制数据集:


三、伯努利混合模型(Bernoulli Mixture Model)

有限混合模型(Finite Mixture Model)是一个可以用来表示在总体分布中含有


个子分布的概率模型。子分部可以是各种经典的分布模型,包括高斯模型,伯努利模型,多项式模型等。首先在

维空间中定义由

个子分布组成的混合模型通用式:


(4)

其中


为第

个子分布的混合系数,也称权重,且满足



为一个包含

个样本的数据集,且所有样本满足独立同分布(independent identically distributed,iid)。

对于混合模型,通常采用极大似然法(Maximum likelihood)来估算参数


,因此我们建立如下混合模型的似然函数,并希望将其最大化,


(5)

为便于计算,将上式转化为对数似然函数(log-likelihood):


(6)

在这里,我们仍然像推导GMM那样,利用贝叶斯定理推导出后验概率(posterior probability)



(7)


表示在已知观测样本

的条件下,该样本来自于第

个子分布(

)的概率。

具备以上知识后,我们便可以通过对式(6)求导求得各个参数的表达式了。下面将一一介绍三种伯努利分布的混合模型。

3.1. 二维伯努利分布的混合模型 (Mixture Model for Two-dimensional Bernoulli distribution)

根据式(1)与(6),二维伯努利混合模型的对数似然函数如下所示:


(8)

其中,


表示第

个子分布中参数向量

的第1维参数,

表示第

个样本的第1维变量值。

然后让(8)对参数


求导并令其导数为0:


(9)

式(9)的推导需要一点小技巧,请仔细观察第二行到第三行的转化过程,第二行的第一项就是之前推导的后验概率


,第二项可表达为对数求导的形式。因此可得:


(10)

可见,该结果与GMM中求解期望


的表达式一样。

3.2. 多维伯努利分布的混合模型(Mixture Model for Multi-dimensional Bernoulli distribution)

同理,根据式(2)与(6),多维伯努利混合模型的对数似然函数如下所示:


(11)

其中,


表示第

个子分布中参数向量

的第

维参数,

表示第

个样本的第

维变量值。

由于存在约束条件


,因此我们需要在对数似然函数(11)的末尾添加一个惩罚项(penalty term)

,因此得到加了惩罚项的对数似然函数


(12)

然后让(12)对参数


求导并令其导数为0:


(13)

对上式最后一行两边同乘


,并对

求和,得到如下结果:


(14)

注意上式第三行中利用了


。进而可得:


(15)

上式中


,表示数据集中

的个数,及事件

发生的次数;

同样也可以表示事件

发生的次数,因此可得

,将其带入式(13),最终可得:


(16)

3.3. 多变量伯努利分布的混合模型(Mixture Model for Multivariate Bernoulli distribution)

同理,根据式(3)与(6),多变量伯努利混合模型的对数似然函数如下所示:


(17)

然后让(17)对参数


求导并令其导数为0:


(18)

因此得:


(19)

3.4. 混合系数


的求解

对于混合系数


的求解,由于

满足约束

,因此在对数似然函数通用表达式(6)末尾添加添加惩罚项

,因此得到加了惩罚项的对数似然函数


(20)

让上式对


求导得:


(21)

对上式最后一行两边同乘


,并对

求和得:


(22)

因此可得


,并将其带入式(21),最终得:


(23)

四、EM算法(Expectation–maximization algorithm)

EM 算法是一种迭代算法,用于含有隐变量(Hidden variable)的概率模型参数的最大似然估计。这里不再详细介绍EM算法得原理及收敛性判断,我们直接列出算法流程:

  1. 确定混合数


    ,并初始化参数。
  2. E-step:依据当前参数,计算每个数据


    来自子模型

    的后验概率

  3. M-step:根据不同分布,计算模型参数


    以及混合系数

  4. 重复计算 E-step 和 M-step 直至收敛 (



    是一个很小的正数)。

后期工作

后期,笔者将对多项式分布的混合模型(Multinomial Mixture Model)进行介绍,该模型为伯努利模型的拓展。

参考资料

  1. 高斯混合模型(GMM)
  2. 机器学习中常见的几种概率分布
  3. EM算法求解混合伯努利模型
  4. Mixtures of Bernoulli Distributions



版权声明:本文为weixin_42404710原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。