1. 回顾期望的定义
对于连续性随机变量 X X X,期望为:
E X ∼ f ( x ) [ X ] = ∫ Ω x f ( x ) d x E_{X\sim f(x)}[X] = \int_{\Omega}xf(x)dx EX∼f(x)[X]=∫Ωxf(x)dx
其中 f ( x ) f(x) f(x)为概率密度函数, Ω \Omega Ω为概率密度函数的定义域。
对于离散型随机变量 X X X,期望为:
E [ X ] = ∑ x x P ( X = x ) E[X] = \sum_x xP(X = x) E[X]=x∑xP(X=x)
其中 P ( X = x ) P(X=x) P(X=x)表示随机变量 X X X等于 x x x时的概率。
2. 积分,期望,求和,均值
然而在机器学习当中,我们常常会发现这种等式,它将求期望,求和,积分统一了起来:
E ( X ) = ∑ x x p ( x ) = ∫ x p ( x ) d x (1) E(X) = \sum_x xp(x) = \int xp(x)dx \tag1 E(X)=x∑xp(x)=∫xp(x)dx(1)
实际上这种写法是不严谨的。如果我们理解了本文开头部分就会发现,连等式第二,第三项中的 p ( x ) p(x) p(x)表达的含义是不一样的。第二项的 p ( x ) p(x) p(x)表达的是 x x x事件发生的概率(或者称为随机变量 X X X等于 x x x的概率),而第三项的 p ( x ) p(x) p(x)则是概率密度函数。
那么为什么在求期望时,能够把求和与积分统一起来(第二项和第三项)?我们可以回顾一下概率密度函数的意义。
定义: f ( x ) f(x) f(x)为概率密度函数, ∫ a b f ( x ) d x \int^b_a f(x)dx ∫abf(x)dx表示随机变量 X X X属于 [ a , b ] [a,b] [a,b]区间的概率。
2.1. 期望与求积分,求均值的关系:
为了一般性,我们考虑对函数 F ( x ) F(x) F(x)求期望,其中 x x x服从概率密度函数 f ( x ) f(x) f(x):
E X ∼ f ( x ) [ F ( X ) ] = ∫ Ω F ( x ) f ( x ) d x E_{X \sim f(x)}[F(X)] = \int_\Omega F(x)f(x)dx EX∼f(x)[F(X)]=∫ΩF(x)f(x)dx
将 Ω \Omega Ω拆分成多个无穷小的区间 Ω i \Omega_i Ωi,在每个无穷小区间内,我们认为 F ( x ) F(x) F(x)不变,因此可以视为常数:
∫ Ω F ( x ) f ( x ) d x = ∑ i F ( x i ) ∫ Ω i f ( x ) d x (2) \int_\Omega F(x)f(x)dx = \sum_i F(x_i)\int_{\Omega_i}f(x)dx \tag2 ∫ΩF(x)f(x)dx=i∑F(xi)∫Ωif(x)dx(2)
同时根据概率密度函数的定义, ∫ Ω i f ( x ) d x \int_{\Omega_i}f(x)dx ∫Ωif(x)dx即为: x ∈ Ω i x \in \Omega_i x∈Ωi这个区间的概率,记为 p ( x i ) p(x_i) p(xi)。由于区间是无穷小的,我们可以直接近似为随机变量 X = x i X=x_i X=xi这一事件发生的概率。
因此 ( 2 ) (2) (2)式又可以写做:
∫ Ω F ( x ) f ( x ) d x = ∑ i F ( x i ) ∫ Ω i f ( x ) d x = ∑ i n F ( x i ) p ( x i ) = ∑ i n F ( x i ) N ( x i ) N = 1 N ∑ i n F ( x i ) N ( x i ) \begin{align*} \int_\Omega F(x)f(x)dx & = \sum_i F(x_i)\int_{\Omega_i}f(x)dx \\ & = \sum_i^n F(x_i)p(x_i) \\ & = \sum_i^n F(x_i) \frac{N(x_i)}{N} \\ & = \frac{1}{N}\sum_i^n F(x_i) N(x_i) \tag2 \end{align*} ∫ΩF(x)f(x)dx=i∑F(xi)∫Ωif(x)dx=i∑nF(xi)p(xi)=i∑nF(xi)NN(xi)=N1i∑nF(xi)N(xi)(2)
其中 N N N为总实验次数, N ( x i ) N(x_i) N(xi)表示随机实验中,随机变量 X = x i X = x_i X=xi这一事件发生的次数。
我们可以发现 ( 2 ) (2) (2)式可以近似表示成: N N N次实验中, F ( x ) F(x) F(x)取值之和的平均值。即 E X ∼ f ( x ) [ F ( x ) ] E_{X\sim f(x)}[F(x)] EX∼f(x)[F(x)]:在 x x x服从概率密度函数 f ( x ) f(x) f(x)的情况下的期望,或者说是 F ( x ) F(x) F(x)相对于概率密度函数 f ( x ) f(x) f(x)的期望(相对期望)。
由于 F ( x ) F(x) F(x)可以替换成任意以 x x x为自变量的函数,我们可以令 F ( x ) = x F(x)=x F(x)=x,即为 ( 1 ) (1) (1)式。
需要注意的是,求均值是对积分的近似表示,这是因为:
- 拆分的区间在实际计算的过程中,不可能是无穷小的,只能尽可能小。 对应于实际采样/实验的次数是有限的。
- 区间内的采样不可能是完全均匀的:实际的实验/采样过程中,随机变量 X X X有可能会倾向于取某一段区间内的值(对应于 X X X一直位于重复的 Ω i \Omega_i Ωi),有些区间内的值可能一直无法取到。比如高斯分布, 3 σ 3 \sigma 3σ外的值很难取到。当然,增加重复实验/采样的次数可以缓解这个问题。
有人这里会说,既然 x x x一直位于重复的 Ω i \Omega_i Ωi,那么我对区间 Ω \Omega Ω构造均匀分布,然后对这个均匀分布采样不就行了?但是我们要注意, X ∼ f ( x ) X \sim f(x) X∼f(x),而 f ( x ) f(x) f(x)并不一定是这个对应的均匀分布。因此这种方式不可行。
当然,我们可以采用重要性采样来解决某些值一直取不到的问题,感兴趣的读者可以自行查阅。
蒙特卡洛方法求积分,最朴素的手段就是定义一个在积分上下限这个区间上的均匀分布,在这个均匀分布上采样,然后求均值。
因此,出现了求期望,可以把求积分,求和,求均值都联系在一起。甚至于说,只要出现求积分,也可以与求均值,求和联系在一起(蒙特卡洛积分)。
3. 总结
出现了这种期望的形式 E X ∼ f ( x ) [ F ( X ) ] = ∫ F ( x ) f ( x ) d x E_{X \sim f(x)}[F(X)] = \int F(x)f(x)dx EX∼f(x)[F(X)]=∫F(x)f(x)dx,其中 f ( x ) f(x) f(x)为概率密度函数。我们都可以用求和再求均值的方式来近似:
∫ F ( x ) f ( x ) d x = 1 N ∑ i N F ( x i ) \int F(x)f(x)dx = \frac{1}{N}\sum_i^N F(x_i) ∫F(x)f(x)dx=N1i∑NF(xi)
其中 N N N为总实验次数, x i x_i xi表示第 i i i次实验随机变量的取值。
也可以表示为:
∫ F ( x ) f ( x ) d x = ∑ i n F ( x i ) ⋅ p ( x i ) \int F(x)f(x)dx = \sum_i^nF(x_i) \cdot p(x_i) ∫F(x)f(x)dx=i∑nF(xi)⋅p(xi)
这里的 n n n表示随机变量 X X X有 n n n个取值, p ( x i ) p(x_i) p(xi)为随机变量 X = x i X = x_i X=xi的概率。上面两个式子是完全等价的。但需要注意: x i x_i xi的含义不一样。