~~~~~~~
概率图模型构建了这样一幅图,用观测结点表示观测到的数据,用隐含结点表示潜在的知识,用边来描述知识与数据的相互关系,最后基于这样的关系图获得一个概率分布。
~~~~~~~
概率图中的节点分为隐含节点和观测节点,边分为有向边和无向边。从概率论的角度,节点对应于随机变量,对应于随机变量的依赖或相关关系,其中有向边表示单向的依赖,无向边表示相互依赖关系。
~~~~~~~
概率图模型分为贝叶斯网络和马尔可夫网络两大类。贝叶斯网络可以用一个有向图结构表示,马尔可夫网络可以表示成一个无向图的网络结构。更详细地说,概率图模型包括了朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型等,在机器学习的诸多场景中都有着广泛的应用。
1 概率图模型的联合分布
知识点:概率图,贝叶斯网络,马尔可夫网络
问题1:能否写出图中贝叶斯网络的联合概率分布?
~~~~~~~~~~~~~~~~~
~~~~~~~
有图可见,在给定A的条件下B和C是条件独立的,基于条件概率的定义可得
P
(
C
∣
A
,
B
)
=
P
(
B
,
C
∣
A
)
P
(
B
∣
A
)
=
P
(
B
∣
A
)
P
(
C
∣
A
)
P
(
B
∣
A
)
P(C\mid A,B)=\frac{P(B,C\mid A)}{P(B\mid A)}=\frac{P(B\mid A)P(C\mid A)}{P(B\mid A)}
P(C∣A,B)=P(B∣A)P(B,C∣A)=P(B∣A)P(B∣A)P(C∣A)
=
P
(
C
∣
A
)
=P(C\mid A)~~~~~~~~~~~~~~~~~~~~~~
=P(C∣A)
同理,在给定B和C的条件下A和D是条件独立的,可得
P
(
D
∣
A
,
B
,
C
)
=
P
(
A
,
D
∣
B
,
C
)
P
(
A
∣
B
,
C
)
=
P
(
A
∣
B
,
C
)
P
(
D
∣
B
,
C
)
P
(
D
∣
B
,
C
)
P(D\mid A,B,C)=\frac{P(A,D\mid B,C)}{P(A\mid B,C)}=\frac{P(A\mid B,C)P(D\mid B,C)}{P(D\mid B,C)}
P(D∣A,B,C)=P(A∣B,C)P(A,D∣B,C)=P(D∣B,C)P(A∣B,C)P(D∣B,C)
故可得联合概率
P
(
A
,
B
,
C
,
D
)
=
P
(
A
)
P
(
B
∣
A
)
P
(
C
∣
A
,
B
)
P
(
D
∣
A
,
B
,
C
)
P(A,B,C,D)=P(A)P(B\mid A)P(C\mid A,B)P(D\mid A,B,C)
P(A,B,C,D)=P(A)P(B∣A)P(C∣A,B)P(D∣A,B,C)
=
P
(
A
)
P
(
B
∣
A
)
P
(
C
∣
A
)
P
(
D
∣
B
,
C
)
~~~~~~~~~~~~~~~~=P(A)P(B\mid A)P(C\mid A)P(D\mid B,C)
=P(A)P(B∣A)P(C∣A)P(D∣B,C)
问题2:能否写出图6.1(b)中马尔可夫网络结构的联合分布?
2 概率图表示
知识点:朴素贝叶斯模型,概率图,最大熵模型
问题1:解释朴素贝叶斯模型的原理,并给出概率图模型表示
问题2:解释最大熵模型的原理,并给出概率图模型表示
~~~~~~~
假设离散随机变量x的分布是P(x),则关于分布P的熵定义为
H
(
P
)
=
−
∑
x
P
(
x
)
log
P
(
x
)
H(P)=-\sum_xP(x)\log P(x)
H(P)=−∑xP(x)logP(x)
可以看出当 x服从均匀分布时对应的熵最大,也就是不确定性最高。
3 生成式模型与判别式模型
常见的概率图模型中,哪些是生成式模型,哪些是判别式模型?
~~~~~~~
要想正确回答这个问题首先要弄清楚生成式模型和判别式模型的区别。假设可观测到的变量集合为X,需要预测的变量集合为Y,其他的变量集合为Z。生成式模型是对联合概率分布P(X,Y,Z)进行建模,在给定观测集合X的条件下,通过计算边缘分布来得到对变量集合Y的推断,即
~~~~~~~~~~~~~~~~~
判别式模型是直接对条件概率分布P(Y,Z|X)进行建模,然后消掉无关变量Z就可以
得到对变量集合Y的预测,即
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~
常见的概率图模型有朴素贝叶斯、最大熵模型、贝叶斯网络、隐马尔可夫模型、条件随机场、pLSA、LDA等。基于前面的问题解答,我们知道朴素贝叶斯、贝叶斯网络、pLSA、LDA等模型都是先对联合概率分布进行建模,然后再通过计算边缘分布得到对变量的预测,所以它们都属于生成式模型;而最大熵模型是直接对条件概率分布进行建模,因此属于判别式模型。隐马尔可夫模型和条件随机场模型是对序列数据进行建模的方法,将在后面的章节中详细介绍,其中隐马尔可夫模型属于生成式模型,条件随机场属于判别式模型。
4 马尔可夫模型
~~~~~~
在介绍隐马尔可夫模型之前,先简单了解马尔可夫过程。马尔可夫过程是满足无后效性的随机过程。假设一个随机过程中,tn时刻的状态xn的条件分布,仅仅与其前一个状态xn−1有关,即P(xn|x1,x2…xn−1)=P(xn|xn−1),则将其称为马尔可夫过程,时间和状态的取值都是离散的马尔可夫过程也称为马尔可夫链,如图6.4所示
~~~~~~~
隐马尔可夫模型是对含有未知参数(隐状态)的马尔可夫链进行建模的生成模型,概率图模型如图6.5所示。在简单的马尔可夫模型中,所有状态对于观测者都是可见的,因此在马尔可夫模型中仅仅包括状态间的转移概率。而在隐马尔可夫模型中,隐状态xi对于观测者而言是不可见的,观测者能观测到的只有每个隐状态xi对应的输出yi,而观测状态yi的概率分布仅仅取决于对应的隐状态xi。在隐马尔可夫模型中,参数包括了隐状态间的转移概率、隐状态到观测状态的输出概率、隐状态x的取值空间、观测状态y的取值空间以及初始状态的概率分布。
问题1:如何对中文分词问题用隐马尔可夫模型进行建模和训练?
~~~~~~~ 隐马尔可夫模型通常用来解决序列标注问题,因此也可以将分词问题转化为一个序列标注问题来进行建模
问题2:最大熵马尔可夫模型为什么会产生标注偏置问题?如何解决?
~~~~~~~
实际上,在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还和观察序列的长度、上下文等信息相关。例如词性标注问题中,一个词被标注为动词还是名词,不仅与它本身以及它前一个词的标注有关,还依赖于上下文中的其他词,于是引出了最大熵马尔可夫模型(Maximum Entropy Markov Model,MEMM),如图6.6所示。最大熵马尔可夫模型在建模时,去除了隐马尔可夫模型中观测状态相互独立的假设,考虑了整个观测序列,因此获得了更强的表达能力。同时,隐马尔可夫模型是一种对隐状态序列和观测状态序列的联合概率P(x,y)进行建模的生成式模型,而最大熵马尔可夫模型是直接对标注的后验概率P(y|x)进行建模的判别式模型。
5 主题模型
~~~~~~~
主题模型是一种特殊的概率图模型。
知识点:pLSA(Probabilistic Latent Semantic Analysis),LDA(Latent Dirichlet Allocation)
问题1:常见的主题模型有哪些?试介绍其原理。
- pLSA
~~~~~~~ pLSA是用一个生成模型来建模文章的生成过程。假设有K个主题,M篇文章;对语料库中的任意文章d,假设该文章有N个词,则对于其中的每一个词,我们首先选择一个主题z,然后在当前主题的基础上生成一个词w。图6.10是pLSA图模型。
- LDA
~~~~~~~ LDA可以看作是pLSA的贝叶斯版本,其文本生成过程与pLSA基本相同,不同的是为主题分布和词分布分别加了两个狄利克雷(Dirichlet)先验。
问题2:如何确定LDA模型中的主题个数?
问题3:如何用主题模型解决推荐系统中的冷启动问题?
~~~~~~~
推荐系统中的冷启动问题是指在没有大量用户数据的情况下如何给用户进行个性化推荐,目的是最优化点击率、转化率或用户体验(用户停留时间、留存率等)。冷启动问题一般分为用户冷启动、物品冷启动和系统冷启动三大类。用户冷启动是指对一个之前没有行为或行为极少的新用户进行推荐;物品冷启动是指为一个新上市的商品或电影(这时没有与之相关的评分或用户行为数据)寻找到具有潜在兴趣的用户;系统冷启动是指如何为一个新开发的网站设计个性化推荐系统。