以下是前几年机器学习中的一个示例问题。有人能帮我解决这个问题吗。

发布于 2013-12-07 22:40:09
解决(a)部分的正确方法是将模型中的所有变量边缘化。
p(x3,x4)=1/Z \sum_{x1,x2,x5} \phi(x1,x2) \phi(x2,x4) \phi(x3,x4) \phi(x4,x5)
Z=\sum_{x1,x2,x3,x4,x5} \phi(x1,x2) \phi(x2,x4) \phi(x3,x4) \phi(x4,x5)
在这样的小模型中,你只需计算2^3和2^5各自的可能性。然而,一个更好的方法是使用信念传播计算和。
例如,上面分子中的和可以重写为
S(x4,x5)=\sum_{x1,x2,x5} \phi(x1,x2) \phi(x2,x4) \phi(x3,x4) \phi(x4,x5) =\phi(x3,x4) \sum_{x5} \phi(x4,x5) \sum_{x2} \phi(x2,x4) \sum_x1 \phi(x1,x2)
然后可以计算下列中间和,并使用它来获得最终的边际概率:
sx1x2(x2=0)=\phi(x1=0,x2=0)+\phi(x1=1,x2=0) sx1x2(x2=1)=\phi(x1=0,x2=1)+\phi(x1=1,x2=1)
sx1x2x4(x4=0)=\phi(x2=0,x4=0) sx1x2(x2=0)+\phi(x2=1,x4=0) sx1x2(x2=1) sx1x2x4(x4=1)=\phi(x2=0,x4=1) sx1x2(x2=0)+\phi(x2=1,x4=1) sx1x2(x2=1)
sx4x5(x4=0)=\phi(x4=0,x5=0)+\phi(x4=0,x5=1) sx4x5(x4=1)=\phi(x4=1,x5=0)+\phi(x4=1,x5=1)
然后
S(x3,x4)=\phi(x3,x4) sx1x2x4(x4) sx4x5(x4)
和
Z=\sum_{x3,x4} S(x3,x4)
https://stackoverflow.com/questions/20442555
复制相似问题