您的位置:首页 > 其它

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十)

2016-11-28 10:02 405 查看
一个东西写到10,总会多少有点成就感...只是不知道已经磨掉了多少人的耐心了呢?

此外这节公式密集,大家看着办吧...

-----------笔记开始------------

继续上一讲,先说说EM算法。

MM、EM和GMM

1. MM(混合模型)

(1) 定义:P(x)=∑Kk=1πkPk(x)

,其中πk≥0,∑Kk=1πk=1,构成一个离散分布。同时有Pk(x)≥0,且∫Pk(x)dx=1,1≤k≤K


(2) 隐变量

我们有数据(x,G)

,同时依据条件概率分布,有P(x,G)=P(G)P(x|G)。记P(G)=πk,则P(x|G=k)=Pk(x),其中1≤k≤K


则有P(x)=∑GP(x,G)=∑GP(G)P(x|G)=∑Kk=1πkPk(x)

为x的边际分布。

(3) GMM(正态混合模型)

当Pk(x)=12πσ2k√exp(−(x−μk)22σ2k)

,1≤k≤K,我们有P(x)=∑Kk=1πkexp(−(x−μk)22σ2k),且P(x,G=k)=πkexp(−(x−μk)22σ2k),1≤k≤K


(4) 对数似然函数和最大似然估计

对数似然函数写为l(θ)=∑Ni=1logP(x|θ)=∑Ni=1log∑Ni=1P(xi,G=k|θ)=∑Ni=1log(∑Kk=1P(G=k|θ)P(xk|G=k,θ))

。则我们要求的就是θ∗=argmaxθl(θ),其中θ={{πk},{μk},{σ2k}}


2. EM算法 (expectation maximum,期望最大方法)

(1) 迭代方法: 给定起始值θ(0)

,迭代出θ(1),..,θ(t),...。那么问题就是,如何在已知θ(t)的情况下,求θ(t+1)


(2) E1步:求P(G|xi,θ(t))

。函数形式已知,故可以求各种条件概率什么的。所以有:

P(G|xi,θ(t))=P(xi,G=k)P(xi)=πkPk(x)∑Kl=1πlPl(x)≡γ(t)ik



E2步:计算L(θ|θ(t))=∑Ni=1∑Kk=1(logP(xi,G=k|θ))P(G=k|xi,θ(t))expectation

,由于函数形式已知,我们可以计算并将∑
移出来,所以换成线性形式。

(3) M步:求θ(t+1)=argmaxθL(θ|θ(t))

,这样就完成了迭代。需要证明的性质是:随着迭代,l
越来越大,且收敛。

(4) 定理:l(θ(t+1))≥l(θ(t))



证明:

L(θ|θ(t))===∑i=1N∑k=1KlogP(xi|θ))P(G=k|xi,θ(t))+∑i=1N∑k=1KlogP(G=k|xi,θ(t))P(G=k|xi,θ(t))l(θ)+∑i=1N∑k=1KlogP(G=k|xi,θ(t))P(G=k|xi,θ(t))−∑i=1N∑k=1KlogP(G=k|xi,θ)P(G=k|xi,θ(t))+∑i=1N∑k=1KlogP(G=k|xi,θ)P(G=k|xi,θ(t))l(θ)−∑i=1NHi(θ(t))−∑k=1KKL(θ(t)|θ)

其中Hi(θ(t))=−∑Kk=1logP(G|xi,θ)P(G|xi,θ(t))

,且KL(θ(t)|θ)≡∑Kk=1[logP(G|xi,θ(t))P(G|xi,θ(t))−logP(G|xi,θ)P(G|xi,θ(t))]=∑Kk=1logP(G|xi,θ(t))P(G|xi,θ)−P(G|xi,θ(t))>0
,定义为两分布的KL距离。

所以L(θ(t+1)|θ(t))=l(θ(t+1))−∑Ni=1Hi(θ(t))−∑Kk=1KL(θ(t)|θ(t+1))

,且L(θ(t)|θ(t))=l(θ(t))−∑Ni=1Hi(θ(t))−∑Kk=1KL(θ(t)|θ(t))0。而由M步,L(θ(t+1)|θ(t))−L(θ(t)|θ(t))≥0,故有l(θ(t+1))−l(θ(t))=KL(θ(t)|θ(t+1))≥0


在GMM的情况下,应用EM算法,则有:

(1) E1步:γ(t)ik=πk(2πσ2k)−1/2exp(−(xi−μk)2/2σ2)∑Kl=1πlPl(x)

,可以直接计算。

(2) E2步:L(θ|θ(t))=∑Ni=1∑Kk=1γ(t)ik[logπ(t)k−12logπ−12log(σ2k)−(x−μk)22(σ(t)k)2]



(3) M步:注意有约束条件∑Kk=1πk=1

,所以使用拉格朗日乘子法:

L(θ)=L(θ|θt)+λ(∑πk−1)

,故有一阶条件:∂L∂πk=∑Ni=1γ(t)ik1π(t)k+λ=0。从而πt+1k=N(t)kN,其中N(t)k=∑Ni=1γ(t)ik


还有一阶条件:∂L∂μk=∑Ni=1−2(xi−μ(t)k)(−1)2(σ(t)k)2=0

,得到μ(t+1)k=1Nk∑Ni=1xi


最后,∂L∂(σ2k)=0

,有(σt+1k)2=1Nk∑Ni=1(xi−μ(t+1)k)2


对GMM而言,E步和M步在k=2的时候,求解过程可参见书上。

第七章:模型评估与选择

1. 概念: 我们有数据集D

,函数族F和损失函数L,这样得到最优的f(x)∈F,然后求得y^=f(x)

(有监督的学习)。之后就是对模型进行评估:y^

的精度如何(使用测试集)?模型的选择就是F
的选择,使得测试误差比较小。

2. 方法:

(1) 数据充分:分成三块,1/2用来训练(train),1/4用来检验(validation),1/4用来测试(test)。其中validation

的概念是,在∑Ni=1L(yi,f(xi))+λJ(f)

中,加入J函数来考虑函数族的复杂度,以避免过拟合。而validation就是来调正和选择这里的λ
,再用train和validation重新训练模型。

最后,用test数据集,测试并且评估测试误差。

(2) 数据不充分:一种是cross-validation,分成k(比如5-10)份,极端的就是K=N,ave-win-out;另一种是bootstrap,后续章节详述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐