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 ∫ab?f(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?)∫Ωi??f(x)dx(2)
同時根據概率密度函數的定義, ∫ Ω i f ( x ) d x \int_{\Omega_i}f(x)dx ∫Ωi??f(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?)∫Ωi??f(x)dx=i∑n?F(xi?)p(xi?)=i∑n?F(xi?)NN(xi?)?=N1?i∑n?F(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=N1?i∑N?F(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∑n?F(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?的含義不一樣。