我们在这一节会介绍基于概率模型的分类方法。这种算法的思想是将数据划分为几种概率分布的混合模型,并且估计出参数,从而完成聚类。举例来说,假如现在有男生数名,女生数名,我们想要统计不同性别的身高分布。但是我们仅仅只是知道这些人的身高,不知道这些人的性别。我们先验地知道,身高分布会遵循高斯分布。那么我们就可以用这种方法来完成聚类,找到高斯分布所对应的均值和方差参数。
高斯混合模型
我们高中时候就知道对于当变量的数据只有一个维度时,高斯分布公式是对于 ,我们有:
其中表示平均值,表示方差。
那么对于一个高维的变量,假设变量有个维度,那么其对应的高斯分布的公式是:
推广过程如下:
对于一个一维标准正态分布。我们有:
那么对于两个独立的一维标准正态分布随机变量的联合分布,也就是二维标准正态分布:
那么我们把两个随机变量组合成一个向量,有
再推广到一般正态分布,我们令,则
可以证明这个分布的均值为,协方差是,同时我们的系数增加了的行列式的值。
由于服从标准正态分布,所以内元素的方差为1,的协方差是,是单位矩阵。
因为,加上也不影响协方差,所以的协方差为
故我们令,公式可以写成是
假设现在有个高斯分布,将他们放到一个坐标轴里叠加起来,每个高斯分布都乘上一个系数,那么就有
其中
上面这个式子就是高斯混合模型,简单来说就是k个高斯的加权平均,权值是。
EM算法
本节主要讨论高斯混合模型下的EM算法,参考 Pattern Recognition and Machine Learning。
首先我们引入一个隐变量,用来表示当前是哪一个分布。具体来说,是一个长度为的量,在某一个位置的值是1,其他位置的值都是0。用数学语言来表达就是,
其中表示第个位置,我们称这种表达方法是"1-of-K"的表达方法。
所以一个隐变量就有个状态。在这里我们就假设我们有个高斯分布,这样一个隐变量就可以对应一个高斯分布了。
我们再用为赋值,表示取得某个隐变量的第个位置的值为1的概率。即:
很明显,。
可以列一个表格帮助理解,假设现在有5个高斯分布,那么我们可以设置五个长度为5的隐变量,分别在隐变量的不同位置设值为1,
下面表格里,为了简洁,这里暂时规定表示的第k个位置的值为1,即,
隐变量 | | | | | |
---|
概率 | | | | | |
其中,其实这个表格就已经是一个概率分布了。
我们也可以把这个概率分布写成式子的形式:
表示隐变量的概率。
那么如何表达高斯混合模型里的某个高斯分布呢?可以用条件概率:
意思也就是高斯混合模型里多个高斯分布中的第个,或者是
用向量的方式表达。
根据联合概率分布的公式,我们可以知道,把公式(12)(14)带入可以得到
现在我们想要表达出,根据边缘分布,可以得到
对于公式(14),一个隐变量只有一个位置是等于1的,也就是只有一个位置是有效的。对于公式(15),我们省略了指数,因为连加的变量将直接指向对应的高斯分布。
公式(15)的结果就是高斯混合模型的公式。但是推导的过程,我们同样得到了隐变量和变量的联合概率分布。这将会简化EM公式的推导。
另外我们还需要准备一下给定的条件下,的概率,我们使用贝叶斯公式:
这个式子表达了当我们在一个高斯混合模型中观察到以后,对应到第个高斯分布的概率。我们令:
可以理解为第个高斯分布对生成数据付出的贡献,或者是"责任"。
推荐阅读:
Clustering – Partitioning Methods
这个更专业,只能看看,看不懂
还没写完,EM算法之后应该还会再更新一篇
谢谢关注:)