概率问题,从癌症检测到贝叶斯网络

简介: image.png上一篇博文用癌症检测的问题,发现即便是被准确率高达90%的仪器检测出了癌症,但实际得癌症的概率却如此之低。从这个例子引出了贝叶斯定理这个工具,利用这个工具可以计算一个普遍的问题那就是“检测问题”。
img_c951fe6b5b0d5cd6c75b24f588aee830.png
image.png

上一篇博文用癌症检测的问题,发现即便是被准确率高达90%的仪器检测出了癌症,但实际得癌症的概率却如此之低。从这个例子引出了贝叶斯定理这个工具,利用这个工具可以计算一个普遍的问题那就是“检测问题”。如图,A是无法观察到的(是否是癌症患者),B是可以观测到的(仪器检测是否成阳性)。B关联于A,在知道B的结果的情况下求A的概率。

img_8144df8e356fb61a102dedb03d86276e.png
image.png

这两个相互关联的事件其实构成了一个简单的贝叶斯网络

回到癌症检测这个问题来,如果你去医院连续做了两次癌症检测,这两次癌症检测的结果是关联的吗?

答案是关联的,也就是说第一次检测的结果会影响到第二次检测的结果。这个也很好理解,就是如果第一次检测成阳性,那么第二次检测成阳性的概率肯定就会增大。这也可以用贝叶斯网络画出一个简单的关系。如图三个事件的关系,T1和T2就是两次检测结果,C是指这个人是否患癌症。

img_4e70a5efcfdaa4ccee8db4cf5914bd00.png
image.png

那如果已知病人患癌症,那第一次和第二次的检测结果还互相关联吗?

答案是两次检测结果相互独立不再关联。这个也很好理解,癌症患者被检测到结果成阳性的概率P(+|C)只与机器的准确率有关系,跟你测一万次被检测到成阳性的概率都是90%,跟你前一次检测结果毫无关系。

再举一个例子,比如我今天的心情的好坏只与两个事件有关,第一是今天的天气是否晴朗,第二是我是否加薪。贝叶斯网络如下图,


img_df3f2b0d79a6e9f3b31c810565ec5e9a.png
image.png

现在第一个问题是:我加薪的概率与今天天气是否晴朗的概率是否关联?
估计你用脚趾都能算出来,我加薪的概率跟天气没有半毛钱关系,两者相互独立

那如果我今天很高兴呢?(也就是我的心情是知道的),那天气和加薪是否相互独立呢?

答案是这种情况下两者是关联的,而非相互独立的。为什么呢?如果你发现我今天很高兴,然后你看今天天气又不好,那我们今天加薪的概率肯定就回提高嘛。也就是说天气是否晴朗的概率就影响了我是否加薪的概率。

这种比较简单的贝叶斯网络很好理解,那复杂的情况怎么办呢,比如汽车故障的检测问题,如下图:

img_e59c155b03b79a7bd3ce6f5151ed4727.png
image.png

如此多的事件相互关联,如何判断每个事件是否相互关联呢?

其实我们只需要将贝叶斯网络的几个基本关系就可以了,如图

img_7e71fdedde0f15c08c53bc7749add6e9.png
image.png

左边Active triplets 表示事件互相关联的情况,其中第一和第二张图很好理解,第三张图实际上就是我举的天气的例子(已知我很高兴,那天气是否晴朗跟我是否加薪就关联了)。第四张图可以这样理解,比如我是否高兴与我是否出去跑步相关联,那如果已你看到我今天在外面跑步,那你就知道了我今天高兴的概率肯定很高,于是加薪和天气这两个事件就关联起来了。

右边Inactive triplets表示事件相互独立的情况,第二张图和地三张图我在文中的例子中已经给出来了,第一张图的情况也很好理解,比如三个事件分别代表我是否加薪,我是否高兴,和我是否出去跑步。在不知道我心情的情况下我出去跑步的概率显然受我是否加薪影响。那如果已知我很高兴了,那我是否出去跑步就只与我高兴的程度有关了是不是?而与我是否加薪就没关系了(相互独立了)

OK知道上面那个图就很好判断事件的相互联系了, 给个思考题目吧,如图:F是否与A独立?在不知道任何事件的情况下(F⊥A)?;已知D的情况下(F⊥A | D)?;已知G的情况下(F⊥A | G)?;已知H的情况下(F⊥A | H)?

img_0d6a111b4888431cbd14b482c77d7a08.png
image.png

欢迎留言讨论。


相关文章

如果体检癌症检测成阳性(准确率为90%)……怎么办
人工智能学习笔记之——人工智能基本概念和词汇
人工智能学习笔记二 —— 定义问题


目录
相关文章
|
10月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
1649 0
|
10月前
|
机器学习/深度学习 数据采集 算法
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
本文将BSSNN扩展至反向推理任务,即预测X∣y,这种设计使得模型不仅能够预测结果,还能够探索特定结果对应的输入特征组合。在二元分类任务中,这种反向推理能力有助于识别导致正负类结果的关键因素,从而显著提升模型的可解释性和决策支持能力。
694 42
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
|
7月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
1032 0
|
8月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
1206 0
|
11月前
|
机器学习/深度学习 API TensorFlow
BayesFlow:基于神经网络的摊销贝叶斯推断框架
BayesFlow 是一个基于 Python 的开源框架,利用摊销神经网络加速贝叶斯推断,解决传统方法计算复杂度高的问题。它通过训练神经网络学习从数据到参数的映射,实现毫秒级实时推断。核心组件包括摘要网络、后验网络和似然网络,支持摊销后验估计、模型比较及错误检测等功能。适用于流行病学、神经科学、地震学等领域,为仿真驱动的科研与工程提供高效解决方案。其模块化设计兼顾易用性与灵活性,推动贝叶斯推断从理论走向实践。
353 7
BayesFlow:基于神经网络的摊销贝叶斯推断框架
|
10月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
252 2
|
SQL 数据采集 人工智能
“服务器老被黑?那是你没上AI哨兵!”——聊聊基于AI的网络攻击检测那些事儿
“服务器老被黑?那是你没上AI哨兵!”——聊聊基于AI的网络攻击检测那些事儿
486 12
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
507 8
|
11月前
|
机器学习/深度学习 算法 5G
基于DNN深度神经网络的OFDM+QPSK信号检测与误码率matlab仿真
本内容展示了基于深度神经网络(DNN)的OFDM-QPSK信号检测算法在Matlab2022a中的仿真效果。通过构建包含多层全连接层和ReLU激活函数的DNN模型,结合信号预处理与特征提取,实现了复杂通信环境下的高效信号检测。仿真结果对比了传统LS、MMSE方法与DNN方法在不同信噪比(SNR)条件下的误码率(BER)和符号错误率(SER),验证了DNN方法的优越性能。核心程序涵盖了QPSK调制、导频插入、OFDM发射、信道传输及DNN预测等关键步骤,为现代通信系统提供了可靠的技术支持。
193 0
|
机器学习/深度学习 数据采集 算法
基于yolov2和googlenet网络的疲劳驾驶检测算法matlab仿真
本内容展示了基于深度学习的疲劳驾驶检测算法,包括算法运行效果预览(无水印)、Matlab 2022a 软件版本说明、部分核心程序(完整版含中文注释与操作视频)。理论部分详细阐述了疲劳检测原理,通过对比疲劳与正常状态下的特征差异,结合深度学习模型提取驾驶员面部特征变化。具体流程包括数据收集、预处理、模型训练与评估,使用数学公式描述损失函数和推理过程。课题基于 YOLOv2 和 GoogleNet,先用 YOLOv2 定位驾驶员面部区域,再由 GoogleNet 分析特征判断疲劳状态,提供高准确率与鲁棒性的检测方法。

热门文章

最新文章