文章目录
- 前言
- 概率有向图模型
- 验证
- 回到书中
- 隐马尔可夫模型
- 信念网络
- 朴素贝耶斯
- 总结
前言
经过前面的复习,我们把李航老师的《统计学习方法》中的监督学习部分回顾了一遍,接下来我们在此基础上,开始学习邱锡鹏老师的《神经网络与深度学习》,其中内容略有拔高,不过好在邱锡鹏老师讲解很细致,阴阳互补,循序渐进。
概率有向图模型
概率有向图模型就是用有向图来表示联合概率分布。概率无向图使用无向图来表示联合概率分布。他们惟一的区别就在于条件概率的计算公式不同。因为概率无向图的条件概率的化简公式使用了马尔可夫性相关关系+贝耶斯公式,而概率有向图中条件概率的化简公式使用了因果关系条件独立性+贝耶斯公式。可以简单理解为在马尔可夫相关性的基础上加上了方向,把条件概率局限在了单方向,比如说:如果 x x x与 y y y只是相关关系,那么 P ( x ∣ y ) P(x|y) P(x∣y)与 P ( y ∣ x ) P(y|x) P(y∣x)都存在,现在限制为因果关系: x → y x\to y x→y, x x x为因, y y y为果,所以现在只存在 P ( y ∣ x ) P(y|x) P(y∣x)。
验证
我们还是直接画个图进行验证。注意概率有向图必须要是有向无环图。
注意为了确保其中每个条件概率都是存在的,我们需要从起点开始,然后逐层的相乘。从图中可以看出: ( A , E ) → ( B ) → ( D ) → ( C ) (A,E)\to (B)\to (D)\to (C) (A,E)→(B)→(D)→(C)的层级结构,至于如何看出这样的层次结构我想应该是《图论》中的相关知识吧。
P ( A , B , C , D , E ) = P ( A ) P ( E ∣ A ) P ( B ∣ E , A ) P ( D ∣ A , E , B ) P ( C ∣ A , B , D , E ) = P ( A ) P ( E ∣ A ) P ( B ∣ E , A ) P ( D ∣ B , E ) P ( C ∣ B , D ) \begin{align*} P(A,B,C,D,E)=&P(A)P(E|A)P(B|E,A)P(D|A,E,B)P(C|A,B,D,E)\\ =& P(A)P(E|A)P(B|E,A)P(D|B,E)P(C|B,D)\\ \end{align*} P(A,B,C,D,E)==P(A)P(E∣A)P(B∣E,A)P(D∣A,E,B)P(C∣A,B,D,E)P(A)P(E∣A)P(B∣E,A)P(D∣B,E)P(C∣B,D)
在有向概率图模型中我们可以总结出条件概率的化简公式:
- 条件中有相邻原因点集的可以化简到只剩相邻原因点
- 所有起点应该作为联合概率分布分解公式中的一个团来计算,就比如上面的 P ( A , E ) P(A,E) P(A,E)
这样的话从结果上来说就是亲父子才会被化为一个团来作为分解中的一个因子。
他跟概率无向图中联合概率的计算公式不同之处在于,概率有向图分解必须严格按照层级,而概率无向图可以不按照顺序。
回到书中
上述规律就跟书中局部马尔可夫性质对应起来了:“每个 随机变量在给定父节点的情况下,条件独立于它的非后代节点”。
隐马尔可夫模型
根据隐马尔可夫模型的定义,我们可以给出以下示例:
其中状态序列为 S 1 , S 2 , S 3 , S 4 S_1,S_2,S_3,S_4 S1,S2,S3,S4,观测序列为 V 1 , V 2 , V 3 , V 4 V_1,V_2,V_3,V_4 V1,V2,V3,V4,从中可以看出这是一个有方向的因果关系概率有向图。首先分析层级图: ( S 1 ) → ( V 1 , S 2 ) → ( V 2 , S 3 ) → ( V 3 , S 4 ) → ( V 4 ) (S_1)\to (V_1,S_2)\to (V_2,S_3)\to (V_3,S_4)\to (V_4) (S1)→(V1,S2)→(V2,S3)→(V3,S4)→(V4)它的联合概率分布为:
P ( S 1 , ⋯ , S 4 , V 1 , ⋯ , V 4 ) = P ( S 1 ) P ( V 1 ∣ S 1 ) P ( S 2 ∣ S 1 , V 1 ) P ( V 2 ∣ S 1 , V 1 , S 2 ) P ( S 3 ∣ S 1 , V 1 , S 2 , V 2 ) P ( V 3 ∣ S 1 , V 1 , S 2 , V 2 , S 3 ) P ( S 4 ∣ S 1 , V 1 , S 2 , V 2 , S 3 , V 3 ) P ( V 4 ∣ S 1 , V 1 , S 2 , V 2 , S 3 , V 3 , S 4 ) = P ( S 1 ) P ( V 1 , S 2 ∣ S 1 ) P ( V 2 , S 3 ∣ S 1 , V 1 , S 2 ) P ( V 3 , S 4 ∣ S 1 , V 1 , S 2 , V 2 , S 3 ) P ( V 4 ∣ S 1 , V 1 , S 2 , V 2 , S 3 , V 3 , S 4 ) = P ( S 1 ) P ( V 1 , S 2 ∣ S 1 ) P ( V 2 , S 3 ∣ S 2 ) P ( V 3 , S 4 ∣ S 3 ) P ( V 4 ∣ S 4 ) \begin{align*} P(S_1,\cdots,S_4,V_1,\cdots,V_4)=&P(S_1)P(V_1|S_1)P(S_2|S_1,V_1)P(V_2|S_1,V_1,S_2)P(S_3|S_1,V_1,S_2,V_2)P(V_3|S_1,V_1,S_2,V_2,S_3)P(S_4|S_1,V_1,S_2,V_2,S_3,V_3)P(V_4|S_1,V_1,S_2,V_2,S_3,V_3,S_4)\\ =&P(S_1)P(V_1,S_2|S_1)P(V_2,S_3|S_1,V_1,S_2)P(V_3,S_4|S_1,V_1,S_2,V_2,S_3)P(V_4|S_1,V_1,S_2,V_2,S_3,V_3,S_4)\\ =&P(S_1)P(V_1,S_2|S_1)P(V_2,S_3|S_2)P(V_3,S_4|S_3)P(V_4|S_4)\\ \end{align*} P(S1,⋯,S4,V1,⋯,V4)===P(S1)P(V1∣S1)P(S2∣S1,V1)P(V2∣S1,V1,S2)P(S3∣S1,V1,S2,V2)P(V3∣S1,V1,S2,V2,S3)P(S4∣S1,V1,S2,V2,S3,V3)P(V4∣S1,V1,S2,V2,S3,V3,S4)P(S1)P(V1,S2∣S1)P(V2,S3∣S1,V1,S2)P(V3,S4∣S1,V1,S2,V2,S3)P(V4∣S1,V1,S2,V2,S3,V3,S4)P(S1)P(V1,S2∣S1)P(V2,S3∣S2)P(V3,S4∣S3)P(V4∣S4)
根据上面分析的父子关系,其实也就是隐马尔可夫模型中说到的后一个状态只依赖于前一个状态,当前观测只依赖与当前状态的另一种等价表达。
这也从另一个角度解开了我心中的疑惑,为什么当时隐马尔可夫模型的联合概率分布的分解要满足那样的要求,其实是从条件独立出发所得来的。孰途同归。
仔细观察上式也是父子团,我们还可以进一步分解为《统计学习方法》中所示的联合概率分布的计算公式。
P = P ( S 1 ) P ( V 1 ∣ S 1 ) P ( S 2 ∣ S 1 ) P ( V 2 ∣ S 2 ) P ( S 3 ∣ S 2 ) P ( V 3 ∣ S 3 ) P ( S 4 ∣ S 3 ) P ( V 4 ∣ S 4 ) P=P(S_1)P(V_1|S_1)P(S_2|S_1)P(V_2|S_2)P(S_3|S_2)P(V_3|S_3)P(S_4|S_3)P(V_4|S_4) P=P(S1)P(V1∣S1)P(S2∣S1)P(V2∣S2)P(S3∣S2)P(V3∣S3)P(S4∣S3)P(V4∣S4)
其中 P ( S 1 ) P(S_1) P(S1)就是初始状态概率, P ( V 1 ∣ S 1 ) P(V_1|S_1) P(V1∣S1)就是观测概率, P ( S 2 ∣ S 1 ) P(S_2|S_1) P(S2∣S1)就是状态转移概率,又相互印证了。
信念网络
要想分析信念网络我们需要先回顾一下。
借助于隐马尔可夫模型的分析,我们可以发现联合概率分布可以分解为一个个因子团的乘积,而每个因子团的变量其实就是父子变量。比如上面的 P ( V 1 , S 2 ∣ S 1 ) P(V_1,S_2|S_1) P(V1,S2∣S1)我们完全可以使用一个三元函数 f ( S 1 , V 1 , S 2 ) f(S_1,V_1,S_2) f(S1,V1,S2)来表示,同时为了保持为正数,我们可以取指数函数, exp ( f ( S 1 , V 1 , S 2 ) ) \exp(f(S_1,V_1,S_2)) exp(f(S1,V1,S2)),换言之,父子团中变量就是函数中的变量。我们现在可以开始分析信念网络了。
书中写道信念网络的父子团条件概率为:
P ( x k = 1 ∣ N x k ) = σ ( θ 0 + ∑ x i ∈ N x k θ i x i ) P(x_k=1|N_{x_k})=\sigma(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i) P(xk=1∣Nxk)=σ(θ0+xi∈Nxk∑θixi)
我们看到上面是对于 x k = 1 x_k=1 xk=1的概率,我们可以套用sigmoid函数的定义,求出 x k = 0 x_k=0 xk=0的概率。
P ( x k = 0 ∣ N x k ) = 1 − σ ( θ 0 + ∑ x i ∈ N x k θ i x i ) = 1 − 1 1 + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) = exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) 1 + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) \begin{align*} P(x_k=0|N_{x_k})=&1-\sigma(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i)\\ =&1-\frac{1}{1+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))}\\ =&\frac{\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))}{1+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))}\\ \end{align*} P(xk=0∣Nxk)===1−σ(θ0+xi∈Nxk∑θixi)1−1+exp(−(θ0+∑xi∈Nxkθixi))11+exp(−(θ0+∑xi∈Nxkθixi))exp(−(θ0+∑xi∈Nxkθixi))
我们再抽象一下,求 P ( x k ∣ N x k ) P(x_k|N_{x_k}) P(xk∣Nxk):
P ( x k ∣ N x k ) = 1 ∗ x k + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) ∗ ( 1 − x k ) 1 + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) P(x_k|N_{x_k})=\frac{1*x_k+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))*(1-x_k)}{1+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))} P(xk∣Nxk)=1+exp(−(θ0+∑xi∈Nxkθixi))1∗xk+exp(−(θ0+∑xi∈Nxkθixi))∗(1−xk)
也就是说,这个条件概率跟 x k , N x k x_k,N_{x_k} xk,Nxk都有关系,也就是跟父子团都有关系,所以他也是是一个概率有向图。我们把这个关系画出来。
回头来分析,其实这个网络并没有具体针对有几个父亲这种因果关系(隐马尔可夫模型说一个人有一个父亲),这个网络的作用是告诉我们可以用所有变量的线性函数来作为 f ( x k , N x k ) f(x_k,N_{x_k}) f(xk,Nxk),给我们提供了一个示例函数 exp ( f ( x k , N x k ) ) = 1 ∗ x k + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) ∗ ( 1 − x k ) 1 + exp ( − ( θ 0 + ∑ x i ∈ N x k θ i x i ) ) \exp(f(x_k,N_{x_k}))=\frac{1*x_k+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))*(1-x_k)}{1+\exp(-(\theta_0+\sum_{x_i\in N_{x_k}}\theta_i x_i))} exp(f(xk,Nxk))=1+exp(−(θ0+∑xi∈Nxkθixi))1∗xk+exp(−(θ0+∑xi∈Nxkθixi))∗(1−xk)。
当然我们也可以不使用他社想的这种,我们可以设想另一种: exp ( f ( x k , N x k ) ) = exp ( θ 0 x k + b 0 + ∑ x i ∈ N x k θ i x i ) \exp(f(x_k,N_{x_k}))=\exp(\theta_0x_k+b_0+\sum_{x_i\in N_{x_k}}\theta_ix_i) exp(f(xk,Nxk))=exp(θ0xk+b0+∑xi∈Nxkθixi)
当然如果你够狠,你也可以加入核技巧,让里面的 x k , N x k x_k,N_{x_k} xk,Nxk变个形式, exp ( f ( x k , N x k ) ) = exp ( θ 0 ϕ ( x k ) + b 0 + ∑ x i ∈ N x k θ i ϕ ( x i ) ) \exp(f(x_k,N_{x_k}))=\exp(\theta_0\phi(x_k)+b_0+\sum_{x_i\in N_{x_k}}\theta_i\phi(x_i)) exp(f(xk,Nxk))=exp(θ0ϕ(xk)+b0+∑xi∈Nxkθiϕ(xi))
朴素贝耶斯
万万没想到竟然又回到了朴素贝耶斯,复习路上遇到的第一个拦路虎:贝耶斯估计这里,孰途同归。
朴素贝耶斯模型是基于条件独立性假设的,也就是 P ( x 1 , x 2 , ⋯ , x n ∣ y ) = P ( x 1 ∣ y ) ⋯ P ( x n ∣ y ) P(x_1,x_2,\cdots,x_n|y)=P(x_1|y)\cdots P(x_n|y) P(x1,x2,⋯,xn∣y)=P(x1∣y)⋯P(xn∣y),书中说也可以看成概率有向图。
总结
上面最后一个朴素贝耶斯又点拨到我了,原来概率有向图的判别方式有三种。第一种是从Gibbs分布的形式出发,满足 P ( x k ∣ N x k ) = f ( x k , N x k ) P(x_k|N_{x_k})=f(x_k,N_{x_k}) P(xk∣Nxk)=f(xk,Nxk)的形式就可以说它的联合概率可以被认为是概率有向图;第二种是从文字表述形式出发,说明变量之间的依赖关系就像是隐马尔可夫模型那样,也是概率有向图;第三种就是从条件概率的条件独立性出发,直接给出条件概率相互独立的公式也是一个概率有向图。
芜湖,邱锡鹏老师真是润物细无声,孰途同归。