本课程来自深度之眼,部分截图来自课程视频以及李航老师的《统计学习方法》第二版。
公式输入请参考:在线Latex公式
抛硬币
先要想明白的是,硬币出现某一个面的几率不是0.5,那个是理论上的几率,实际的硬币每个重量,丢的人都会影响某个面出现的几率。我们假设在掷硬币实验中估计出现正面向上的概率为
θ
\theta
θ,反面向上的概率则为
1
−
θ
1-\theta
1−θ
抛硬币这个事情可以表示为:
x
i
=
{
1
, 正
0
, 负
x
i
∼
B
(
1
,
θ
)
x_i=\begin{cases} &1 \text{, 正 } \\ & 0\text{, 负} \end{cases}\quad x_i\sim B(1,\theta)
xi={1, 正 0, 负xi∼B(1,θ)
把上面的表示写成一个式子,即概率函数可以表示为:
P
(
X
=
x
)
=
θ
x
(
1
−
θ
)
1
−
x
P(X=x)=\theta^x(1-\theta)^{1-x}
P(X=x)=θx(1−θ)1−x
写开后和上面的效果是一样的。
{
P
(
X
=
0
)
=
θ
0
(
1
−
θ
)
=
1
−
θ
P
(
X
=
1
)
=
θ
1
(
1
−
θ
)
0
=
θ
\begin{cases} &P(X=0)=\theta^0(1-\theta)=1-\theta\\ & P(X=1)=\theta^1(1-\theta)^0 =\theta \end{cases}
{P(X=0)=θ0(1−θ)=1−θP(X=1)=θ1(1−θ)0=θ
例子
结合具体的数字,假如丢五次,结果是正反反正正(10011),那么
P
=
θ
(
1
−
θ
)
(
1
−
θ
)
θ
θ
=
θ
3
(
1
−
θ
)
2
P=\theta(1-\theta)(1-\theta)\theta\theta=\theta^3(1-\theta)^2
P=θ(1−θ)(1−θ)θθ=θ3(1−θ)2
这里再给出似然函数的定义:
L
(
θ
)
=
P
(
X
1
=
x
1
∣
θ
)
⋯
P
(
X
n
=
x
n
∣
θ
)
=
∏
i
=
1
n
θ
x
i
(
1
−
θ
)
1
−
x
i
L(\theta)=P(X_1=x_1|\theta)\cdots P(X_n=x_n|\theta)\\ =\prod_{i=1}^n \theta^{x_i}(1-\theta)^{1-x_i}
L(θ)=P(X1=x1∣θ)⋯P(Xn=xn∣θ)=i=1∏nθxi(1−θ)1−xi
那么上面丢五次的似然函数计算结果为:
L
(
θ
)
=
P
(
X
1
=
1
∣
θ
)
P
(
X
2
=
0
∣
θ
)
P
(
X
3
=
0
∣
θ
)
P
(
X
4
=
1
∣
θ
)
P
(
X
5
=
1
∣
θ
)
=
θ
3
(
1
−
θ
)
2
L(\theta)=P(X_1=1|\theta)P(X_2=0|\theta)P(X_3=0|\theta)P(X_4=1|\theta)P(X_5=1|\theta)\\=\theta^3(1-\theta)^2
L(θ)=P(X1=1∣θ)P(X2=0∣θ)P(X3=0∣θ)P(X4=1∣θ)P(X5=1∣θ)=θ3(1−θ)2
MLE
接下来要最大化似然函数,即
max
L
(
θ
)
\max L(\theta)
maxL(θ),由于似然函数)
L
(
θ
)
L(\theta)
L(θ)是多个概率的连乘,每个概率都是小于1的,那么连乘多次后计算机精度无法表达很小很小的数字,会产生下溢出,因此要对似然函数求
ln
\ln
ln将很小的值映射到一个大的值上(另外一个原因是可以把连乘变连加:
ln
x
y
=
ln
x
+
ln
y
\ln xy=\ln x+\ln y
lnxy=lnx+lny)。而且
L
(
θ
)
L(\theta)
L(θ)和
ln
L
(
θ
)
\ln L(\theta)
lnL(θ)都是递增的,因此
max
L
(
θ
)
\max L(\theta)
maxL(θ)和
max
ln
L
(
θ
)
\max \ln L(\theta)
maxlnL(θ)等价,因此似然函数可以写为:
ln
L
(
θ
)
=
ln
∏
i
=
1
n
θ
x
i
(
1
−
θ
)
1
−
x
i
=
∑
i
=
1
n
[
ln
θ
x
i
+
ln
(
1
−
θ
)
1
−
x
i
]
=
∑
i
=
1
n
ln
θ
x
i
+
∑
i
=
1
n
ln
(
1
−
θ
)
1
−
x
i
=
∑
i
=
1
n
x
i
ln
θ
+
∑
i
=
1
n
(
1
−
x
i
)
ln
(
1
−
θ
)
=
∑
i
=
1
n
x
i
ln
θ
+
(
n
−
∑
i
=
1
n
x
i
)
ln
(
1
−
θ
)
)
\begin{aligned} \ln L(\theta)& =\ln \prod_{i=1}^n \theta^{x_i}(1-\theta)^{1-x_i}\\ &=\sum_{i=1}^n[\ln \theta^{x_i}+\ln (1-\theta)^{1-x_i}] \\ & = \sum_{i=1}^n\ln \theta^{x_i}+\sum_{i=1}^n\ln (1-\theta)^{1-x_i}\\ &= \sum_{i=1}^nx_i\ln \theta+\sum_{i=1}^n(1-x_i)\ln (1-\theta)\\ &= \sum_{i=1}^nx_i\ln \theta+(n-\sum_{i=1}^nx_i)\ln (1-\theta)) \end{aligned}
lnL(θ)=lni=1∏nθxi(1−θ)1−xi=i=1∑n[lnθxi+ln(1−θ)1−xi]=i=1∑nlnθxi+i=1∑nln(1−θ)1−xi=i=1∑nxilnθ+i=1∑n(1−xi)ln(1−θ)=i=1∑nxilnθ+(n−i=1∑nxi)ln(1−θ))
然后要对变形后似然函数求最大,由于求极值就是一阶导数为0的位置,因此要对上面的式子求导数(这里用到
(
ln
θ
)
′
=
1
θ
(\ln \theta)'=\cfrac{1}{\theta}
(lnθ)′=θ1):
∂
ln
L
(
θ
)
∂
θ
=
∑
i
=
1
n
x
i
1
θ
+
[
(
n
−
∑
i
=
1
n
x
i
)
1
1
−
θ
]
(
−
1
)
=
0
\cfrac{\partial\ln L(\theta)}{\partial \theta}= \sum_{i=1}^nx_i\cfrac{1}{\theta}+\left [(n-\sum_{i=1}^nx_i)\cfrac{1}{1-\theta}\right ](-1)=0
∂θ∂lnL(θ)=i=1∑nxiθ1+[(n−i=1∑nxi)1−θ1](−1)=0
∑
i
=
1
n
x
i
θ
=
n
−
∑
i
=
1
n
x
i
1
−
θ
\cfrac{ \sum_{i=1}^nx_i}{\theta}=\cfrac{n-\sum_{i=1}^nx_i}{1-\theta}
θ∑i=1nxi=1−θn−∑i=1nxi
(
1
−
θ
)
∑
i
=
1
n
x
i
=
θ
(
n
−
∑
i
=
1
n
x
i
)
(1-\theta)\sum_{i=1}^nx_i=\theta(n-\sum_{i=1}^nx_i)
(1−θ)i=1∑nxi=θ(n−i=1∑nxi)
∑
i
=
1
n
x
i
−
θ
∑
i
=
1
n
x
i
=
n
θ
−
θ
∑
i
=
1
n
x
i
\sum_{i=1}^nx_i-\theta\sum_{i=1}^nx_i=n\theta-\theta\sum_{i=1}^nx_i
i=1∑nxi−θi=1∑nxi=nθ−θi=1∑nxi
n
θ
=
∑
i
=
1
n
x
i
n\theta=\sum_{i=1}^nx_i
nθ=i=1∑nxi
最后得到参数的估计值为:
θ
^
=
∑
i
=
1
n
x
i
n
\hat \theta=\cfrac{\sum_{i=1}^nx_i}{n}
θ^=n∑i=1nxi
用上面的例子来解释一下这个式子,当我们把
θ
\theta
θ设成这个值以后,连续丢五次硬币出现10011这个序列的概率是最大的。
一个模型(
y
=
f
(
x
∣
θ
)
y=f(x|\theta)
y=f(x∣θ))当中有很多的参数,每次吃一个输入
x
x
x,可以观察到模型的输出
y
y
y,对于丢硬币这个事情,输入就是丢一次硬币,输出就是看硬币的正反面。现在我们要根据输入和输出来估计在怎样的参数条件下,我们得到的输出可能性最高。
总结
当一系列事实给定后,我们可以通过已经得知的事情发生情况去反推隐含的参数,使得在使用这些参数的情况下,事情按事实发生的概率最大。
本文通过抛硬币实验介绍最大似然估计(MLE)的基本原理。详细解释了如何利用已知观测结果反推最佳参数估计值的过程,并给出了具体实例。
349

被折叠的 条评论
为什么被折叠?



