链式法则(Chain Rule)

2023-10-06 02:15
文章标签 链式法则 chain rule

本文主要是介绍链式法则(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的条件熵。

这篇关于链式法则(Chain Rule)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/152602

相关文章

webservice系列3---chain

本节摘要:本节主要介绍webservice的高级特性chain的开发和配置 1.引言       之前在上webservice系列2---javabean&handler中讲了handler的使用,当有多个handler的时候,难道我们要一个一个的在wsdd文件中配置,然后一个一个的引入到需要的webservice中码?of course ,no。Apache组织已经替我们考虑到了这种需求,ch

设计模式 -- 职责链模式(Chain of Responsibility Pattern)

1 问题引出 1.1 学校 OA 系统的采购审批项目 如果金额 小于等于 5000, 由教学主任审批 (0<=x<=5000)如果金额 小于等于 10000, 由院长审批 (5000<x<=10000)如果金额 小于等于 30000, 由副校长审批 (10000<x<=30000)如果金额 超过 30000 以上,有校长审批 ( 30000<x) 1.2 传统方式 传统方式是

Flink 原理与实现:Operator Chain原理

硬刚大数据系列文章链接: 2021年从零到大数据专家的学习指南(全面升级版) 2021年从零到大数据专家面试篇之Hadoop/HDFS/Yarn篇 2021年从零到大数据专家面试篇之SparkSQL篇 2021年从零到大数据专家面试篇之消息队列篇 2021年从零到大数据专家面试篇之Spark篇 2021年从零到大数据专家面试篇之Hbase篇

Flink: 两个递归彻底搞懂operator chain

《2021年最新版大数据面试题全面开启更新》 operator chain是指将满足一定条件的operator 链在一起,放在同一个task里面执行,是Flink任务优化的一种方式,在同一个task里面的operator的数据传输变成函数调用关系,这种方式减少数据传输过程。常见的chain例如:source->map->filter,这样的任务链可以chain在一起,那么其内部是如何决定

struts2 result type= redirect redirectAction chain dispatcher等类型

struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     "http://struts.apache.org/dtds/struts-2.0.

行为型设计模式-责任链(chain of responsibility)模式-python实现

设计模式汇总:查看 通俗示例 想象一下你在一个客服中心工作,当一个客户的问题提交给客服中心时,这个问题可能会被第一个可用的客服人员处理。如果这位客服人员无法解决问题,那么问题会被转发给更高级别的客服。这个过程可能会一直持续到问题被解决或者达到最高级别的支持。这种处理问题的方式就是一个责任链的例子。 通俗解释 责任链模式是一种行为型设计模式,它允许将请求沿着处理者链进行传递,直到有一个

Splay树(区间添加删除 | 区间翻转)——HDU 3487 Play with Chain

对应HDU题目:点击打开链接 Play with Chain Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4571    Accepted Submission(s): 1859 Problem Descript

Struts2中result的type其中redirect,redirectAction,chain的区别

Chain Result: 这个result调用另外的一个action,连接自己的拦截器栈和result。 actionName (默认) - 被调用的action的名字namespace - 被调用的action的名称空间. 如果名称空间为空,这默认为当前名称空间method - 用于指定目标action的另一个方法被调用. 如果空,默认为excute方法 Redirect Action

深入理解JavaScript系列(14):作用域链(Scope Chain)

前言 在第12章关于变量对象的描述中,我们已经知道一个执行上下文 的数据(变量、函数声明和函数的形参)作为属性存储在变量对象中。 同时我们也知道变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。 这一章专门讨论与执行上下文直接相关的更多细节,这次我们将提及一个议题——作用域链。 英文原文:http://dmitrysoshnikov.com/ecmascr

python 实现simpson rule辛普森法则算法

simpson rule辛普森法则算法介绍 辛普森法则(Simpson’s rule)是一种数值积分方法,用于估计函数在给定区间上的定积分。该方法利用二次函数来逼近被积函数,从而得到更准确的积分估计。 辛普森法则的算法通常将积分区间[a,b]划分成n个小区间(n为偶数),每个小区间的长度为h=(b−a)/n。然后,它使用三个点(区间开始、中间和结束)的函数值来近似每个小区间上的积分,并累加这些