贝叶斯学习
一般情形下的贝叶斯估计(总结)
基本假设:
-
密度 p ( x ∣ θ ) p(\mathbf{x}\vert \theta) p(x∣θ)的形式已知,但参数向量的值未知。
-
关于 θ \theta θ的初始知识包含在已知的先验密度 p ( θ ) p(\theta) p(θ)中。
-
关于 θ \theta θ的其余知识包含在根据未知概率密度 p ( x ) p(\mathbf{x}) p(x)独立抽取的 n n n个样本 x 1 , x 2 , ⋯ , x n x_{1},x_{2},\cdots,x_{n} x1,x2,⋯,xn的集合 D D D中。
-
基本问题:计算关于参数 θ \theta θ的后验密度 p ( θ ∣ D ) p(\theta\vert D) p(θ∣D)和关于数据的后验密度 p ( x ∣ D ) p(\mathbf{x}\vert D) p(x∣D)。
p ( θ ∣ D ) = p ( D ∣ θ ) p ( θ ) ∫ p ( D ∣ θ ) p ( θ ) d θ , p ( D ∣ θ ) = P ( x 1 , x 2 , ⋯ , x n ∣ θ ) = ∏ i = 1 n p ( x i ∣ θ ) p ( x ∣ D ) = ∫ θ p ( x ∣ θ ) p ( θ ∣ D ) d θ p(\theta\vert D)=\frac{p(D\vert \theta)p(\theta)}{\int p(D\vert \theta)p(\theta)d\theta},\quad p(D\vert \theta)=P(x_{1},x_{2},\cdots,x_{n}\vert \theta)=\prod_{i = 1}^{n}p(x_{i}\vert \theta)\\ p(\mathbf{x}\vert D)=\int_{\theta}p(\mathbf{x}\vert \theta)p(\theta\vert D)d\theta p(θ∣D)=∫p(D∣θ)p(θ)dθp(D∣θ)p(θ),p(D∣θ)=P(x1,x2,⋯,xn∣θ)=i=1∏np(xi∣θ)p(x∣D)=∫θp(x∣θ)p(θ∣D)dθ
**遇到的困难: **
-
除了一些特殊的分布(共轭分布)之外,对于一般情形,积分很难计算:
p ( θ ∣ D ) = p ( D ∣ θ ) p ( θ ) ∫ p ( D ∣ θ ) p ( θ ) d θ , p ( x ∣ θ ) = ∫ θ p ( x ∣ θ ) p ( θ ∣ D ) d θ p(\theta\vert D)=\frac{p(D\vert \theta)p(\theta)}{\int p(D\vert \theta)p(\theta)d\theta},\quad p(\mathbf{x}\vert \theta)=\int_{\theta}p(\mathbf{x}\vert \theta)p(\theta\vert D)d\theta p(θ∣D)=∫p(D∣θ)p(θ)dθp(D∣θ)p(θ),p(x∣θ)=∫θp(x∣θ)p(θ∣D)dθ -
参数先验 p ( θ ) p(\theta) p(θ)怎么选取?对结果有何影响?
p(θ) 的选择对结果有直接影响。先验分布过于强烈可能会导致数据驱动的结果被先验主导,而过于弱的先验分布可能导致计算结果不稳定。
-
给定 D D D,我们真的能通过 p ( x ∣ D ) p(\mathbf{x}\vert D) p(x∣D)将 p ( x ) p(\mathbf{x}) p(x)估计得很好吗?或者说,随着 D D D中样本的增多, p ( x ∣ D ) p(\mathbf{x}\vert D) p(x∣D)收敛于 p ( x ) p(\mathbf{x}) p(x)吗?
根据贝叶斯学习的性质,当数据量 n → ∞ n \to \infty n→∞时,后验分布 p ( θ ∣ D ) p(\theta\vert D) p(θ∣D)会集中在最大似然估计值附近,即: p ( θ ∣ D ) → δ ( θ − θ MLE ) p(\theta\vert D) \to \delta(\theta-\theta_{\text{MLE}}) p(θ∣D)→δ(θ−θMLE)这意味着后验分布的方差会逐渐缩小,预测分布 p(\mathbf{x}∣D)p(\mathbf{x}\vert D) 也会趋近于真实分布。
**贝叶斯学习的迭代计算公式: **
-
记 D n = { x 1 , x 2 , ⋯ , x n } D^{n}=\{x_{1},x_{2},\cdots,x_{n}\} Dn={x1,x2,⋯,xn},由于样本是独立选样,则:
p ( D n ∣ θ ) = p ( x n ∣ θ ) p ( D n − 1 ∣ θ ) = p ( x n ∣ θ ) p ( x n − 1 ∣ θ ) p ( D n − 2 ∣ θ ) = ⋯ p(D^{n}\vert \theta)=p(x_{n}\vert \theta)p(D^{n - 1}\vert \theta)=p(x_{n}\vert \theta)p(x_{n - 1}\vert \theta)p(D^{n - 2}\vert \theta)=\cdots p(Dn∣θ)=p(xn∣θ)p(Dn−1∣θ)=p(xn∣θ)p(xn−1∣θ)p(Dn−2∣θ)=⋯ -
于是有如下迭代公式:
p ( θ ∣ D n ) = p ( D n ∣ θ ) p ( θ ) ∫ p ( D n ∣ θ ) p ( θ ) d θ = p ( x n ∣ θ ) p ( D n − 1 ∣ θ ) p ( θ ) ∫ p ( x n ∣ θ ) p ( D n − 1 ∣ θ ) p ( θ ) d θ = p ( x n ∣ θ ) ∫ p ( x n ∣ θ ) p ( D n − 1 ∣ θ ) p ( θ ) ∫ p ( D n − 1 ∣ θ ) p ( θ ) d θ d θ = p ( x n ∣ θ ) ∫ p ( x n ∣ θ ) p ( θ ∣ D n − 1 ) d θ = p ( x n ∣ θ ) p ( θ ∣ D n − 1 ) ∫ p ( x n ∣ θ ) p ( θ ∣ D n − 1 ) d θ p ( θ ∣ D n − 1 ) = p ( D n − 1 ∣ θ ) p ( θ ) ∫ p ( D n − 1 ∣ θ ) p ( θ ) d θ \begin{align} p(\theta|D^{n})&=\frac{p(D^{n}|\theta)p(\theta)}{\int p(D^{n}|\theta)p(\theta)d\theta}=\frac{p(x_{n}|\theta)p(D^{n - 1}|\theta)p(\theta)}{\int p(x_{n}|\theta)p(D^{n - 1}|\theta)p(\theta)d\theta} \\ &=\frac{p(x_{n}|\theta)}{\int p(x_{n}|\theta)\frac{p(D^{n - 1}|\theta)p(\theta)}{\int p(D^{n - 1}|\theta)p(\theta)d\theta}d\theta}=\frac{p(x_{n}|\theta)}{\int p(x_{n}|\theta)p(\theta|D^{n - 1})d\theta} \\ &=\frac{p(x_{n}|\theta)p(\theta|D^{n - 1})}{\int p(x_{n}|\theta)p(\theta|D^{n - 1})d\theta} \\ p(\theta|D^{n - 1})&=\frac{p(D^{n - 1}|\theta)p(\theta)}{\int p(D^{n - 1}|\theta)p(\theta)d\theta} \end{align} p(θ∣Dn)p(θ∣Dn−1)=∫p(Dn∣θ)p(θ)dθp(Dn∣θ)p(θ)=∫p(xn∣θ)p(Dn−1∣θ)p(θ)dθp(xn∣θ)p(Dn−1∣θ)p(θ)=∫p(xn∣θ)∫p(Dn−1∣θ)p(θ)dθp(Dn−1∣θ)p(θ)dθp(xn∣θ)=∫p(xn∣θ)p(θ∣Dn−1)dθp(xn∣θ)=∫p(xn∣θ)p(θ∣Dn−1)dθp(xn∣θ)p(θ∣Dn−1)=∫p(Dn−1∣θ)p(θ)dθp(Dn−1∣θ)p(θ)
为统一表示,记参数先验分布 p ( θ ) p(\theta) p(θ)为 p ( θ ∣ D 0 ) p(\theta\vert D^{0}) p(θ∣D0),表示没有样本情形下的参数概率密度估计。
记 D n = { x 1 , x 2 , ⋯ , x n } D^{n}=\{x_{1},x_{2},\cdots,x_{n}\} Dn={x1,x2,⋯,xn},随着样本的增加,可以得到一系列对参数概率密度函数的估计:
p ( θ ) , p ( θ ∣ x 1 ) , p ( θ ∣ x 1 , x 2 ) , ⋯ , p ( θ ∣ x 1 , x 2 , ⋯ , x n ) , ⋯ p(\theta),p(\theta\vert x_{1}),p(\theta\vert x_{1},x_{2}),\cdots,p(\theta\vert x_{1},x_{2},\cdots,x_{n}),\cdots p(θ),p(θ∣x1),p(θ∣x1,x2),⋯,p(θ∣x1,x2,⋯,xn),⋯
一般来说,随着样本数目的增加,上述序列函数逐渐尖锐,逐步趋向于以 θ \theta θ的真实值为中心的一个尖峰。当样本无穷多时,此时将收敛于一个脉冲函数(参数真值).
例:贝叶斯估计
假设一维随机变量 X X X服从 [ 0 , θ ] [0,\theta] [0,θ]上的均匀分布:
p ( x ∣ θ ) = U ( 0 , θ ) = { 1 θ , 0 ≤ x ≤ θ 0 , otherwise p(\mathbf{x}\vert \theta)=U(0,\theta)=\begin{cases} \frac 1 \theta, & 0\leq \mathbf{x}\leq\theta\\ 0, & \text{otherwise} \end{cases} p(x∣θ)=U(0,θ)={θ1,0,0≤x≤θotherwise
基于先验知识,我们知道 0 < θ < 10 0 < \theta < 10 0<θ<10,并希望利用迭代的贝叶斯方法从样本 { 4 , 7 , 2 , 8 } \{4,7,2,8\} {4,7,2,8}中估计参数 θ \theta θ。
迭代过程
在任何数据到达之前,我们有 p ( θ ∣ D 0 ) = p ( θ ) = U ( 0 , 10 ) p(\theta\vert D^{0}) = p(\theta)=U(0,10) p(θ∣D0)=p(θ)=U(0,10)。
当第一个数据点 x 1 = 4 x_{1}=4 x1=4到达时,则:
p ( θ ∣ D 1 ) = p ( x 1 ∣ θ ) p ( θ ∣ D 0 ) ∫ p ( x 1 ∣ θ ) p ( θ ∣ D 0 ) d θ = α p ( x 1 ∣ θ ) p ( θ ∣ D 0 ) = α 1 θ 1 10 p ( θ ∣ D 1 ) ∝ { 1 / θ , 4 ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{1})=\frac{p(x_{1}\vert \theta)p(\theta\vert D^{0})}{\int p(x_{1}\vert \theta)p(\theta\vert D^{0})d\theta}=\alpha p(x_{1}\vert \theta)p(\theta\vert D^{0})=\alpha\frac{1}{\theta}\frac{1}{10}\\ p(\theta\vert D^{1})\propto\begin{cases} 1/\theta, & 4\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣D1)=∫p(x1∣θ)p(θ∣D0)dθp(x1∣θ)p(θ∣D0)=αp(x1∣θ)p(θ∣D0)=αθ1101p(θ∣D1)∝{1/θ,0,4≤θ≤10otherwise
其中忽略了归一化。因为 θ \theta θ一定要大于等于观测值 x \mathbf x x。
当第二个数据点 x 2 = 7 x_{2}=7 x2=7到达时,我们有:
p ( θ ∣ D 2 ) ∝ p ( x 2 ∣ θ ) p ( θ ∣ D 1 ) = 1 θ 2 , p ( θ ∣ D 2 ) ∝ { 1 / θ 2 , 7 ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{2})\propto p(x_{2}\vert \theta)p(\theta\vert D^{1})=\frac{1}{\theta^{2}},\quad p(\theta\vert D^{2})\propto\begin{cases} 1/\theta^{2}, & 7\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣D2)∝p(x2∣θ)p(θ∣D1)=θ21,p(θ∣D2)∝{1/θ2,0,7≤θ≤10otherwise
当第三个数据点 x 3 = 2 x_{3}=2 x3=2到达时,我们有:
p ( θ ∣ D 3 ) ∝ p ( x 3 ∣ θ ) p ( θ ∣ D 2 ) = 1 θ 3 , p ( θ ∣ D 3 ) ∝ { 1 / θ 3 , 7 ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{3})\propto p(x_{3}\vert \theta)p(\theta\vert D^{2})=\frac{1}{\theta^{3}},\quad p(\theta\vert D^{3})\propto\begin{cases} 1/\theta^{3}, & 7\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣D3)∝p(x3∣θ)p(θ∣D2)=θ31,p(θ∣D3)∝{1/θ3,0,7≤θ≤10otherwise
当第四个数据点 x 4 = 8 x_{4}=8 x4=8到达时,我们有:
p ( θ ∣ D 4 ) ∝ p ( x 4 ∣ θ ) p ( θ ∣ D 3 ) = 1 θ 4 , p ( θ ∣ D 4 ) ∝ { 1 / θ 4 , 8 ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{4})\propto p(x_{4}\vert \theta)p(\theta\vert D^{3})=\frac{1}{\theta^{4}},\quad p(\theta\vert D^{4})\propto\begin{cases} 1/\theta^{4}, & 8\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣D4)∝p(x4∣θ)p(θ∣D3)=θ41,p(θ∣D4)∝{1/θ4,0,8≤θ≤10otherwise
当数据点 x n x_{n} xn到达时,我们有:
p ( θ ∣ D n ) ∝ p ( x n ∣ θ ) p ( θ ∣ D n − 1 ) = 1 θ n , p ( θ ∣ D n ) ∝ { 1 / θ n , max { D n } ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{n})\propto p(x_{n}\vert \theta)p(\theta\vert D^{n - 1})=\frac{1}{\theta^{n}},\quad p(\theta\vert D^{n})\propto\begin{cases} 1/\theta^{n}, & \max\{D^{n}\}\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣Dn)∝p(xn∣θ)p(θ∣Dn−1)=θn1,p(θ∣Dn)∝{1/θn,0,max{Dn}≤θ≤10otherwise
关于参数 θ \theta θ的分布的调整过程:
参数 θ \theta θ的最后估计结果:
p ( θ ∣ D 4 ) = { 3147.5 / θ 4 , 8 ≤ θ ≤ 10 0 , otherwise p(\theta\vert D^{4})=\begin{cases} 3147.5/\theta^{4}, & 8\leq\theta\leq10\\ 0, & \text{otherwise} \end{cases} p(θ∣D4)={3147.5/θ4,0,8≤θ≤10otherwise
最后的分布:
p ( x ∣ D ) = ∫ θ p ( x ∣ θ ) p ( θ ∣ D ) d θ p ( x ∣ D ) = { 0.1134 , 0 ≤ x ≤ 8 786.875 ( 1 x 4 − 1 1 0 4 ) , 8 < x ≤ 10 0 , otherwise p(\mathbf{x}\vert D)=\int_{\theta}p(\mathbf{x}\vert \theta)p(\theta\vert D)d\theta\\ p(\mathbf{x}\vert D)=\begin{cases} 0.1134, & 0\leq \mathbf{x}\leq8\\ 786.875\left(\frac{1}{\mathbf{x}^{4}}-\frac{1}{10^{4}}\right), & 8 < \mathbf{x}\leq10\\ 0, & \text{otherwise} \end{cases} p(x∣D)=∫θp(x∣θ)p(θ∣D)dθp(x∣D)=⎩ ⎨ ⎧0.1134,786.875(x41−1041),0,0≤x≤88<x≤10otherwise
最大似然估计做法
对于数据,其似然函数为:
l ( θ ) = p ( x 1 , x 2 , x 3 , x 4 ∣ θ ) = 1 θ 4 l(\theta)=p(x_{1},x_{2},x_{3},x_{4}\vert \theta)=\frac{1}{\theta^{4}} l(θ)=p(x1,x2,x3,x4∣θ)=θ41
显然, l ( θ ) l(\theta) l(θ)单调递减, θ \theta θ越小, l ( θ ) l(\theta) l(θ)越大。但同时, θ \theta θ一定要大于等于最大观测数据。在现有样本 { 4 , 7 , 2 , 8 } \{4,7,2,8\} {4,7,2,8}中,使似然函数 l ( θ ) l(\theta) l(θ)取值最大的 θ \theta θ只能等于8。所以由于是均匀分布,所以 θ \theta θ的最大似然估计值为8。
图中展示了最大似然估计(ML)和贝叶斯估计(Bayes)在样本后验分布上的区别。文中提到最大似然方法估计的是 θ \theta θ空间中的一个点,而贝叶斯方法估计的是一个分布。