我正在尝试实施贝叶斯网络.
我的主图是我想用于信念传播的因子图.但是,在计算消息时的置信传播中,并非所有参数都传递给函数,最终函数将是联合分布的限制.
我想到的最好的方法是以某种方式限制函数,以便每当我想为新值计算边际值时不进行所有替换.
我问过如何在这里实现这样的功能.
我想知道是否有更好的方法来做这样的事情,或者是否有比我想做的更简单快捷的方法.
我正在玩实现用于贝叶斯网络上的置信度传播的连接树算法.我在对图形进行三角测量时遇到了一些困难,因此可以形成连接树.
我知道找到最优的三角剖分是NP完全的,但是你能指出一个通用算法,它可以为相对简单的贝叶斯网络产生"足够好"的三角剖分吗?
这是一个学习练习(爱好,不是家庭作业),所以我不太关心空间/时间的复杂性,只要算法导致给定任何无向图的三角图.最后,我试图在我尝试进行任何近似之前理解精确推理算法的工作原理.
我正在使用NetworkX修补Python,但使用典型的图遍历术语的这种算法的任何伪代码描述都是有价值的.
谢谢!
这是Java替代贝叶斯信念网络框架 - Infer.NET吗?如果它是可扩展的(大型数据集的在线学习),良好支持(自2010年以来的最后更新)以及开源和易于编写的网络结构,则是优选的.所以来自Infer.NET的所有功能.
如何通过修复它的参数来创建比原始维度更小的维度的函数:
例如,我想用sum函数制作后继函数,如下所示:
def add(x,y):
return x+y
Run Code Online (Sandbox Code Playgroud)
现在我正在寻找这样的东西:
g = f(〜,1),它将是后继函数,即g(x)= x + 1.
python function bayesian-networks argument-passing belief-propagation