李航老师《统计学习方法》第二版第一章答案详解

1、说明伯努利模型的极大似然估计和以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为0与1的随机变量上的概率分布。假设观测到伯努利模型n次独立的数据生成结果,其中k次的结果为1,这时可以用极大似然估计或贝叶斯估计来估计结果为1的概率。

解:
模型三要素是

模型 策略 算法
极大似然估计 概率模型 经验风险最小化 数值解
贝叶斯估计 概率模型 结构风险最小化 解析解

设 x 1 , x 2 , . . . , x n x_{1}, x_{2},..., x_{n} x1​,x2​,...,xn​为n次独立实验产生的结果。

1.2、极大似然估计来估计结果为1的概率

设 P ( x = 1 ) = θ P(x = 1) = \theta P(x=1)=θ,因为伯努利分布是二项分布,所以 P ( x = 0 ) = 1 − θ P(x = 0)=1-\theta P(x=0)=1−θ
那我可以得到似然函数是
L ( x 1 , x 2 , . . . , x n ; θ ) = θ k ( 1 − θ ) n − k (1) L(x_{1}, x_{2},..., x_{n};\theta) = \theta ^{k}(1-\theta )^{n-k}\tag{1} L(x1​,x2​,...,xn​;θ)=θk(1−θ)n−k(1)
公式(1)的解释:其实这个公式的成立应该是使用概率的链式法则来做,但是题干给出了数据是独立的,因而可以直接简化问题,使用一个幂次就可以解决问题。但是对于幂函数来说,求解很是不方便,不容易计算。于是我们得到下面的对数似然函数,将幂次消掉。
由公式(1),因为当底数大于1,对数函数也是增函数,那么我们可以写出下面的对数似然函数:
L n L ( x 1 , x 2 , . . . , x n ; θ ) = L n θ k ( 1 − θ ) n − k = k L n ( θ ) ( n − k ) L n ( 1 − θ ) (2) Ln L(x_{1}, x_{2},..., x_{n};\theta) = Ln \theta ^{k}(1-\theta )^{n-k} = kLn(\theta )(n-k)Ln(1-\theta )\tag{2} LnL(x1​,x2​,...,xn​;θ)=Lnθk(1−θ)n−k=kLn(θ)(n−k)Ln(1−θ)(2)
因为我们要极大化这个函数,下面对 θ \theta θ求导数:
L n L ( x 1 , x 2 , . . . , x n ; θ ) ′ = k θ − n − k 1 − θ (3) {Ln L(x_{1}, x_{2},..., x_{n};\theta)}' = \frac{k}{\theta } - \frac{n-k}{1-\theta } \tag{3} LnL(x1​,x2​,...,xn​;θ)′=θk​−1−θn−k​(3)
因为是可导函数,那么在极大值出一定有:
L n L ( x 1 , x 2 , . . . , x n ; θ ) ′ = 0 (4) {Ln L(x_{1}, x_{2},..., x_{n};\theta)}' = 0\tag4 LnL(x1​,x2​,...,xn​;θ)′=0(4)
所以有 k θ − n − k 1 − θ = 0 (5) \frac{k}{\theta } - \frac{n-k}{1-\theta }= 0\tag5 θk​−1−θn−k​=0(5)
将公式(5)整理便有
n θ = k (6) n\theta = k\tag6 nθ=k(6)
故我们有 θ = k n \theta = \frac{k}{n} θ=nk​

1.2、贝叶斯估计来估计结果为1的概率

(1)我们还是假设 P ( x = 1 ) = θ P(x = 1) = \theta P(x=1)=θ, 并且此时认为 θ \theta θ是服从均匀分布的随机变量,因为 θ ∈ [ 0 , 1 ] \theta \in [0,1] θ∈[0,1],所以可以计算出 θ \theta θ的概率密度函数为 f ( θ ) = 1 f(\theta) = 1 f(θ)=1
根据贝叶斯定理,我们可以得到后验概率:
P ( θ ∣ D ) = P ( θ ) P ( D ∣ θ ) P ( D ) (7) P(\theta |D) = \frac{P(\theta )P(D|\theta )}{P(D)} \tag7 P(θ∣D)=P(D)P(θ)P(D∣θ)​(7)
公式(7)解释:其中 P ( θ ) P(\theta) P(θ)为先验概率, P ( D ∣ θ ) P(D|\theta) P(D∣θ)为似然函数,其中D表示我们试验得到的数据,对于该题的例子就有 D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2},..., x_{n}\} D={x1​,x2​,...,xn​}
在模型估计时,我们需要对整个后验概率分布 P ( θ ∣ D ) P(\theta|D) P(θ∣D)进行估计,但是如果需要给出一个模型是,我们就是采用后验概率最大的模型
还有一点特别关键,如果先验分布是连续的,那么公式(7)变为
P ( θ ∣ D ) = f ( θ ) P ( D ∣ θ ) P ( D ) (8) P(\theta |D) = \frac{f(\theta )P(D|\theta )}{P(D)} \tag8 P(θ∣D)=P(D)f(θ)P(D∣θ)​(8)
其中 f ( θ ) f(\theta) f(θ)为 θ \theta θ的概率密度函数,如果是离散的,我们还是使用公式(7)来做。
因为均匀分布是连续的,所以有
θ = a r g m a x θ P ( θ ∣ x 1 , x 2 , . . . , x n ) = a r g m a x θ P ( θ ) P ( x 1 , x 2 , . . . , x n ∣ θ ) P ( x 1 , x 2 , . . . , x n ) ∝ a r g m a x θ P ( θ ) P ( x 1 , x 2 , . . . , x n ∣ θ ) = a r g m a x θ P ( x 1 , x 2 , . . . , x n ∣ θ ) = a r g m a x θ θ k ( 1 − θ ) n − k (9) \theta = \underset{\theta }{argmax }\quad P(\theta |x_{1}, x_{2},..., x_{n}) \\=\underset{\theta }{argmax }\quad \frac{P(\theta )P(x_{1}, x_{2},..., x_{n}|\theta )}{P(x_{1}, x_{2},..., x_{n})} \\\propto \underset{\theta }{argmax }\quad P(\theta )P(x_{1}, x_{2},..., x_{n}|\theta ) \\ = \underset{\theta }{argmax } \quad P(x_{1}, x_{2},..., x_{n}|\theta ) \\= \underset {\theta }{argmax }\quad \theta ^{k}(1-\theta )^{n-k}\tag9 θ=θargmax​P(θ∣x1​,x2​,...,xn​)=θargmax​P(x1​,x2​,...,xn​)P(θ)P(x1​,x2​,...,xn​∣θ)​∝θargmax​P(θ)P(x1​,x2​,...,xn​∣θ)=θargmax​P(x1​,x2​,...,xn​∣θ)=θargmax​θk(1−θ)n−k(9)
公式(9)的解释:第一个等号的成立是因为使用的方法是最大后验概率;第二个等号是使用了贝叶斯公式;第三个成立是因为分母的 P ( x 1 , x 2 , . . . , x n ) P(x_{1}, x_{2},..., x_{n}) P(x1​,x2​,...,xn​)和参数 θ \theta θ是无关的,因而可以省略;第四个等号是因为均匀分布的概率密度函数恒为1,所以省略了,第五个等号就是似然函数啦,还可以转化为对数进行求解,和上面的计算是一样的。

下面我们换一个先验分布以加强对这个例子的理解
假设 θ \theta θ 符合的先验分布是均值为0.5,方差为0.1的高斯分布:
θ ∼ N ( 0.5 , 0.1 ) (10) \theta \sim N(0.5, 0.1) \tag{10} θ∼N(0.5,0.1)(10)
设 θ \theta θ的概率密度函数是:
f ( θ ) = 1 10 2 π e − 50 ( θ − 0.5 ) 2 (11) f(\theta)= \frac{1}{10\sqrt{2\pi } } e^{-50(\theta -0.5)^2}\tag{11} f(θ)=102π ​1​e−50(θ−0.5)2(11)
根据公式(9)的第三行,我们可以得到
P ( θ ) P ( x 1 , x 2 , . . . , x n ∣ θ ) = f ( θ ) P ( x 1 , x 2 , . . . , x n ∣ θ ) = θ k ( 1 − θ ) n − k ∗ 1 10 2 π e − 50 ( θ − 0.5 ) 2 (12) P(\theta )P(x_{1}, x_{2},..., x_{n}|\theta ) \\=f(\theta)P(x_{1}, x_{2},..., x_{n}|\theta )\\= \theta ^{k}(1-\theta )^{n-k}*\frac{1}{10\sqrt{2\pi } } e^{-50(\theta -0.5)^2}\tag{12} P(θ)P(x1​,x2​,...,xn​∣θ)=f(θ)P(x1​,x2​,...,xn​∣θ)=θk(1−θ)n−k∗102π ​1​e−50(θ−0.5)2(12)
将公式(12)转化为对数形式方便计算,于是得到:
L n   θ k ( 1 − θ ) n − k ∗ 1 10 2 π e − 50 ( θ − 0.5 ) 2 = k L n   θ + ( n − k ) L n   ( 1 − θ ) − 50 ( θ − 0.5 ) 2 (13) Ln\ \theta ^{k}(1-\theta )^{n-k}*\frac{1}{10\sqrt{2\pi } } e^{-50(\theta -0.5)^2}\\= kLn\ \theta +(n-k)Ln\ (1-\theta )-50(\theta -0.5)^2 \tag{13} Ln θk(1−θ)n−k∗102π ​1​e−50(θ−0.5)2=kLn θ+(n−k)Ln (1−θ)−50(θ−0.5)2(13)
对公式(13)求导数,然后求出驻点即可,还可以再验证一下是否是唯一的,不是唯一的话,然后再取出最大的即可。

2、通过经验风险最小化推导极大似然估计。证明模型是条件概率分布,当损失函数是对数损失时,经验风险最小化等价于极大似然估计。

答:当模型是条件概率分布且损失函数是对数损失时,最小化结构风险是:
m i n   R e m p ( P ( Y ∣ X ) ) = 1 N ∑ i = 1 N − L n   P ( Y i ∣ X i , θ ) (1) min \ R_{emp}(P(Y|X)) = \frac{1}{N}\sum_{i=1}^{N}-Ln\ P(Y_{i}|X_{i},\theta )\tag{1} min Remp​(P(Y∣X))=N1​i=1∑N​−Ln P(Yi​∣Xi​,θ)(1)
我们公式(1)里面的极小化转化为极大化,于是有
m a x   R e m p ( P ( Y ∣ X ) ) = 1 N ∑ i = 1 N L n   P ( Y i ∣ X i , θ ) = 1 N L n   ∏ i = 1 N P ( Y i ∣ X i , θ ) (2) max \ R_{emp}(P(Y|X)) = \frac{1}{N}\sum_{i=1}^{N}Ln\ P(Y_{i}|X_{i},\theta )\\=\frac{1}{N}Ln\ \prod_{i=1}^{N}P(Y_{i}|X_{i},\theta ) \tag{2} max Remp​(P(Y∣X))=N1​i=1∑N​Ln P(Yi​∣Xi​,θ)=N1​Ln i=1∏N​P(Yi​∣Xi​,θ)(2)
因为以 e e e为底数的对数函数是增函数,那么就相当于极大化下面的似然函数:
L = ∏ i = 1 N P ( Y i ∣ X i , θ ) (3) L= \prod_{i=1}^{N}P(Y_{i}|X_{i},\theta ) \tag{3} L=i=1∏N​P(Yi​∣Xi​,θ)(3)

将似然函数取对数变为对数似然方程,再利用当底数 e > 1 e>1 e>1时,对数函数是增函数,就可以完成由极大似然估计推导最小化经验风险。

上一篇:树莓派 python 笔记


下一篇:oracle 日常维护常用命令