tft的matlab代码贝叶斯网络变量消除
贝叶斯网络中变量消除的MATLAB实现。
由于变量消除基本上是基于因素的,因此也可以在MRF,CRF等上使用实现。
运行演示
克隆github存储库,然后尝试运行calculate_example1.m和calculate_example2.m。
这些代码将为“
calc_example_bayesnet”中提供的贝叶斯网络产生P(B
|
J,M)和P(E
|
J,M)的条件概率。
实施细节
每个因素都使用MATLAB
container.MAP(又名哈希表)表示。
另外,每个变量配置都使用字符串表示。
例如,如果模型具有3个二进制参数A,B和C,且A
=
1,B
=
0,C
=
1,则表示此配置的字符串将为“
TFT”。
同样,使用辅助字符“
N”来表示某些变量超出范围的情况。
去做
目前,该实现仅适用于具有二进制变量的贝叶斯网络。
2022-09-10 14:21:30
899KB
系统开源
1