#以混合模型为主题的一系列笔记 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,>-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算法常用于对潜变量模型进行参数估计。
(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/ |
|