基于“蘑菇书”的强化学习知识点(五):条件期望

条件期望

    • 摘要
    • 一、条件期望的定义
    • 二、条件期望的关键性质
    • 三、条件期望的直观理解
    • 四、条件期望的应用场景
    • 五、简单例子
      • 离散情况
      • 连续情况

摘要

本系列知识点讲解基于蘑菇书EasyRL中的内容进行详细的疑难点分析!具体内容请阅读蘑菇书EasyRL!


对应蘑菇书EasyRL——2.2.2 贝尔曼方程


条件期望 是概率论中的一个核心概念,表示在给定某个条件的情况下,随机变量的期望值。条件期望不仅是一个数值,还可能是另一个随机变量。下面是条件期望的定义和具体解释。


一、条件期望的定义

对于两个随机变量 X X X Y Y Y

  1. 离散情况:
    如果 X X X Y Y Y 是离散随机变量,则 X X X 在给定 Y = y Y=y Y=y 的条件下的条件期望定义为:
    E [ X ∣ Y = y ] = ∑ x x ⋅ P ( X = x ∣ Y = y ) . \mathbb{E}[X \mid Y=y] = \sum_x x \cdot P(X=x \mid Y=y). E[XY=y]=xxP(X=xY=y).

    • P ( X = x ∣ Y = y ) P(X=x \mid Y=y) P(X=xY=y) 是条件概率,表示在 Y = y Y=y Y=y 的情况下, X = x X=x X=x 的概率。
    • E [ X ∣ Y = y ] \mathbb{E}[X \mid Y=y] E[XY=y] 是一个数,表示在 Y = y Y=y Y=y 时,随机变量 X X X 的期望值。
  2. 连续情况:
    如果 X X X Y Y Y 是连续随机变量,则 X X X 在给定 Y = y Y=y Y=y 的条件下的条件期望定义为:
    E [ X ∣ Y = y ] = ∫ − ∞ + ∞ x ⋅ f X ∣ Y ( x ∣ y ) d x , \mathbb{E}[X \mid Y=y] = \int_{-\infty}^{+\infty} x \cdot f_{X \mid Y}(x \mid y) \, dx, E[XY=y]=+xfXY(xy)dx,

    • f X ∣ Y ( x ∣ y ) f_{X \mid Y}(x \mid y) fXY(xy) 是条件概率密度函数。
    • 该积分表示在 Y = y Y=y Y=y 的条件下,随机变量 X X X 的加权平均值。
  3. 随机变量形式:
    Y Y Y 不是固定值,而是一个随机变量时,条件期望 E [ X ∣ Y ] \mathbb{E}[X \mid Y] E[XY] 被看作是一个关于 Y Y Y 的新随机变量,其值依赖于 Y Y Y

    直观来说, E [ X ∣ Y ] \mathbb{E}[X \mid Y] E[XY] 表示在已知 Y Y Y 的情况下, X X X 的期望值。它是一个函数:
    E [ X ∣ Y ] = g ( Y ) , \mathbb{E}[X \mid Y] = g(Y), E[XY]=g(Y),
    其中 (g(Y)) 是某个由 (Y) 确定的函数。


二、条件期望的关键性质

  1. 期望的分解(全期望公式):
    E [ X ] = E [ E [ X ∣ Y ] ] . \mathbb{E}[X] = \mathbb{E}[\mathbb{E}[X \mid Y]]. E[X]=E[E[XY]].
    这是条件期望最重要的性质,表明我们可以通过先计算条件期望,再对条件变量 Y Y Y 求期望,得到整体期望。

  2. 线性性:
    条件期望是线性的:
    E [ a X + b Y ∣ Z ] = a E [ X ∣ Z ] + b E [ Y ∣ Z ] , \mathbb{E}[aX + bY \mid Z] = a \mathbb{E}[X \mid Z] + b \mathbb{E}[Y \mid Z], E[aX+bYZ]=aE[XZ]+bE[YZ],
    其中 a a a b b b 是常数。

  3. 塔式性质(Law of Iterated Expectations):
    如果 X X X Y Y Y Z Z Z 是随机变量,且 Z Z Z 包含的条件比 Y Y Y 多,那么:
    E [ E [ X ∣ Y ] ∣ Z ] = E [ X ∣ Z ] . \mathbb{E}[\mathbb{E}[X \mid Y] \mid Z] = \mathbb{E}[X \mid Z]. E[E[XY]Z]=E[XZ].

  4. 条件期望约简:
    如果 X X X Y Y Y 条件独立于 Z Z Z,则:
    E [ X ∣ Y , Z ] = E [ X ∣ Y ] . \mathbb{E}[X \mid Y, Z] = \mathbb{E}[X \mid Y]. E[XY,Z]=E[XY].


三、条件期望的直观理解

条件期望可以理解为在给定条件(如随机变量 Y = y Y=y Y=y)下,随机变量 X X X 的“平均值”。

  • 假设你有一个测量身高 X X X 和年龄 Y Y Y 的数据集。你想知道“给定某个年龄 Y = y Y=y Y=y,对应的平均身高是多少”。这个问题的答案就是条件期望 E [ X ∣ Y = y ] \mathbb{E}[X \mid Y=y] E[XY=y]

  • 如果 Y Y Y 是随机变量而不是固定值,比如不同年龄的分布未知,那么条件期望 E [ X ∣ Y ] \mathbb{E}[X \mid Y] E[XY] 是一个关于 Y Y Y 的函数,用于描述不同年龄对应的平均身高。


四、条件期望的应用场景

  1. 强化学习:
    在强化学习中,条件期望用于计算值函数(Value Function)和 Q 函数。例如,状态值函数 V ( s ) V(s) V(s) 是一个条件期望:
    V ( s ) = E [ R t + γ V ( S t + 1 ) ∣ S t = s ] . V(s) = \mathbb{E}[R_t + \gamma V(S_{t+1}) \mid S_t=s]. V(s)=E[Rt+γV(St+1)St=s].

  2. 保险精算:
    条件期望被用于计算在给定信息下的风险和保费。例如,给定过去的索赔记录,计算未来可能的平均赔偿额。

  3. 金融:
    在期权定价和投资组合分析中,条件期望用于分析在给定市场条件下资产的期望收益。


五、简单例子

离散情况

假设 X X X 表示某人某天吃的苹果数, Y Y Y 表示当天的天气。我们有以下概率分布:

  • P ( Y = 晴天 ) = 0.6 P(Y=\text{晴天}) = 0.6 P(Y=晴天)=0.6 P ( Y = 雨天 ) = 0.4 P(Y=\text{雨天}) = 0.4 P(Y=雨天)=0.4
  • 如果是晴天, P ( X = 1 ∣ Y = 晴天 ) = 0.3 P(X=1 \mid Y=\text{晴天}) = 0.3 P(X=1Y=晴天)=0.3 P ( X = 2 ∣ Y = 晴天 ) = 0.7 P(X=2 \mid Y=\text{晴天}) = 0.7 P(X=2Y=晴天)=0.7
  • 如果是雨天, P ( X = 1 ∣ Y = 雨天 ) = 0.8 P(X=1 \mid Y=\text{雨天}) = 0.8 P(X=1Y=雨天)=0.8 P ( X = 2 ∣ Y = 雨天 ) = 0.2 P(X=2 \mid Y=\text{雨天}) = 0.2 P(X=2Y=雨天)=0.2

求条件期望 E [ X ∣ Y = 晴天 ] \mathbb{E}[X \mid Y=\text{晴天}] E[XY=晴天] E [ X ∣ Y = 雨天 ] \mathbb{E}[X \mid Y=\text{雨天}] E[XY=雨天]

解:
E [ X ∣ Y = 晴天 ] = 1 ⋅ 0.3 + 2 ⋅ 0.7 = 0.3 + 1.4 = 1.7. \mathbb{E}[X \mid Y=\text{晴天}] = 1 \cdot 0.3 + 2 \cdot 0.7 = 0.3 + 1.4 = 1.7. E[XY=晴天]=10.3+20.7=0.3+1.4=1.7.
E [ X ∣ Y = 雨天 ] = 1 ⋅ 0.8 + 2 ⋅ 0.2 = 0.8 + 0.4 = 1.2. \mathbb{E}[X \mid Y=\text{雨天}] = 1 \cdot 0.8 + 2 \cdot 0.2 = 0.8 + 0.4 = 1.2. E[XY=雨天]=10.8+20.2=0.8+0.4=1.2.

连续情况

假设 X X X 表示一个股票的价格变化, Y Y Y 表示市场波动程度。已知:

  • f X ∣ Y ( x ∣ y ) = y ⋅ e − y x f_{X \mid Y}(x \mid y) = y \cdot e^{-yx} fXY(xy)=yeyx(指数分布, x ≥ 0 x \geq 0 x0)。
  • 给定 Y = y Y=y Y=y,随机变量 X X X 的条件期望为:
    E [ X ∣ Y = y ] = ∫ 0 ∞ x ⋅ y ⋅ e − y x d x . \mathbb{E}[X \mid Y=y] = \int_0^\infty x \cdot y \cdot e^{-yx} \, dx. E[XY=y]=0xyeyxdx.

计算:
使用分部积分:
E [ X ∣ Y = y ] = 1 y . \mathbb{E}[X \mid Y=y] = \frac{1}{y}. E[XY=y]=y1.

这表明 X X X 的条件期望依赖于市场波动 Y Y Y 的大小。

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

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

相关文章

Node.js与嵌入式开发:打破界限的创新结合

文章目录 一、Node.js的本质与核心优势1.1 什么是Node.js?1.2 嵌入式开发的范式转变 二、Node.js与嵌入式结合的四大技术路径2.1 硬件交互层2.2 物联网协议栈2.3 边缘计算架构2.4 轻量化运行时方案 三、实战案例:智能农业监测系统3.1 硬件配置3.2 软件架…

Shell 中的 Globbing:原理、使用方法与实现解析(中英双语)

Shell 中的 Globbing:原理、使用方法与实现解析 在 Unix Shell(如 Bash、Zsh)中,globbing 是指 文件名模式匹配(filename pattern matching),它允许用户使用特殊的通配符(wildcards…

7 与mint库对象互转宏(macros.rs)

macros.rs代码定义了一个Rust宏mint_vec,它用于在启用mint特性时,为特定的向量类型实现与mint库中对应类型的相互转换。mint库是一个提供基本数学类型(如点、向量、矩阵等)的Rust库,旨在与多个图形和数学库兼容。这个宏…

P3078[USACO13MAR] Poker Hands S

P3078[USACO13MAR] Poker Hands S https://www.luogu.com.cn/problem/P3078 前言 学习差分后写的第一道题,直接给我干懵逼,题解都看不懂……吃了个晚饭后开窍写出来了,遂成此篇。 题目 翻译版本 Bessie 和她的朋友们正在玩一种独特的扑克游…

【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR

文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…

Redis基础(二)——通用命令与五大基本数据类型

目录 一、Redis数据结构基本介绍 二、Redis通用命令 1.查看通用命令 2.KEYS:查看符合模板的所有key 3.DEL:删除指定的Key 4.lEXISTS:判断key是否存在 5.lEXPIRE:给一个key设置有效期,有效期到期时该key会被自…

Ajax:重塑Web交互体验的人性化探索

在数字化时代,网页的交互性和响应速度已成为衡量用户体验的关键指标。Ajax(Asynchronous JavaScript and XML),作为前端与后端沟通的桥梁,凭借其异步通信的能力,极大地提升了网页的动态性和用户友好度&…

ComfyUI工作流 参考图像生成人像手办(SDXL版)

文章目录 参考图像生成人像手办SD模型Node节点工作流程效果展示开发与应用参考图像生成人像手办 此工作流旨在实现将图像生成高精度的3D手办风格效果,通过深度学习技术完成从图像处理、模型加载、提示词优化到图像生成和超分辨率处理的一系列操作。整个流程以SDXL模型为核心,…

c语言 程序计算圆的面积(Program to find area of a circle)

给定圆的半径,求该圆的面积。 可以使用以下公式简单地计算圆的面积。 其中 r 是圆的半径,它可能是浮点数,因为饼图的值为 3.14 方法:使用给定的半径,使用上述公式找到面积:(pi * r * r&#…

解析PHP文件路径相关常量

PHP文件路径相关常量包括以下几个常量: __FILE__:表示当前文件的绝对路径,包括文件名。 __DIR__:表示当前文件所在的目录的绝对路径,不包括文件名。 dirname(__FILE__):等同于__DIR__,表示当前…

Rust错误处理:从灭火器到核按钮的生存指南

开篇:错误处理的生存哲学 在Rust的平行宇宙里,错误分为两种人格: panic! → 核按钮💣(不可恢复,全系统警报)Result → 灭火器🧯(可控制,局部处理&#xff0…

蓝桥杯C语言组:暴力破解

基于C语言的暴力破解方法详解 暴力破解是一种通过穷举所有可能的解来找到正确答案的算法思想。在C语言中,暴力破解通常用于解决那些问题规模较小、解的范围有限的问题。虽然暴力破解的效率通常较低,但它是一种简单直接的方法,适用于一些简单…

基于STM32的智能安防监控系统

1. 引言 随着物联网技术的普及,智能安防系统在家庭与工业场景中的应用日益广泛。本文设计了一款基于STM32的智能安防监控系统,集成人体感应、环境异常检测、图像识别与云端联动功能,支持实时报警、远程监控与数据回溯。该系统采用边缘计算与…

【环境搭建】1.1源码下载与同步

目录 写在前面 一,系统要求 二,安装depot_tools 三,获取代码 四,代码同步 五,代码结构 写在前面 当前的开发背景是基于Google的开源Chromium,来开发Android设备的浏览器方案。 一,系统要…

Image Resize:强大的在线图像处理工具

Image Resize 是一款免费的在线批量图像处理工具,让你轻松调整图像大小、裁剪、压缩,支持多种格式。 批量处理:一次编辑多个图像,提高工作效率。多种格式支持:支持PNG、JPG等多种常见图像格式,满足不同需求…

Pyside/Pyqt 全部类的层级关系

PySide(如PySide6)的类层级结构基于Qt框架,以下是主要模块及其核心类的层级关系概览。由于类数量庞大,此处仅列出关键类和继承关系: 1. QtCore 模块 基础类与工具 QObject (所有Qt对象的基类) QCoreApplication (控制…

【Linux系统】CPU指令集 和 Linux系统权限 ring 0 / ring 3

CPU 指令集 CPU 指令集:是 CPU 实现软件指挥硬件执行的媒介,具体来说每一条汇编语句都对应了一条CPU指令,而非常非常多的 CPU 指令在一起,可以组成一个、甚至多个集合,指令的集合叫CPU指令集。 CPU 指令集有权限分级&…

Slint的学习

Slint是什么 Slint是一个跨平台的UI工具包,支持windows,linux,android,ios,web,可以用它来构建申明式UI,后端代码支持rust,c,python,nodejs等语言。 开源地址:https://github.com/slint-ui/slint 镜像地址:https://kkgithub.com/…

互联网行业常用12个数据分析指标和八大模型

本文目录 前言 一、互联网线上业务数据分析的12个指标 1. 用户数据(4个) (1) 存量(DAU/MAU) (2) 新增用户 (3) 健康程度(留存率) (4) 渠道来源 2. 用户行为数据(4个) (1) 次数/频率…

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位) 文章目录 九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)1. RDB 概述2. RDB 持久化执行流程3. RDB 的详细配置4. RDB 备份&恢…