分享

混合模型,潜变量和EM算法(mixture model,latent variable and EM...

 公彦栋 2017-09-14
#以混合模型为主题的一系列笔记

1.从核密度估计到混合模型
#数据角度引入混合模型

从一个例子开始。
间歇泉”老忠实”(http://en./wiki/Old_Faithful) 是美国黄石公园里著名景点。
数据集geyser (package MASS)记录了它在1985年8月1日到8月15日300次喷发的299个间隔时间。对这个间隔时间数据做密度估计。

绘制直方图和核密度估计曲线(取高斯核)


从这个密度估计看出,数据集表现出一个双峰的分布形态,可以用非参数的核密度方法来得到这个形态对应的密度函数。核密度函数是在每个观测点采用一个核概率密度然后进行累加,如果数据足够多,就可以足够接近其可能的概率密度。这种方法的缺点是,当点过多的时候,会引发大量的计算。

对这个数据集的密度估计的处理也可以换一种思路,既然存在两个各自对称的成分,那么从参数化的观点,这个数据集也可以看作由两个不同参数的正态总体混合生成的。

由此引入高斯混合模型:
 


采用mclust包把这个混合模型的参数估计求出来
library('mclust')
mg<->
mg$parameters$mean#两个成分的均值
1 2
54.27424 80.41664
mg$parameters$pro#两个成分的比例
[1] 0.3099278 0.6900722
> mg$parameters$variance$sigmasq#两个成分的方差
[1] 25.08980 55.57947

对比核密度估计和混合模型:
library(ggplot2)

mnorm<>
y<-0.3099278*dnorm(x,54.27424,>

p <- ggplot(geyser,="" aes(x="">
p+geom_histogram(aes(y = ..density..),colour = 'black', fill = 'lightblue',binwidth = 4) +
geom_density(colour='darkgreen', size=1)+
stat_function(fun=mnorm,colour = 'darkblue',size=1)+
ggtitle('density estimate(green) vs mixture model(blue)')
 



2.混合模型和潜变量
#模型角度引入混合模型

(1)潜变量和潜变量模型
所谓潜变量,是指不能直接观测,而需要(通过数学模型)由可以直接观测的变量(即显变量,manifest variables)进行推断的变量。潜变量模型(LVM)就是将显变量和潜变量联系起来的模型。因子分析(factor analysis)就是一个典型的潜变量模型(因子即为潜变量)。
 
 在统计/机器学习领域中,大量方法与潜变量有关,如因子分析,隐马过程,潜语义分析(Latent semantic analysis),Latent Dirichlet allocation等,EM算法常用于对潜变量模型进行参数估计。
 
潜变量模型之种种,取自【1】
潜变量模型之种种,取自【1】


(2)从潜变量到混合模型
最简单的潜变量模型是表示离散的潜状态,z[i]∈{1,2,…,K}。每个潜状态对应一个基础分布,则整体的模型就是混合模型:
 


 是状态为k时的概率分布。

参考:
[1]MLAPP(11章): http://book.douban.com/subject/10758624/
[2] A Handbook of Statistical Analyse Using R http://book.douban.com/subject/4328199/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多