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

一个东西写到10,总会多少有点成就感...只是不知道已经磨掉了多少人的耐心了呢?

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

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

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

MM、EM和GMM

1. MM(混合模型)

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

,其中 πk0 Kk=1πk=1 ,构成一个离散分布。同时有 Pk(x)0 ,且 Pk(x)dx=1 1kK

(2) 隐变量

我们有数据 (x,G)

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

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

为x的边际分布。

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

Pk(x)=12πσ2kexp((xμk)22σ2k)

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

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

对数似然函数写为 l(θ)=Ni=1logP(x|θ)=Ni=1logNi=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=1Kk=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=1Nk=1KlogP(xi|θ))P(G=k|xi,θ(t))+i=1Nk=1KlogP(G=k|xi,θ(t))P(G=k|xi,θ(t))l(θ)+i=1Nk=1KlogP(G=k|xi,θ(t))P(G=k|xi,θ(t))i=1Nk=1KlogP(G=k|xi,θ)P(G=k|xi,θ(t))+i=1Nk=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=1Kk=1γ(t)ik[logπ(t)k12logπ12log(σ2k)(xμk)22(σ(t)k)2]

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

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

L(θ)=L(θ|θt)+λ(πk1)

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

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

,得到 μ(t+1)k=1NkNi=1xi

最后, L(σ2k)=0

,有 (σt+1k)2=1NkNi=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,后续章节详述。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值