5.1-启发示例:期望值估计
接下来我们将通过例子来展示如何利用蒙特卡洛方法 (Monte Carlo, MC)来解决一个期望值估计问题,蒙特卡洛方法是使用随机样本随机解决估计问题的典型方法。读者可能会好奇为什么要关注“期望值估计”这个问题。这是因为状态值和行动值的定义都是期望值。所以估计状态值或行动值实际上就是期望估计问题。通过本节,我们将知道如何使用“数据而非模型”来估计期望值。
考虑一个随机变量\(X\),它可以在一个有限的实数集合内取值,令该集合为\(\mathcal{X}\)。我们的目标是计算\(X\)的期望值:\(\mathbb{E}[X]\),有两种方法可以计算\(\mathbb{E}[X]\)。
-
第一种方法是基于模型的。这里的模型指的是\(X\)的概率分布。如果模型已知,那么可以根据期望值的定义直接计算出均值:
\[\mathbb{E}[X]=\sum_{x\in\mathcal{X}}p(x)x.\] -
第二种方法是无模型的。当\(X\)的概率分(即模型)未知时,假设我们有一些\(X\)的样本\(\{x_1,x_2,...,x_n\}\)。那么这些样本可以被用于估计期望值:
\[\mathbb{E}[X]\approx\bar{x}=\frac{1}{n}\sum_{j=1}^{n}x_{j}.\]当\(n\)较小时,这种近似可能不够准确。然而随着\(n\)的增加,这种近似会变得越来越准确。当\(n\to\infty\),我们有\(\bar{x}\to E[X]\)。这实际上就是大数定律(law of large numbers)。详情参见Box 5.1。
下面通过抛硬币游戏来解释上面两种方法。在投掷硬币的游戏中,令随机变量\(X\)表示硬币落地时朝上的面。\(X\)有两个可能的取值:当正面朝上时,\(X = 1\);当反面朝上时,\(X=−1\)。假设\(X\)的真实概率分布(即模型)为:
如果概率分布已知,我们可以直接利用定义计算期望值:
如果概率分布未知,那么我们可以多次抛掷硬币并记录采样结果\(\{x_i\}_{i=1}^n\)。通过计算样本的平均值,我们可以得到期望值的估计。如图\(5.2\)所示,随着样本数量的增加,估计的均值会变得越来越准确。
值得一提的是,用于均值估计的样本必须是独立同分布 (independent and identically distributed, \(i.i.d.\)或\(iid\))。否则可能无法正确估计期望值。例如,所有样本值都与第一个样本强相关,一个极端的情况是所有样本与第一个样本完全相同,此时无论我们使用多少样本,样本的平均值始终等于第一个样本,而无法接近真实的期望值。

图\(5.2\):一个演示大数定律的例子。这里,样本是从{+1,−1}中按照均匀分布抽取的。随着样本数量的增加,样本的平均值逐渐收敛到零,即真实的期望值。