链式法则(Chain Rule)

定义

链式法则(Chain Rule)是概率论和统计学中的一个基本原理,用于计算联合概率分布或条件概率分布的乘积。它可以用于分解一个复杂的概率分布为多个较简单的条件概率分布的乘积,从而简化概率分析问题。

链式法则有两种常见的形式:离散型和连续型。

  1. 离散型链式法则:假设有一系列随机变量 X 1 , X 2 , X 3 , . . . , X n X_1,X_2,X_3,...,X_n X1X2X3...Xn,链式法则可以表示为:

    P ( X 1 , X 2 , X 3 , . . . , X n ) = P ( X 1 ) ∗ P ( X 2 ∣ X 1 ) ∗ P ( X 3 ∣ X 1 , X 2 ) ∗ . . . ∗ P ( X n ∣ X 1 , X 2 , X 3 , . . . , X n − 1 ) P(X_1, X_2, X_3, ..., X_n) = P(X_1) * P(X_2|X_1) * P(X_3|X_1, X_2) * ... * P(X_n|X_1, X_2, X_3, ..., X_{n-1}) P(X1,X2,X3,...,Xn)=P(X1)P(X2X1)P(X3X1,X2)...P(XnX1,X2,X3,...,Xn1)

    这个公式说明了联合概率分布可以分解为一系列条件概率的乘积。从 X 1 X_1 X1 X n X_n Xn,每个随机变量的条件概率都是在给定前面所有随机变量的条件下计算的。

  2. 连续型链式法则:对于连续型随机变量,链式法则可以表示为:

    f ( x 1 , x 2 , x 3 , . . . , x n ) = f ( x 1 ) ∗ f ( x 2 ∣ x 1 ) ∗ f ( x 3 ∣ x 1 , x 2 ) ∗ . . . ∗ f ( x n ∣ x 1 , x 2 , x 3 , . . . , x n − 1 ) f(x_1, x_2, x_3, ..., x_n) = f(x_1) * f(x_2|x_1) * f(x_3|x_1, x_2) * ... * f(x_n|x_1, x_2, x_3, ..., x_{n-1}) f(x1,x2,x3,...,xn)=f(x1)f(x2x1)f(x3x1,x2)...f(xnx1,x2,x3,...,xn1)

    这个公式与离散型链式法则类似,但涉及到概率密度函数而不是概率质量函数。同样,每个随机变量的条件密度函数都是在给定前面所有随机变量的条件下计算的。

链式法则在概率推断、贝叶斯统计、机器学习和信息论等领域都有广泛的应用,它可以帮助分解复杂的联合分布,使问题变得更容易处理。

举例说明

让我们通过一个简单的例子来说明链式法则的应用。

假设有三个随机变量:A、B 和 C,它们表示以下事件:

  • A 表示一个人是否患有心脏病(1表示患病,0表示不患病)。
  • B 表示一个人是否吸烟(1表示吸烟,0表示不吸烟)。
  • C 表示一个人是否有高胆固醇水平(1表示高胆固醇,0表示正常胆固醇水平)。

我们想计算患有心脏病的人中吸烟和高胆固醇的联合概率。根据链式法则,我们可以表示为:

P ( A = 1 , B = 1 , C = 1 ) = P ( A = 1 ) ∗ P ( B = 1 ∣ A = 1 ) ∗ P ( C = 1 ∣ A = 1 , B = 1 ) P(A=1, B=1, C=1) = P(A=1) * P(B=1|A=1) * P(C=1|A=1, B=1) P(A=1,B=1,C=1)=P(A=1)P(B=1∣A=1)P(C=1∣A=1,B=1)

这里的各个概率表示如下:

  • P(A=1):心脏病的先验概率。
  • P(B=1|A=1):在患有心脏病的条件下吸烟的条件概率。
  • P(C=1|A=1, B=1):在患有心脏病且吸烟的条件下高胆固醇的条件概率。

如果我们已经有了这些概率的估计值,就可以使用链式法则来计算患有心脏病、吸烟和高胆固醇的人的联合概率。这个联合概率可以用于做出关于患病风险和健康行为的决策。

链式法则可以在更复杂的概率模型中应用,例如贝叶斯网络,以分解联合概率分布并进行推断和决策分析。这个例子只是一个简单的示例,用来说明链式法则的基本概念。

熵的链式法则

熵的链式法则用于计算多个随机变量的联合熵。如果有随机变量X1, X2, …, Xn,则它可以表示为:

H ( X 1 , X 2 , . . . , X n ) = H ( X 1 ) + H ( X 2 ∣ X 1 ) + H ( X 3 ∣ X 1 , X 2 ) + . . . + H ( X n ∣ X 1 , X 2 , . . . , X n − 1 ) H(X_1, X_2, ..., X_n) = H(X_1) + H(X_2|X_1) + H(X_3|X_1, X_2) + ... + H(X_n|X_1, X_2, ..., X_{n-1}) H(X1,X2,...,Xn)=H(X1)+H(X2X1)+H(X3X1,X2)+...+H(XnX1,X2,...,Xn1)

其中,H表示熵, H ( X 1 ) H(X_1) H(X1)是第一个随机变量X_1的熵, H ( X i ∣ X 1 , X 2 , . . . , X i − 1 ) H(X_i|X_1, X_2, ..., X_{i-1}) H(XiX1,X2,...,Xi1)是在给定前面的随机变量的条件下,随机变量X_i的条件熵。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/95005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Map声明、元素访问及遍历、⼯⼚模式、实现 Set - GO语言从入门到实战

Map声明、元素访问及遍历 - GO语言从入门到实战 Map 声明的方式 m := map[string]int{"one": 1, "two": 2, "three": 3} //m初始化时就已经设置了3个键值对,所以它的初始长度len(m)是3。m1 := map[string]int{} //m1被初始化为一个空的m…

C++设计模式-抽象工厂(Abstract Factory)

目录 C设计模式-抽象工厂(Abstract Factory) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-抽象工厂(Abstract Factory) 一、意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们…

笔试编程ACM模式JS(V8)、JS(Node)框架、输入输出初始化处理、常用方法、技巧

目录 考试注意事项 先审完题意,再动手 在本地编辑器(有提示) 简单题515min 通过率0%,有额外log 常见输入处理 str-> num arr:line.split( ).map(val>Number(val)) 初始化数组 new Array(length).fill(v…

国庆中秋特辑(七)Java软件工程师常见20道编程面试题

以下是中高级Java软件工程师常见编程面试题,共有20道。 如何判断一个数组是否为有序数组? 答案:可以通过一次遍历,比较相邻元素的大小。如果发现相邻元素的大小顺序不对,则数组不是有序数组。 public boolean isSort…

Windows下Tensorflow docker python开发环境搭建

前置条件 windows10 更新到较新的版本,硬件支持Hyper-V。 参考:https://learn.microsoft.com/zh-cn/windows/wsl/install 启用WSL 在Powershell中输入如下指令: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsys…

01-工具篇-windows与linux文件共享

一般来说绝大部分PC上装的系统均是windows,为了开发linux程序,会在PC上安装一个Vmware的虚拟机,在虚拟机上安装ubuntu18.04,由于windows上的代码查看软件、浏览器,通信软件更全,我们想只用ubuntu进行编译&a…

哨兵(Sentinel-1、2)数据下载

哨兵(Sentinel-1、2)数据下载 一、登陆欧空局网站 二、检索 先下载2号为光学数据 分为S2A和S2B,产品种类有1C和2A,区别就是2A是做好大气校正的影像,当然数量也会少一些,云量检索条件中记得要按格式&#x…

LeetCode 251:展开二维向量

题目 Implement an iterator to flatten a 2d vector. Example: [1,2,3,4,5,6] [1,2,3,4,5,6] Follow up: As an added challenge, try to code it using only iterators in C++ or iterators in Java. 题解: 用两个index 分别记录list 的 index 和当前 list的element index. …

【Linux基础】Linux发展史

👉系列专栏:【Linux基础】 🙈个人主页:sunny-ll 一、前言 本篇主要介绍Linux的发展历史,这里并不需要我们掌握,但是作为一个合格的Linux学习者与操作者,这些东西是需要了解的,而且…

深入理解浏览器渲染原理

文章目录 浏览器是如何渲染页面的渲染流程解析HTML(构建DOM树)解析过程中遇到JS代码 样式计算1. 解析CSS代码2. 转换样式表中的属性值,使其标准化3. 计算DOM树中每个节点的具体样式CSS继承规则CSS层叠规则 布局分层分层update layer tree 绘制…

WebGL 响应上下文丢失解决方案

目录 响应上下文丢失 如何响应上下文丢失 上下文事件 示例程序(RotatingTriangle_contextLost.js) 响应上下文丢失 WebGL使用了计算机的图形硬件,而这部分资源是被操作系统管理,由包括浏览器在内的多个应用程序共享。在某些特…

【Java-LangChain:使用 ChatGPT API 搭建系统-5】处理输入-思维链推理

第五章,处理输入-思维链推理 在本章中,我们将专注于处理输入,即通过一系列步骤生成有用地输出。 有时,模型在回答特定问题之前需要进行详细地推理。如果您参加过我们之前的课程,您将看到许多这样的例子。有时&#xf…

逐步解决Could not find artifact com:ojdbc8:jar:12

Could not find artifact com:ojdbc8:jar:12 in central (https://repo.maven.apache.org/maven2) 原因: ojdbc8:jar:12 属于Oracle 数据库链接的一个程序集,缺失的话很有可能会影响数据库链接,蝴蝶效应产生不可预测的BUG!但是版…

OpenGLES:绘制一个混色旋转的3D立方体

效果展示 混色旋转的3D立方体 一.概述 之前关于OpenGLES实战开发的博文,不论是实现相机滤镜还是绘制图形,都是在2D纬度 这篇博文开始,将会使用OpenGLES进入3D世界 本篇博文会实现一个颜色渐变、旋转的3D立方体 动态3D图形的绘制&#xf…

mybatise-plus的id过长问题

一、问题情景 笔者在做mp插入数据库(id已设置为自增)操作时,发现新增数据的id过长,结果导致前端JS拿到的数据出现了精度丢失问题,原因是后端id的类型是Long。在网上查了一下,只要在该属性上加上如下注解就可以 TableId(value &q…

进程调度的时机,切换与过程以及方式

1.进程调度的时机 进程调度(低级调度〉,就是按照某种算法从就绪队列中选择一个进程为其分配处理机。 1.需要进行进程调度与切换的情况 1.当前运行的进程主动放弃处理机 进程正常终止运行过程中发生异常而终止进程主动请求阻塞(如等待l/O)…

大模型部署手记(1)ChatGLM2+Windows GPU

1.简介: 组织机构:智谱/清华 代码仓:https://github.com/THUDM/ChatGLM2-6B 模型:THUDM/chatglm2-6b 下载:https://huggingface.co/THUDM/chatglm2-6b 镜像下载:https://aliendao.cn/models/THUDM/chat…

很普通的四非生,保研破局经验贴

推免之路 个人情况简介夏令营深圳大学情况机试面试结果 预推免湖南师范大学面试结果 安徽大学面试结果 北京科技大学笔试面试结果 合肥工业大学南京航空航天大学面试结果 暨南大学东北大学 最终结果一些建议写在后面 个人情况简介 教育水平:某中医药院校的医学信息…

.netCore .net5,6,7 存日志文件

如果你使用 .netCore及以上版本(.net5,.net6,.net7)... 系统默认自带日志中间件(log4net) 对,就是上次java 日志大漏洞的兄弟....... 控制台自动打印日志就是它的功劳 现在我们想存日志文件,怎么办 很简单. 1.在项目中添加日志配置文件 文件名 : log4net.config 不能…

uniapp echarts 适配H5与微信小程序

文章目录 前言一、修改 ec-canvas组件1.1 在ec-canvas组件methods中定义一个initChart方法1.2 用initChart全局替换this.ec.onInit1.3 监听数据变化1.4 ec-canvas完整代码参考 二、H5 echarts组件三、供外部调用的组件外部调用组件 uni-chart代码使用uni-chart 前言 接上文&…