我有一个贝叶斯网络,我通过从现有数据中学习概率来了解CPT。 假设我收到一个新的数据实例。理想情况下,我不想再次使用所有数据来更新概率。
每次有新数据出现时,有没有办法逐步更新现有网络的CPT? 我认为应该有,而且我觉得我错过了一些东西:)
答案 0 :(得分:3)
最简单的方法是维护联合概率表,并根据需要重建CPT。与JPT一起,记录用于生成它的示例数量。添加n
示例时,将所有概率乘以1 - 1/n
,然后将概率1/n
添加到新示例的相关概率中。
如果你打算这么做,你应该为JPT中的每一行保留一个例子,而不是概率。这将减少数值漂移。