原文链接:http://tecdat.cn/?p=22609
摘要
本文提供了一套用于剖析各种无限混合模型的办法。既包含传统的办法,如单变量和多变量正态混合的EM算法,也包含反映无限混合模型的一些最新钻研的办法。许多算法都是EM算法或基于相似EM的思维,因而本文包含无限混合模型的EM算法的概述。
1.无限混合模型介绍
人群中的个体往往能够被划分为群。然而,即便咱们察看到这些个体的特色,咱们也可能没有真正察看到这些成员的群体。这项工作在文献中有时被称为 "无监督聚类",事实上,混合模型个别能够被认为是由被称为 "基于模型的聚类 "的聚类办法的子集组成。
无限混合模型也可用于那些对个体聚类感兴趣的状况之外。首先,无限混合模型给出了整个子群的形容,而不是将个体调配到这些子群中。有时,无限混合模型只是提供了一种充沛形容特定散布的伎俩,例如线性回归模型中存在异样值的残差散布。
无论建模者在采纳混合模型时的指标是什么,这些模型的大部分实践都波及到一个假如,即子群是依照一个特定的参数模式散布的--而这个模式往往是单变量或多变量正态。
最近的钻研指标是放宽或批改多变量正态假如,无限混合模型剖析的计算技术,其中的成分是回归、多变量数据离散化产生的向量,甚至是齐全未指定的散布。
2. 无限混合模型的EM算法
===
EM算法迭代最大化,而不是察看到的对数似然Lx(),算式为
1. E步:计算Q(|(t))
2. M步骤:设定(t+1)=argmax∈ Q(|(t))
对于无限混合模型,E步骤不依赖于F的构造,因为缺失数据局部只与Z无关。
Z是离散的,它们的散布是通过贝叶斯定理给出的。M步骤自身能够分成两局部,与无关的最大化,它不依赖于F,与无关的最大化,它必须为每个模型专门解决(例如,参数化、半参数化或非参数化)。因而,模型的EM算法有以下独特特点。
11. E步。计算成分蕴含的 "后验 "概率(以数据和(t)为条件)。
对于所有i = 1, . . . ,n和j = 1, . . . 从数值上看,齐全依照公式(2)的写法来实现是很危险的,因为在xi离任何一个成分都很远的状况下,所有的(t)j 0(xi)值都会导致数值下溢为零,所以可能会呈现不确定的模式0/0。因而,许多例程实际上应用的是等价表达式
或其某种变体。
2. 的M步骤。设
2.3. 一个EM算法的例子
作为一个例子,咱们思考对图1中形容的间歇泉喷发间隔时间期待数据进行单变量正态混合剖析。这种齐全参数化的状况对应于第1节中形容的单变量高斯家族的混合散布,其中(1)中的第j个重量密度j(x)为正态,均值为j,方差为 2 j。
对于参数(µj , 2 j )的M步,j = 1, . . 这个EM算法对这种单变量混合散布的M步骤是很简略的,例如能够在McLachlan和Peel(2000)中找到。
mixEM(waiting, lambda = .5)
下面的代码将拟合一个二成分的混合散布(因为mu是一个长度为2的向量),其中标准偏差被假设为相等(因为sigma是一个标量而不是一个向量)。
图1:对数似然值的序列,Lx( (t))
图2:用参数化EM算法拟合间歇泉期待数据。拟合的高斯成分。
R> plot(wait1, density = TRUE, cex.axis = 1.4, cex.lab = 1.4, cex.main = 1.8,+ main2 = "Time between Old Faithful eruptions", xlab2 = "Minutes")
两个图:察看到的对数似然值的序列t 7→Lx( (t))和数据的直方图,其中有N(µj , 2 j)的m(这里m=2)个拟合的高斯重量密度,j=1, . . . ,m,叠加在一起。预计
另外,应用summary也能够失去同样的输入。
summary(wait1)
3. Cutpoint methods切割点办法
传统上,大多数对于无限混合模型的文献都假如方程(1)的密度函数j(x)来自一个已知的参数族。然而,一些作者最近思考了这样的问题:除了确保模型中参数的可识别性所需的一些条件外,j(x)是不指定的。咱们应用Elmore等人(2004)的切割点办法。
咱们参考Elmore等人从-63开始,始终到63大概以10.5的距离采纳切点。而后从原始数据中创立一个多指标数据集,如下所示。
R> cutpts <- 10.5*(-6:6)R> mult(data, cuts = cutpts)
一旦创立了多指标数据,咱们能够利用EM算法预计多指标参数。最初,计算并绘制出方程的预计散布函数。图3给出了3重量和4重量解决方案的图表;这些图表与Elmore等人(2004)的图1和图2中的相应图表十分类似。
R> plot(data, posterior, lwd = 2,+ main = "三重量解")
图3(a)
图3(b)
同样能够用summary来总结EM输入。
单变量对称、地位偏移的半参数例子
在(-)绝对于Lebesgue度量是相对间断的额定假如下,Bordes等人(2007)提出了一种预计模型参数的随机算法,即(, µ, )。一个特例
R> plot(wait1, which = 2 )R> wait2 <-EM(waiting)R> plot(wait2, lty = 2)
图4(a)
图4(b)
因为半参数版本依赖于核密度估计步骤(8),所以有必要为这个步骤抉择一个带宽。默认状况下,应用"Silverman的教训法令"(Silverman 1986)利用于整个数据集。
R> bw.nrd0(wait)
但带宽的抉择会产生很大的不同,如图4(b)所示。
> wait2a <- EM(wait, bw = 1)> plot(wait2a> plot(wait2b
咱们发现,在带宽靠近2的状况下,半参数解看起来十分靠近图2的正态混合散布解。进一步升高带宽会导致图4(b)中的实线所体现出的 "凹凸不平"。另一方面,在带宽为8的状况下,半参数解成果很差,因为算法试图使每个成分看起来与整个混合散布类似。
最受欢迎的见解
1.R语言k-Shape算法股票价格工夫序列聚类
2.R语言中不同类型的聚类办法比拟
3.R语言对用电负荷工夫序列数据进行K-medoids聚类建模和GAM回归
4.r语言鸢尾花iris数据集的档次聚类
5.Python Monte Carlo K-Means聚类实战
6.用R进行网站评论文本开掘聚类
7.用于NLP的Python:应用Keras的多标签文本LSTM神经网络
8.R语言对MNIST数据集剖析 摸索手写数字分类数据
9.R语言基于Keras的小数据集深度学习图像分类