强化学习的数学原理 | 赵世钰 | 西湖大学 | 笔记 | Lecture 5 | Part 1 | 蒙特卡洛方法(通过例子介绍蒙特卡洛)
2026/9/15 22:30:43 网站建设 项目流程

目录

    • 前言
    • 1. Outline
    • 2. Motivating example: Monte Carlo estimation
    • 结语
    • 参考

前言

学习赵老师讲授的强化学习的数学原理视频,本篇文章记录第五讲 Part 1:蒙特卡洛方法(通过例子介绍蒙特卡洛),记录个人学习笔记,和大家一起分享交流😄

video:https://www.bilibili.com/video/BV1sd4y167NS

1. Outline

OK,这是我们的第五次课,这次课我们将会介绍基于蒙特卡洛的强化学习方法,下面是我们这个课程的地图。

相信大家也比较熟悉了,这次我们来到了第五章,上次课我们介绍的是value iterationpolicy iteration,这两节课是什么关系呢?上节课介绍的是model-based方法,而这次课我们将介绍整个课程中的第一个model-free方法,它们一个是依赖模型的,一个是不依赖模型的。

在开始之前我想说明两点,第一点:我们上节课介绍的policy iteration方法,实际上是这一次课的基础。待会大家就会看到,我们把policy iteration中依赖模型的部分,替换为不需要模型的方法(采样估计),就得到了今天的算法。

第二点我想说明的是,在我们这门课当中,我们把value iterationpolicy iteration也统称为model-based reinforcement learning,但更准确地说,它们应该称为dynamic programming(动态规划)方法。

近年来,model-based reinforcement learning(MBRL)又重新兴起,它研究的是什么呢?例如,先用数据估计出一个模型,再基于这个模型进行强化学习。不过在本课程中,我们仍统一把value iterationpolicy iteration也称为model-based reinforcement learning方法。

下面是我们这次课的大纲:

  • 1. Motivating example
  • 2. The simplest MC-based RL algorithm
    • Algorithm: MC Basic
  • 3. Use data more efficiently
    • Algorithm: MC Exploring Starts
  • 4. MC without exploring starts
    • Algorithm: MCε \varepsilonε-Greedy

首先我会通过一个motivating example来介绍Monte Carlo Estimation的基本思想,之后会介绍 3 个基于蒙特卡洛的强化学习的算法,这三个算法分别称为MC BasicMC Exploring Starts以及MCε \varepsilonε-Greedy,这里的MC是 Monte Carlo(蒙特卡洛)的缩写。

另外想强调的是这三个算法实际上是环环相扣的,前面一个是后面一个的基础,比如说,MC Basic是最简单的基于蒙特卡洛的强化学习算法,它简单到在实际当中是没法用的,因为效率等各方面都比较差,但它在揭示“如何去掉模型、不基于模型来实现强化学习”这一核心 idea 上非常关键。

这个算法经过改进,得到后续两个算法:比如说考虑如何让数据的使用效率更高、如何去除exploring starts这一假设等。

2. Motivating example: Monte Carlo estimation

下面我们来看第一部分。

其实从model-based的 reinforcement learning 过渡到model-free的 reinforcement learning,最让人难以理解的应该就是:如何在没有模型的情况下去估计一些量。这里有一个重要的方法(思想)—Monte Carlo Estimation

下面我通过这样一个例子来说明这个方法,这个例子是什么呢?就是掷硬币

假设我手上有一枚硬币,我把它抛到空中,然后硬币会落到我的手心,这枚硬币要么是正面朝上,要么是反面朝上,然后我把这个结果表示为一个随机变量X XX,如果它是正面朝上我就说X = + 1 X=+1X=+1,如果它是反面朝上我就说X = − 1 X=-1X=1

所以我下面要求解的问题就是:X XX的平均数,也就是它的expectation(即E [ X ] \mathbb{E}[X]E[X]),是多少?

这里有两种方法:

第一种方法是基于模型的(model-based)

那就是随机变量X XXprobability distribution是已知的:

p ( X = 1 ) = 0.5 , p ( X = − 1 ) = 0.5 p(X=1)=0.5, \quad p(X=-1)=0.5p(X=1)=0.5,p(X=1)=0.5

比如说它正面朝上的概率是 0.5,反面朝上的概率也是 0.5,那expectation就可以直接按定义计算:

E [ X ] = ∑ x x p ( x ) = 1 × 0.5 + ( − 1 ) × 0.5 = 0 \mathbb{E}[X]= \sum_x xp(x) = 1 \times 0.5 + (-1) \times 0.5 = 0E[X]=xxp(x)=1×0.5+(1)×0.5=0

公式中x xx是取值,p ( x ) p(x)p(x)是概率,最后算出来是 0。这个方法非常简单。

但是问题是,这么精确的probability distribution模型,我们可能无法知道,这也是我们本次课要面对的问题,所以我们能不能在没有模型的情况下也去估计呢?

其实答案也非常简单,利用蒙特卡洛估计就行。

它基本的思想就是:掷硬币很多次(做很多次实验、得到很多采样),然后求它们的平均数

具体来说,我们做N NN次实验,假设结果分别为{ x 1 , x 2 , … , x N } \{ x_1,x_2,\ldots, x_N \}{x1,x2,,xN},然后把这些结果相加再除以N NN,得到平均值,记作x ˉ \bar{x}xˉ,然后用x ˉ \bar{x}xˉ来近似E [ X ] \mathbb{E}[X]E[X]。即认为:

E [ X ] ≈ x ˉ = 1 N ∑ j = 1 N x j . \mathbb{E}[X] \approx \bar{x} = \frac{1}{N} \sum_{j=1}^N x_j.E[X]xˉ=N1j=1Nxj.

这个就是Monte Carlo Estimation 的一个基本的思想

那有的同学可能会说了,你用一个平均数来近似E [ X ] \mathbb{E}[X]E[X],那是否精确呢?当N NN比较小的时候这种近似实际上是不精确的,但随着N NN逐渐增大,这种近似会变得越来越精确,上面这个图清晰地展示了出来。

这个掷硬币任务总共做了 200 次,真实的expectation是 0,如果用最开始的两次结果做平均—前两次都是反面(-1)—平均值为负,与真实值相差较大,但随着数据越来越多,平均数会越来越收敛到真实的 expectation

这种直观解释有很好的数学支撑,那就是Law of Large Numbers(大数定律)[blog],具体是什么呢?


大数定律

考虑随机变量X XX。假设{ x j } j = 1 N \{x_j\}_{j=1}^N{xj}j=1NX XX的独立同分布(iid)样本。令x ˉ = 1 N ∑ j = 1 N x j \bar{x} = \frac{1}{N} \sum_{j=1}^N x_jxˉ=N1j=1Nxj为这些样本的均值。那么,

E [ x ˉ ] = E [ X ] , Var [ x ˉ ] = 1 N Var [ X ] . \begin{align*} \mathbb{E}[\bar{x}] &= \mathbb{E}[X], \\ \text{Var}[\bar{x}] &= \frac{1}{N} \text{Var}[X]. \end{align*}E[xˉ]Var[xˉ]=E[X],=N1Var[X].

因此,x ˉ \bar{x}xˉE [ X ] \mathbb{E}[X]E[X]的一个无偏估计,并且随着样本量N NN趋向于无穷大,其方差将减小至零。


具体来说,假设有N NNiid的样本,iidindependent and identically distributed(独立同分布),然后用这些样本做平均得到x ˉ \bar{x}xˉ,可以证明以下两个结论:

第一个结论:如果把x j x_jxj看作随机变量,那么x ˉ \bar{x}xˉ也是随机变量,可以对其求期望。它的期望等于真实的E [ X ] \mathbb{E}[X]E[X]—所以x ˉ \bar{x}xˉE [ X ] \mathbb{E}[X]E[X]无偏估计

第二个结论:x ˉ \bar{x}xˉvariance1 N Var [ X ] \frac{1}{N}\text{Var}[X]N1Var[X],即X XX方差的1 N \frac{1}{N}N1

那么显然,当N NN趋向于无穷时,方差1 N Var [ X ] \frac{1}{N}\text{Var}[X]N1Var[X]趋向于 0,方差趋向于 0 意味着x ˉ \bar{x}xˉ会收敛到一个常数,而这个正是expectationE [ X ] \mathbb{E}[X]E[X],具体证明可以参考教材。

所以通过这样一个例子,其实我们就非常清晰地了解了蒙特卡洛估计的基本的思想

蒙特卡洛不仅可以用于掷硬币这样简单的任务,凡是需要大量采样、再用实验结果进行近似的方法,都可以称为蒙特卡洛估计方法。

我们在这个课程当中,为什么会需要考虑Monte Carlo Estimation?就是因为我们是无模型的,而Monte Carlo Estimation 恰好也不需要模型

我们为什么要考虑这个mean estimation?为什么要用蒙特卡洛来估计 expectation?就是因为state valueaction value—如果大家还记得的话—它们的定义实际上就是expectation,所以后面会用到。

结语

本讲第一部分正式拉开了 model-free 强化学习的序幕。通过掷硬币这个简单直观的例子,我们掌握了 Monte Carlo Estimation 的核心思想:当概率模型未知时,不依赖模型的解析计算,而是通过大量采样、求平均来估计期望值。大数定律为这一方法提供了坚实的数学保障—样本均值x ˉ \bar{x}xˉE [ X ] \mathbb{E}[X]E[X]的无偏估计,且其方差随样本量N NN增大而趋于零,因此采样越多、估计越精确。

这一思想之所以对强化学习至关重要,正是因为 state value 和 action value 本质上就是期望值,而蒙特卡洛方法恰好提供了一条绕开模型的估计路径。接下来,我们将看到如何把这一思想融入 policy iteration 的框架—只需将其中的模型依赖部分替换为基于采样的估计,就能得到第一个 model-free 强化学习算法 MC Basic🤗。

参考

  • https://www.bilibili.com/video/BV1sd4y167NS
  • https://github.com/MathFoundationRL/Book-Mathmatical-Foundation-of-Reinforcement-Learning

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询