≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十)
2016-11-28 10:02
405 查看
一个东西写到10,总会多少有点成就感...只是不知道已经磨掉了多少人的耐心了呢?
此外这节公式密集,大家看着办吧...
-----------笔记开始------------
继续上一讲,先说说EM算法。
,其中π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}}
。
,迭代出θ(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的时候,求解过程可参见书上。
,函数族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,后续章节详述。
此外这节公式密集,大家看着办吧...
-----------笔记开始------------
继续上一讲,先说说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,后续章节详述。
相关文章推荐
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(四)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(一)
- 统计学习精要(The Elements of Statistical Learning)课堂笔记(二十四):聚类
- 统计学习精要(The Elements of Statistical Learning)课堂笔记(二十二):核函数和核方法
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(九)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十五)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(三)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(四)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十九):SVM
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(四)
- 统计学习精要(The Elements of Statistical Learning)课堂笔记(二十五):降维和PCA
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(七)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十一)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(二)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(八)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(五)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(三)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十二)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(二)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(一)