高斯分布及其极大似然估计
高斯分布
一维高斯分布
一维高斯分布的概率密度函数为:
N(μ,σ2)=12πσexp(−(x−μ)22σ2)N(\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x-\mu)^2}{2\sigma^2}) N(μ,σ2)=2πσ1exp(−2σ2(x−μ)2)
多维高斯分布
DDD 维高斯分布的概率密度函数为:
N(μ,Σ)=1(2πD2∣Σ∣12)exp(−(x−μ)2Σ−1(x−μ)2)N(\mu,\Sigma)=\frac{1}{(2\pi^{\frac{D}{2}}|\Sigma|^{\frac{1}{2}})}\exp(-\frac{(x-\mu)^2\Sigma^{-1}(x-\mu)}{2}) N(μ,Σ)=(2π2D∣Σ∣21)1exp(−2(x−μ)2Σ−1(x−μ))
极大似然估计
贝叶斯公式
贝叶斯公式如下:
P(θ∣X)=P(X∣θ)P(θ)P(X)P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)} P(θ∣X)=P(X)P(X∣θ)P(θ)
其中,P(X∣θ)P(X|\theta)P(X∣θ) 称为后验概率,P(θ)P(\theta)P(θ) 称为先验概率,P(θ∣X)P(\theta|X)P(θ∣X) 成为似然函数。所谓极大似然估计,即使要让似然函数 P(θ∣X)P(\theta|X)P(θ∣X) 取到最大,估计此时参数 θ\thetaθ 的值。详见:先验、后验、似然。
高斯分布的极大似然估计
假设我们有 NNN 个观测数据 X=(x1,x2,…,xN)X=(x_1,x_2,\dots,x_N)X=(x1,x2,…,xN) ,每个样本点是 DDD 维的,则我们的数据是一个 N×DN\times DN×D 的矩阵。而我们要估计的参数就是多维高斯分布中的均值 μ\muμ 和协方差矩阵 Σ\SigmaΣ 。
这里我们以一维高斯分布为例进行推导。即每个样本点 xix_ixi 是一维的,而我们要估计的是一维高斯分布的均值 μ\muμ 和方差 σ2\sigma^2σ2 ,即 θ=(μ,σ2)\theta=(\mu,\sigma^2)θ=(μ,σ2) 。
下面我们用极大似然估计来估计这两个参数:
θ^MLE=argmaxθL(θ)\hat{\theta}_{MLE}=\arg\max_\theta\mathcal{L(\theta)} θ^MLE=argθmaxL(θ)
为了方便计算,我们通常优化对数似然,有:
L(θ)=logP(X∣θ)=log∏i=1NP(xi∣θ)=∑i=1NlogP(xi∣θ)=∑i=1Nlog12πσexp((xi−μ)22σ2)=∑i=1N[log12π+log1σ−(xi−μ)22σ2]\begin{align} \mathcal{L}(\theta)&=\log P(X|\theta)\\ &=\log \prod_{i=1}^NP(x_i|\theta)\\ &=\sum_{i=1}^N\log P(x_i|\theta)\\ &=\sum_{i=1}^N\log \frac{1}{\sqrt{2\pi}\sigma}\exp(\frac{(x_i-\mu)^2}{2\sigma^2})\\ &=\sum_{i=1}^N[\log \frac{1}{\sqrt{2\pi}}+\log \frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}]\\ \end{align} L(θ)=logP(X∣θ)=logi=1∏NP(xi∣θ)=i=1∑NlogP(xi∣θ)=i=1∑Nlog2πσ1exp(2σ2(xi−μ)2)=i=1∑N[log2π1+logσ1−2σ2(xi−μ)2]
并且可以丢掉其中的常数项,则最终的优化目标:
θ^MLE=argmaxθ∑i=1N[log1σ−(xi−μ)22σ2]\hat{\theta}_{MLE}=\arg\max_\theta\sum_{i=1}^N[\log \frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}]\\ θ^MLE=argθmaxi=1∑N[logσ1−2σ2(xi−μ)2]
接下来我们分别对 μ\muμ 和 σ2\sigma^2σ2 求偏导,并令其等于零,得到估计值。
对于 μ\muμ :
μ^MLE=argmaxμ∑i=1N[−(xi−μ)22σ2]=argminμ∑i=1N(xi−μ)2\begin{align} \hat{\mu}_{MLE}&=\arg\max_{\mu}{\sum_{i=1}^N[-\frac{(x_i-\mu)^2}{2\sigma^2}]}\\ &=\arg\min_\mu\sum_{i=1}^N(x_i-\mu)^2 \end{align} μ^MLE=argμmaxi=1∑N[−2σ2(xi−μ)2]=argμmini=1∑N(xi−μ)2
求偏导:
∂∑i=1N(xi−μ)2∂μ=∑i=1N−2×(xi−μ)≜0\frac{\partial\sum_{i=1}^N(x_i-\mu)^2}{\partial\mu}=\sum_{i=1}^N-2\times(x_i-\mu)\triangleq0 ∂μ∂∑i=1N(xi−μ)2=i=1∑N−2×(xi−μ)≜0
得到:
μ^MLE=1N∑i=1Nxi\hat{\mu}_{MLE}=\frac{1}{N}\sum_{i=1}^Nx_i μ^MLE=N1i=1∑Nxi
对于 σ2\sigma^2σ2
σ2^=argmaxσ2∑i=1N[log1σ−(xi−μ)22σ2]=argmaxσ2Lσ2\hat{\sigma^2}=\arg\max_{\sigma^2}\sum_{i=1}^N[\log \frac{1}{\sigma}-\frac{(x_i-\mu)^2}{2\sigma^2}]=\arg\max_{\sigma^2}\mathcal{L}_{\sigma^2} σ2^=argσ2maxi=1∑N[logσ1−2σ2(xi−μ)2]=argσ2maxLσ2
求偏导:
∂Lσ2∂σ=∑i=1N[−1σ−12(xi−μ)×(−2)]≜0∑i=1N[−σ2+(xi−μ)2]≜0∑i=1Nσ2=∑i=1N(xi−μ)2\frac{\partial{\mathcal{L}_{\sigma^2}}}{\partial{\sigma}}=\sum_{i=1}^N[-\frac{1}{\sigma}-\frac{1}{2}(x_i-\mu)\times(-2)]\triangleq0\\ \sum_{i=1}^N[-\sigma^2+(x_i-\mu)^2]\triangleq0\\ \sum_{i=1}^N\sigma^2=\sum_{i=1}^N(x_i-\mu)^2 ∂σ∂Lσ2=i=1∑N[−σ1−21(xi−μ)×(−2)]≜0i=1∑N[−σ2+(xi−μ)2]≜0i=1∑Nσ2=i=1∑N(xi−μ)2
得到:
σ2^MLE=1N∑i=1N(xi−μ^MLE)2\hat{\sigma^2}_{MLE}=\frac{1}{N}\sum_{i=1}^N(x_i-\hat{\mu}_{MLE})^2 σ2^MLE=N1i=1∑N(xi−μ^MLE)2
有偏估计和无偏估计
有偏估计(biased estimate)是指由样本值求得的估计值与待估参数的真值之间有系统误差,其期望值不是待估参数的真值。
在统计学中,估计量的偏差(或偏差函数)是此估计量的期望值与估计参数的真值之差。偏差为零的估计量或决策规则称为无偏的。否则该估计量是有偏的。在统计学中,“偏差”是一个函数的客观陈述。
我们分别计算 μ^MLE\hat{\mu}_{MLE}μ^MLE 和 σ2^MLE\hat{\sigma^2}_{MLE}σ2^MLE ,来考察这两个估计值是否是无偏的。
对于 μ^MLE\hat{\mu}_{MLE}μ^MLE
E[μ^MLE]=E[1N∑i=1Nxi]=1N∑i=1NExi=μE[\hat{\mu}_{MLE}]=E[\frac{1}{N}\sum_{i=1}^Nx_i]=\frac{1}{N}\sum_{i=1}^NEx_i=\mu E[μ^MLE]=E[N1i=1∑Nxi]=N1i=1∑NExi=μ
可以看到,μ^MLE\hat{\mu}_{MLE}μ^MLE 的期望就等于真值 μ\muμ ,所以它是无偏估计。
对于 σ2^MLE\hat{\sigma^2}_{MLE}σ2^MLE
σ2^MLE=1N∑i=1N(xi−μ^MLE)2=1N∑i=1N(xi2−2×xi×μ^MLE+μ^MLE2)=1N∑i=1N(xi2−2μ^MLE2+μ^MLE2)=1N∑i=1N(xi2−μ^MLE2)\begin{align} \hat{\sigma^2}_{MLE}&=\frac{1}{N}\sum_{i=1}^N(x_i-\hat{\mu}_{MLE})^2\\ &=\frac{1}{N}\sum_{i=1}^N(x_i^2-2\times x_i\times \hat{\mu}_{MLE}+\hat{\mu}_{MLE}^2)\\ &=\frac{1}{N}\sum_{i=1}^N(x_i^2-2\hat{\mu}_{MLE}^2+\hat{\mu}_{MLE}^2)\\ &=\frac{1}{N}\sum_{i=1}^N(x_i^2-\hat{\mu}_{MLE}^2) \end{align} σ2^MLE=N1i=1∑N(xi−μ^MLE)2=N1i=1∑N(xi2−2×xi×μ^MLE+μ^MLE2)=N1i=1∑N(xi2−2μ^MLE2+μ^MLE2)=N1i=1∑N(xi2−μ^MLE2)
求期望:
E[σ2^MLE]=E[1N∑i=1N(xi2−μ^MLE2)]=E[1N∑i=1N((xi2−μ2)−(μ^MLE2−μ2))]=E[1N∑i=1N(xi2−μ2)]−E[1N∑i=1N(μ^MLE2−μ2)]=1N∑i=1NE(xi2−μ2)−1N∑i=1NE(μ^MLE2−μ2)=1N∑i=1N[E(xi2)−E(μ2)]−1N∑i=1NE(μ^MLE2)−E(μ2)=1N∑i=1N[E(xi2)−μ2]−1N∑i=1N[E(μ^MLE2)−μ2]=1N∑i=1N[E(xi2)−(Exi)2]−1N∑i=1N[E(μ^MLE2)−Eμ^MLE2]=1N∑i=1NVar(xi)−1N∑i=1NVar(μ^MLE)=1N∑i=1Nσ2−1N∑i=1Nσ2N=N−1Nσ2\begin{align} E[\hat{\sigma^2}_{MLE}]&=E[\frac{1}{N}\sum_{i=1}^N(x_i^2-\hat{\mu}_{MLE}^2)]\\ &=E[\frac{1}{N}\sum_{i=1}^N((x_i^2-\mu^2)-(\hat{\mu}_{MLE}^2-\mu^2))]\\ &=E[\frac{1}{N}\sum_{i=1}^N(x_i^2-\mu^2)]-E[\frac{1}{N}\sum_{i=1}^N(\hat{\mu}_{MLE}^2-\mu^2)]\\ &=\frac{1}{N}\sum_{i=1}^NE(x_i^2-\mu^2)-\frac{1}{N}\sum_{i=1}^NE(\hat{\mu}_{MLE}^2-\mu^2)\\ &=\frac{1}{N}\sum_{i=1}^N[E(x_i^2)-E(\mu^2)]-\frac{1}{N}\sum_{i=1}^NE(\hat{\mu}_{MLE}^2)-E(\mu^2)\\ &=\frac{1}{N}\sum_{i=1}^N[E(x_i^2)-\mu^2]-\frac{1}{N}\sum_{i=1}^N[E(\hat{\mu}_{MLE}^2)-\mu^2]\\ &=\frac{1}{N}\sum_{i=1}^N[E(x_i^2)-(Ex_i)^2]-\frac{1}{N}\sum_{i=1}^N[E(\hat{\mu}_{MLE}^2)-E\hat{\mu}_{MLE}^2]\\ &=\frac{1}{N}\sum_{i=1}^NVar(x_i)-\frac{1}{N}\sum_{i=1}^NVar(\hat{\mu}_{MLE})\\ &=\frac{1}{N}\sum_{i=1}^N\sigma^2-\frac{1}{N}\sum_{i=1}^N\frac{\sigma^2}{N}\\ &=\frac{N-1}{N}\sigma^2 \end{align} E[σ2^MLE]=E[N1i=1∑N(xi2−μ^MLE2)]=E[N1i=1∑N((xi2−μ2)−(μ^MLE2−μ2))]=E[N1i=1∑N(xi2−μ2)]−E[N1i=1∑N(μ^MLE2−μ2)]=N1i=1∑NE(xi2−μ2)−N1i=1∑NE(μ^MLE2−μ2)=N1i=1∑N[E(xi2)−E(μ2)]−N1i=1∑NE(μ^MLE2)−E(μ2)=N1i=1∑N[E(xi2)−μ2]−N1i=1∑N[E(μ^MLE2)−μ2]=N1i=1∑N[E(xi2)−(Exi)2]−N1i=1∑N[E(μ^MLE2)−Eμ^MLE2]=N1i=1∑NVar(xi)−N1i=1∑NVar(μ^MLE)=N1i=1∑Nσ2−N1i=1∑NNσ2=NN−1σ2
其中 Var(μ^MLE)=Var(1N∑i=1Nxi)=1N2∑i=1NVar(xi)=σ2NVar(\hat\mu_{MLE})=Var(\frac{1}{N}\sum_{i=1}^Nx_i)=\frac{1}{N^2}\sum_{i=1}^NVar(x_i)=\frac{\sigma^2}{N}Var(μ^MLE)=Var(N1∑i=1Nxi)=N21∑i=1NVar(xi)=Nσ2。
因此, σ2^MLE\hat{\sigma^2}_{MLE}σ2^MLE 的期望不等于其真值 σ2\sigma^2σ2 ,而且是会估计的偏小。无偏估计应为 1N−1∑i=1N(xi−μ^MLE)\frac{1}{N-1}\sum_{i=1}^N(x_i-\hat\mu_{MLE})N−11∑i=1N(xi−μ^MLE) 。
Ref
- 机器学习白板推导
- 先验、后验、似然
- 百度百科-有偏估计