You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

bnlearn中约束型结构学习算法未遵守黑名单问题排查

约束型贝叶斯网络结构学习中bnlearn黑名单失效问题

环境信息

  • R版本:4.3.3
  • bnlearn版本:4.9.3

黑名单定义

bl = matrix(c("A", "B",  
              "A", "C",  
              "B", "C"), 
            ncol = 2, byrow = TRUE)

blReverse = matrix(c("B", "A", 
                     "C", "A",  
                     "C", "B"), 
                   ncol = 2, byrow = TRUE)

结构学习与绘图代码

par(mfrow = c(1, 3))

# 无黑名单
graphviz.plot(gs(df), main = "No BL")

# 黑名单
graphviz.plot(gs(df, blacklist = bl), main = "BL")

# 反向黑名单
graphviz.plot(gs(df, blacklist = blReverse), main = "Reverse BL")

问题现象

  • 使用bl黑名单时,仍出现A→B、A→C等已被列入黑名单的弧;
  • 使用blReverse反向黑名单时,仍出现C→A、C→B等受限弧。

疑问

根据bnlearn官方文档,黑名单应可限制单方向弧,允许算法在数据支持时添加反向弧,但实际结果与预期不符。请问是黑名单使用方式有误、算法存在bug,还是我对黑名单功能理解有误?


内容的提问来源于stack exchange,提问作者Cata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:08:12