score 函数衡量已经学习到的 DAG 结构是否适合数据集。当然,您可以根据数据集和学习 DAG 结构的最终目标,以多种方式定义得分函数。一种常用的评分函数是log-posterior。
给定数据集D和一个向量X变量,对数后验得分函数S(D,G)定义为
S(D,G):=logppr(G)+logp(D|G)
在哪里ppr是 DAG 的先验。设参数集为θ∈Θ.p(D|G)是边际可能性
p(D|G)=∫Θp(D|G,θ)⋅ppr(θ)dθ
R 包根据bnlearn
数据的性质(无论是分类的、连续的还是混合的)定义了几个评分函数。
分类数据(多项分布):
- 多项对数似然;
- 赤池信息准则(AIC);
- 贝叶斯信息准则(BIC);
- 分数等效 Dirichlet 后验密度 (BDe);
- 稀疏的狄利克雷后验密度(BDs);
- 基于 Jeffrey 先验 (BDJ) 的 Dirichlet 后验密度;
- 用于混合干预和观察数据的修正贝叶斯狄利克雷;
- K2分数;
连续数据(多元正态分布):
- 多元高斯对数似然;
- 相应的赤池信息准则(AIC);
- 相应的贝叶斯信息准则(BIC);
- 分数等效高斯后验密度(BGe);
混合数据(条件高斯分布):
- 条件高斯对数似然;
- 相应的赤池信息准则(AIC);
- 相应的贝叶斯信息准则(BIC)。
为了n变量,可能的 DAG 的数量是超指数的。这是整数序列的链接。正如你所看到的,这个数字增长得非常快。https://oeis.org/A003024