参考文章:
频率学派还是贝叶斯学派?聊一聊机器学习中的MLE和MAP
贝叶斯网络,看完这篇我终于理解了(附代码)!
概率图模型之贝叶斯网络
背景
边缘分布,条件分布
边缘分布:
对于单个因素所发生的概率,不考虑其他因素。例如P(A)
条件分布:
在某个条件下的某种情况发生的概率。例如P(A|B)
先验概率,后验概率
利用过去历史资料计算得到的先验概率,称为客观先验概率;
当历史资料无从取得或资料不完全时,凭人们的主观经验来判断而得到的先验概率,称为主观先验概率。
后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率。
贝叶斯派与频率派
贝叶斯派与频率派的想法可以从几个方面来解释:
参数的理解:
频率派的理念认为: 对于一个确定的分布来说,他的参数的值是一个固定的,不随着样本发生的变化。
贝叶斯思想的理念认为: 不认为分布中某个参数是一个定值,而是参数服从一定的分布,这个参数是随着抽取样本的变化而变化的,当样本足够多的时候,参数分布的值就越接近真实值。(实际上可以看做是参数的期望等于参数真实的值)。
抽象的理解:
频率学派和贝叶斯学派对世界的认知有本质不同:频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范围;而贝叶斯学派认为世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布。
概率图
概率图模型构建了这样一幅图,用观测结点表示观测到的数据,用隐含结点表示潜在的知识,用边来描述知识与数据的相互关系,最后基于这样的关系图获得一个概率分布。
概率图中的节点分为隐含节点和观测节点,边分为有向边和无向边。从概率论的角度,节点对应于随机变量,边对应于随机变量的依赖或相关关系,其中有向边表示单向的依赖,无向边表示相互依赖关系。
概率图模型分为贝叶斯网络(Bayesian Network) 和 马尔可夫网络(Markov Network) 两大类。贝叶斯网络可以用一个有向图结构表示,马尔可夫网络可以表 示成一个无向图的网络结构。更详细地说,概率图模型包括了朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型等,在机器学习的诸多场景中都有着广泛的应用。
最大似然(MLE) 最大后验概率(MAP)
最大似然方法求参数是频率派的思想的体现,最后求出的结果也是一个具体的参数。
最大后验概率是贝叶斯派的思想。
最大似然估计是求参数theta, 使似然函数p(x0|theta)最大。最大后验概率估计则是想求theta使得p(x0|theta)p(theta)最大。
一般对于最大后验概率首先会给定一个先验的theta的概率来使p(x0|theta)p(theta)联合最大,根据更多的样本不断的修正theta的概率。随着实验的越来越多,theta的概率会越来越接近真实的概率。
MAP需要注意的是:最初的选定先验概率会影响到之后最终的结果,如果是直接选择为1会导致计算错误。
贝叶斯网络
贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directed acyclic graphical model),是一种概率图模型,于1985年由Judea Pearl首先提出。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。我们将有因果关系(或非条件独立)的变量或命题用箭头来连接(换言之,连接两个节点的箭头代表此两个随机变量是具有因果关系,或非条件独立)。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值。
贝叶斯网络的公式
令G = (I,E)表示一个有向无环图(DAG),其中I代表图形中所有的节点的集合,而E代表有向连接线段的集合,且令X = (Xi)i ∈ I为其有向无环图中的某一节点i所代表的随机变量,若节点X的联合概率可以表示成:
则称X为相对于一有向无环图G 的贝叶斯网络,其中, p a ( i ) pa(i) pa(i)表示节点i之“因”,或称pa(i)是i的parents(父母)。
此外,对于任意的随机变量,其联合概率可由各自的局部条件概率分布相乘而得出:
贝叶斯网络的形式
下图是一个贝叶斯网络的示意图
从图中可以看出所有的联合分布计算公式为:
P
(
x
1
,
x
2
,
.
.
.
,
x
n
)
=
P
(
x
1
)
P
(
x
2
∣
x
1
)
P
(
x
3
∣
x
2
,
x
1
)
.
.
.
.
P
(
x
n
∣
x
n
−
1
,
)
P(x_1,x_2,...,x_n)=P(x_1)P(x_2|x_1)P(x_3|x_2,x1)....P(x_n|x_{n-1},)
P(x1,x2,...,xn)=P(x1)P(x2∣x1)P(x3∣x2,x1)....P(xn∣xn−1,)
对于贝叶斯网路其格式可以分为以下几种:
- head to head
- tail to tail
- head to tail
1、head to head
其形式如下图所示:
格式为:A——>C<——B
图中的联合概率分布可以写成
P
(
a
,
b
,
c
)
=
P
(
a
)
∗
P
(
b
)
∗
P
(
c
∣
a
,
b
)
P(a,b,c) = P(a)*P(b)*P(c|a,b)
P(a,b,c)=P(a)∗P(b)∗P(c∣a,b)化简之后可以得到:
可以得知在C为未知的情况下,AB其实是可以看做独立的,这个叫做head to head 独立。在这个情况下A,B是被阻断的。
2、tail to tail
图中的联合概率分布可以写成
P
(
a
,
b
,
c
)
=
P
(
c
)
∗
P
(
a
∣
c
)
∗
P
(
b
∣
c
)
P(a,b,c) = P(c)*P(a|c)*P(b|c)
P(a,b,c)=P(c)∗P(a∣c)∗P(b∣c)化简之后可以得到:
P
(
a
,
b
∣
c
)
=
P
(
a
∣
c
)
∗
P
(
b
∣
c
)
P(a,b|c) = P(a|c)*P(b|c)
P(a,b∣c)=P(a∣c)∗P(b∣c)
即,在C已知的情况下,AB两者独立。当C已知时,AB是被阻断的。
3、tail to head
图中的联合概率公式为:
P
(
a
,
b
,
c
)
=
P
(
a
)
∗
P
(
c
∣
a
)
∗
P
(
b
∣
c
)
P(a,b,c)=P(a)*P(c|a)*P(b|c)
P(a,b,c)=P(a)∗P(c∣a)∗P(b∣c)化简后可以得到:
即:在c给定的条件下,a,b被阻断(blocked),是独立的,称之为head-to-tail条件独立。