西瓜书《机器学习》课后答案——chapter14

来源:互联网 发布:智百威软件官网 编辑:程序博客网 时间:2024/05/22 12:54

1.试用盘式记法表示条件随机场和朴素贝叶斯分类器。

2.证明图模型中的局部马尔科夫性:给定某变量的邻接变量,则该变量条件独立于其他变量。
解答:
这个问题以及第3题其实是不太严谨的。
根据李航《统计学习方法》p.193中概率无向图模型的定义:

概率无向图模型:
设有联合概率分布P(Y)G=(V,E)GP(Y)$满足成对、局部或者全局马尔科夫行,就称此联合概率分布为概率无向图模型,或马尔可夫随机场。

并在p.192页最后一句话:

上述成对的、局部的、全局的马尔可夫性定义是等价的。

局部马尔可夫性就是概率无向图模型的定义,怎么存在证明定义一说呢?

所以,这个问题应该是想问“因子分解所表示的模型确实满足局部马尔可夫性”,或者想问“已知全局马尔可夫性,推导出局部马尔可夫性”。

对于第一个问题,可以参考西瓜书p.324中证明全局马尔可夫性的方法,证明局部马尔可夫性。

对于第二个问题,由于某节点v和非邻接节点O由邻接节点W分离开,那么由全局马尔可夫性可知

P(Yv,YO|YW)=P(Yv|YW)P(YO|YW),

而上式表示的就是局部马尔可夫性。

3.证明图模型中的成对马尔科夫性:给定其他所有变量,则两个非邻接变量条件独立。
解答:
同题2。

4.试述在马尔科夫随机场中为何仅需对极大团定义势函数。
解答:

因为极大团定义的势函数所表示的联合概率分布满足马尔可夫场的定义(即满足三个马尔可夫性中的一个),所以只需要对极大团定义势函数即可。

无论是对什么团定义势函数,只要势函数所表示联合概率分布满足马尔可夫随机场的定义,就是OK的。

《统计学习方法》p.194

Hammersley-Clifford定理
概率无向图模型的联合概率分布P(Y)可以表示为如下形式:

P(Y)=1ZCΨC(YC)

Z=YCΨC(YC),

其中,C是无向图的最大团,YCC的结点对应的随机变量,ΨC(YC)C上定义的严格正函数,乘积是在无向图所有的最大团上进行的。

5.比较条件随机场和对率回归,试析其异同。
解答:
两者都是判别式模型,学习的是条件概率分布P(Y|X)

对率回归模型中只有一个输出变量y

P(y=1|x)=ewx+b1+ewx+b

P(y=0|x)=11+ewx+b

可以写作

P(y|x)=1Ze(wx+b)y=1ZΨ(y,x).

而CRF中则有多个输出变量y1,y2,,yN

P(y1,y2,,yN|x)=1ZCΨC(YC,x).

可以看出对率回归模型是CRF的特殊情况。

6.证明变量消去法的计算复杂度随图模型中极大团规模的增长而呈指数增长,但随节点数的增长未必呈指数增长。
解答:
首先,这个问题中“极大团规模”是指极大团中结点数,还是指极大团的数量?

首先引入一些符号表示:

  • Φ
  • Z:待消去的变量
  • Φ{ϕΦ:ZiScope[ϕ]},即包含Zi的因子
  • Φ′′ΦΦ

那么在消去Zi变量的时候,首先求积:

ψ=ϕΦϕ

然后求和:

τ=Ziψ

求积步骤中,我们需要得到所涉及变量的各种取值情况的乘积结果,共有NiNiΦ中涉及的变量数成指数关系,大概等于dk,d为每个变量取值数,k为变量个数)个,而一次求积需要(mi1)次乘积运算(这里mi表示Φ元素的个数,Ni表示Φ中所有因子的所有变量的取值情况数量),所以计算量是(mi1)Ni

求和步骤中,我们需要把Ni个值在Zi变量上相加,得到Ni/|Val(Zi)|个结果,|Val(Zi)|表示Zi取值个数。而一个结果所需要的加法次数为|Val(Zi)1|,所以总计算量为Ni/|Val(Zi)|×|Val(Zi)1|Ni

下面讨论变量消除法总的复杂度。

乘法次数为:i(mi1)Ni

加法次数为:iNi

假设我们有n个随机变量,并且刚开始的时候有m个因子,(对贝叶斯网络来说,mn;对马尔可夫网络来说,m可以更大)。

在变量消除法中,每消去一个变量,我们得到一个新的因子。因为有n个变量,所以我们最多执行n次消除步骤,那么总的因子数m(m+n)(原有的和生成的)。

N=max(Ni)

于是对乘积来说:i(mi1)NiNi(mi1)Nm,第二个是因为每个因子最多出现在一次消除步骤中。

对加法来说,iNiNn

所以变量消除法总的计算复杂度是O(Nm)

参考
介绍变量消除法可以看伯克利大学Pieter Abbeel教授CS188 Intro to AI课程中,关于变量消除法介绍的一节:https://www.youtube.com/watch?v=y9jdsPNsU_Q

关于变量消除法复杂度的讨论可以看 Daphne Koller(PGM书的作者)的视频:
8-4 - Complexity of Variable Elimination - Probabilistic Graphical Models - Professor Daphne Koller

以及CMU邢波教授的一篇文档:
4 : Exact Inference: Variable Elimination

7.吉布斯采样可以看作MH算法的特例,但吉布斯采样中未使用“拒绝采样”策略,试述这样做的好处。
解答:
基于马尔可夫链做采样的关键在于如何构造状态转移矩阵P使得平稳分布是我们希望从中进行采样的分布P(x)。

这里写图片描述

我们希望平稳分布为p(x),所以上面定理中的条件变成了

p(i)Pij=p(j)Pji

但是一般情况下我们手中的状态转移矩阵Q并不满足上面的条件,即

p(i)Qijp(j)Qji.

那么能否对Q做些变动使条件成立呢?比如,可以引入一个a(i,j),使得

p(i)Qija(i,j)=p(j)Qjia(j,i).(1)

那么什么样的a(i,j)能使上式成立呢?最简单的:

a(i,j)=p(j)Qji,a(j,i)=p(i)Qij.

于是现在改造后的状态转移矩阵为

Qij=Qija(i,j),

并且这个矩阵使得定理的条件成立,所以对应的平稳分布就是p(x)。

我们把a(i,j)称为接受率,表示在原来的马氏链上,从状态i以Qij的概率跳转到状态j的时候,以a(i,j)的概率接受这个转移,于是新马氏链Q的转移概率为Qi,ja(i,j)

但是,如果接受率a(i,j)比较小,会导致采样过程中拒绝大量的跳转,使得遍历所有的状态需要花费太长时间,收敛到平稳分布的速度太慢。

可以提升一下接受率吗?我们发现如果把(1)等号两边的a(i,j)a(j,i)同比例放大,细致平稳条件仍然成立。于是我们可以把两个数中最大的那个放大到1:

a(i,j)=min{p(j)Qjip(i)Qij,1}

这就是Metropolis-Hastings算法。

但是对于高维情况,由于接受率a的存在,MH算法的效率还是不够高。能不能找到一个转移矩阵使得接受率a=1呢?

对所有1in有如下等式成立:

p(x1,x2,,xi1,xi+1,,xn,xi1)p(xi2|x1,x2,,xi1,xi+1,,xn,)=p(x1,x2,,xi1,xi+1,,xn,xi2)p(xi1|x1,x2,,xi1,xi+1,,xn,)

如果当前状态(x1,x2,,xn)只能沿着坐标轴转移,并且转移概率为p(xi|x1,x2,,xi1,xi+1,,xn,),那么这样的马氏链会收敛到p(x1,x2,,xn),在收敛之后得到的样本就是p(x1,x2,,xn)的样本,也就是我们希望的样本。

由于每一次采样我们都进行了状态转移,所以避免了原地踏步的问题。Gibbs采样效率更高。

参考:
关于采样的入门视频:https://www.youtube.com/watch?v=ogYaTTRguIw

这篇文章给了一些MCMC的资料:https://metacademy.org/graphs/concepts/markov_chain_monte_carlo

个人觉得从中受益很多的一篇文档:
靳志辉《LDA数学八卦》MCMC和Gibbs采样一节

8.平均场是一种近似推断方法。考虑式(14.32),试析平均场方法求解的近似问题与原问题的差异,以及实践中如何选择变量服从的先验分布。
解答:
平均场方法做了假设

q(z)=i=1mqi(zi)

即把多变量z拆分成一系列相互独立的变量组zi。然后优化问题可以得到解析解。

至于如何选择先验分布pi(zi),这个暂时没有碰到相关介绍。

参考:
PRML读书会第十章 Approximate Inference

9.从网上下载或者自己编程实现LDA,分析金庸作品《天龙八部》中每十回的话题演变情况。
解答:
参考这两篇博文中的实现步骤:https://www.analyticsvidhya.com/blog/2016/08/beginners-guide-to-topic-modeling-in-python/

https://rstudio-pubs-static.s3.amazonaws.com/79360_850b2a69980c4488b1db95987a24867a.html

阅读全文
0 0
原创粉丝点击