贝叶斯推断智能体怎么更新判断?用设备告警核对先验与后验

根据传感器告警更新故障概率,明确独立性与决策阈值。提供演示输入、可核对结果和适用限制。

贝叶斯推断把新证据与已有概率结合,更新对状态的判断。智能体随后是否行动,还取决于动作成本和决策规则。下面用自造设备故障告警算后验;这些概率是演示输入,不是任何真实设备的可靠性统计。

先分清四个量

令 F 为设备故障,+ 为传感器告警。假设先验 P(F)=0.1,故障时告警 P(+|F)=0.8,正常时误报 P(+|非F)=0.1。告警总概率为 0.8×0.1+0.1×0.9=0.17;看到告警后的故障概率是 0.08/0.17=8/17,约 47.06%。

贝叶斯推断智能体怎么更新判断?用设备告警核对先验与后验

80% 是故障条件下的告警概率,不是告警后有故障的概率。两者交换会忽略先验和误报。当正常设备数量较多,少量误报也可能构成大量告警。贝叶斯公式支持这种条件转换,但输入概率需要来自明确的数据口径。

实现一次更新和连续两次更新

保存 belief.py,用 Python 3 运行 python belief.py。连续两次告警的更新额外假设:在给定设备是否故障后,两次观测条件独立,而且期间故障状态不变。重复读取同一条告警日志不满足这个假设。

from math import isclose
def update(prior, sensitivity=0.8, false_alarm=0.1):
    if not all(0 <= x <= 1 for x in (prior, sensitivity, false_alarm)):
        raise ValueError("probabilities must be in [0, 1]")
    evidence = sensitivity*prior + false_alarm*(1-prior)
    if evidence == 0:
        raise ValueError("evidence has zero probability")
    return sensitivity*prior/evidence
first = update(0.1)
second = update(first)
print(round(first, 6), round(second, 6))
assert isclose(first, 8/17)
assert isclose(second, 64/73)

第一次结果约 0.470588,第二次约 0.876712。第二次大幅提高概率只在上述独立性和状态不变假设下有效。若同一传感器连续误报高度相关,应建模相关性或改用独立证据,不能机械地越更新越确信。

概率更新与执行动作分开

可以先输出“故障后验为多少、使用了哪些证据、哪些假设成立”,再按规则决定继续观察或安排人工检查。47% 不自动意味着立即停机;停机成本、漏检成本和动作权限要在真实业务中确定,本例不设置生产设备操作指令。

复核输入数据时要记录先验的统计人群、传感器灵敏度、误报率、样本时间和是否存在数据漂移。如果用新的设备型号,就不能无验证沿用旧概率。输出异常先检查分母与条件概率方向,再查连续证据是否重复。

本文没有真实故障数据,也不是朴素贝叶斯文本分类训练。它只验证二元信念更新的数学闭环;面对多状态、随时间变化的设备,需另行建立状态转移和观测模型,不能把这里的两项公式直接当完整诊断系统。

资料与核对依据

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33009.html

赞 (0)
AI小管家的头像AI小管家
蚁群算法里的多智能体怎么协作?算出选路概率与信息素更新
上一篇 12小时前
多智能体路径规划 Python 怎么写?用联合 BFS 避开占格与对向交换
下一篇 12小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部