用EM算法进行贝叶斯网络的条件参数学习,建立一个简单的网络,网络来源西瓜书,我把模型简化了,只有3个特征。
其中色泽属性可取值为青绿1,乌黑2,浅白3;根蒂取值为蜷缩1,稍蜷2,硬挺3;敲声浊响1,沉闷2,清脆3;好瓜1,坏瓜2;数字是为了输入样本数据用的。
现在用EM算法进行网络的条件参数学习,先简单介绍一下EM算法。
概念:
EM算法即最大期望算法,是一类通过迭代进行极大似然估计的优化算法,用于对包含隐变量或缺失数据的概率模型进行参数估计。
与极大似然估计关系:
极大似然估计是对服从已知分布的未知参数进行估计。例如已知100个人里女性有50人,男性有50人,男女身高都服从正态分布,则我们可以通过极大似然估计来估计男女身高的正态分布参数。极大似然估计适用于解决参数未知的样本。
而EM算法是用来解决包含隐变量和未知参数的样本。例如,在100人中,有男女各50人,我们拥有100个人的身高数据,确不知道这100人里每个人是男生还是女生。即样本的类别是未知的。
EM算法的数据集组成为:观测数据X = (x1,…, xn)+隐含变量Z = (z1,…, zn)=完整数据Y = ((x1, z1),…, (xn, zn))
EM算法计算流程就是:
总结EM流程:
&#x
用EM算法进行简单贝叶斯网络的参数学习(python程序)
最新推荐文章于 2024-08-06 18:40:23 发布