参数估计
问题背景:
P ( ω i ∣ x ) = p ( x ∣ ω i ) P ( ω i ) p ( x ) p ( x ) = ∑ j = 1 c p ( x ∣ ω j ) P ( ω j ) \begin{aligned} & P\left(\omega_i \mid \mathbf{x}\right)=\frac{p\left(\mathbf{x} \mid \omega_i\right) P\left(\omega_i\right)}{p(\mathbf{x})} \\ & p(\mathbf{x})=\sum_{j=1}^c p\left(\mathbf{x} \mid \omega_j\right) P\left(\omega_j\right) \end{aligned} P(ωi∣x)=p(x)p(x∣ωi)P(ωi)p(x)=j=1∑cp(x∣ωj)P(ωj)
- 说明:要计算后验概率 P ( ω i ∣ x ) P\left(\omega_i \mid \mathbf{x}\right) P(ωi∣x) ,需要知道:
- p ( x ∣ ω i ) p\left(\mathbf{x} \mid \omega_i\right) p(x∣ωi) :类条件概率密度函数(似然)。
- P ( ω i ) P\left(\omega_i\right) P(ωi) :类别 ω i \omega_i ωi 的先验概率。
**如何得到这些值?需要从数据中估计。**对于先验概率:
-
数据集:
D = { D 1 , D 2 , … , D c } D=\left\{D_1, D_2, \ldots, D_c\right\} D={D1,D2,…,Dc}
D j 包含类别 ω j 的样本。 D_j \text { 包含类别 } \omega_j \text { 的样本。 } Dj 包含类别 ωj 的样本。
先验概率:
P ( ω i ) = ∣ D i ∣ ∑ i = 1 c ∣ D i ∣ P\left(\omega_i\right)=\frac{\left|D_i\right|}{\sum_{i=1}^c\left|D_i\right|} P(ωi)=∑i=1c∣Di∣∣Di∣
接下来的问题是如何估计类条件概率密度。本章将讨论的情况是, p ( x ∣ ω j ) p\left(\mathbf{x} \mid \omega_j\right) p(x∣ωj) 具有参数化形式,例如高斯分布:
p ( x ∣ ω j ) ∼ N ( μ j , Σ j ) θ j = ( θ 1 , θ 2 , … , θ m ) T \begin{gathered} p\left(\mathbf{x} \mid \omega_j\right) \sim \mathcal{N}\left(\mu_j, \Sigma_j\right) \\ \theta_j=\left(\theta_1, \theta_2, \ldots, \theta_m\right)^T \end{gathered} p(x∣ωj)∼N(μj,Σj)θj=(θ1,θ2,…,θm)T
- 如果 x ∈ R d \mathbf{x} \in \mathbb{R}^d x∈Rd ,则 θ j \theta_j θj 包含 d + d ( d + 1 ) 2 d+\frac{d(d+1)}{2} d+2d(d+1) 个自由参数(均值向量和协方差矩阵的元素)。
- μ j \mu_j μj :均值向量,维度为 d 。 d_{\text {。 }} d。
- Σ j \Sigma_j Σj :协方差矩阵,对称矩阵,包含 d ( d + 1 ) 2 \frac{d(d+1)}{2} 2d(d+1) 个唯一元素(因为 Σ i j = Σ j i \Sigma_{i j}=\Sigma_{j i} Σij=Σji )。
- 总参数数量: d d d(均值) + d ( d + 1 ) 2 +\frac{d(d+1)}{2} +2d(d+1)(协方差) = d + d ( d + 1 ) 2 =d+\frac{d(d+1)}{2} =d+2d(d+1) 。
- θ j \theta_j θj :包含所有待估计参数的向量,例如均值和协方差的元素。
数据集与符号:
D = { D 1 , D 2 , … , D c } p ( x ∣ ω j ) = p ( x ∣ θ j ) \begin{aligned} & \mathcal{D}=\left\{\mathcal{D}_1, \mathcal{D}_2, \ldots, \mathcal{D}_c\right\} \\ & p\left(\mathbf{x} \mid \omega_j\right)=p\left(\mathbf{x} \mid \theta_j\right) \end{aligned} D={D1,D2,…,Dc}p(x∣ωj)=p(x∣θj)
类条件密度 p ( x ∣ ω j ) p\left(\mathbf{x} \mid \omega_j\right) p(x∣ωj) 被表示为参数 θ j \theta_j θj 的函数,强化了参数化方法。
目标:使用 D j \mathcal{D}_j Dj 估计未知参数向量:
θ j = ( θ 1 , θ 2 , … , θ m ) T \theta_j=\left(\theta_1, \theta_2, \ldots, \theta_m\right)^T θj=(θ1,θ2,…,θm)T
-
两种估计方法:
-
最大似然估计(MLE):
-
把参数 θ \theta θ 看作是固定但未知的值。我们观察到了数据,就用它来找出"最有可能"生成这些数据的参数值。即“Estimate parameter values by maximizing the likelihood (probability) of observing the actual examples.”
"先有参数,再有数据;现在有了数据,反推参数。" -
给定训练数据 D = { x 1 , … , x n } \mathcal{D}=\left\{x_1, \ldots, x_n\right\} D={x1,…,xn} ,我们假设它们是从分布 p ( x ∣ θ ) p(x \mid \theta) p(x∣θ) 中独立采样出来的。最大似然的目标是:
θ ^ M L E = arg max θ p ( x 1 , … , x n ∣ θ ) = arg max θ ∏ i = 1 n p ( x i ∣ θ ) \hat{\theta}_{\mathrm{MLE}}=\arg \max _\theta p\left(x_1, \ldots, x_n \mid \theta\right)=\arg \max _\theta \prod_{i=1}^n p\left(x_i \mid \theta\right) θ^MLE=argθmaxp(x1,…,xn∣θ)=argθmaxi=1∏np(xi∣θ)
为了简化计算,我们通常取对数(log-likelihood):
θ ^ M L E = arg max θ ∑ i = 1 n log p ( x i ∣ θ ) \hat{\theta}_{\mathrm{MLE}}=\arg \max _\theta \sum_{i=1}^n \log p\left(x_i \mid \theta\right) θ^MLE=argθmaxi=1∑nlogp(xi∣θ)
-
-
贝叶斯估计:
-
把参数 θ \theta θ 看作随机变量,它本身有个先验分布 p ( θ ) p(\theta) p(θ) 。当我们观察到数据 D \mathcal{D} D 后,用贝叶斯公式将先验更新为后验 p ( θ ∣ D ) p(\theta \mid \mathcal{D}) p(θ∣D) 。
"参数不是一个确定值,而是一个不确定的分布。看到数据后,我只是更新了我对它的信念。" -
根据贝叶斯公式:
p ( θ ∣ D ) = p ( D ∣ θ ) ⋅ p ( θ ) p ( D ) p(\theta \mid \mathcal{D})=\frac{p(\mathcal{D} \mid \theta) \cdot p(\theta)}{p(\mathcal{D})} p(θ∣D)=p(D)p(D∣θ)⋅p(θ)
其中:- p ( D ∣ θ ) p(\mathcal{D} \mid \theta) p(D∣θ) :似然(和MLE一样);
- p ( θ ) p(\theta) p(θ) :先验;
- p ( D ) p(\mathcal{D}) p(D) :对所有参数的积分(保证后验是个合法分布);
有了后验分布 p ( θ ∣ D ) p(\theta \mid \mathcal{D}) p(θ∣D) 后,可以:
- 求它的最大后验估计(MAP):
θ ^ M A P = arg max θ p ( θ ∣ D ) \hat{\theta}_{\mathrm{MAP}}=\arg \max _\theta p(\theta \mid \mathcal{D}) θ^MAP=argθmaxp(θ∣D)
- 或者使用后验分布的期望作为估计。
-
-
最大似然估计
以多元高斯分布为例讲解MLE的应用。
假设我们有一个观测数据集:
D = { x 1 , x 2 , … , x n } \mathcal{D}=\left\{\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_n\right\} D={x1,x2,…,xn}
这些样本被认为是从某个参数为 θ \theta θ 的概率分布中独立同分布采样得到的。
因为样本独立,整个数据集出现的联合概率是各样本概率的乘积:
p ( D ∣ θ ) = p ( x 1 ∣ θ ) p ( x 2 ∣ θ ) … p ( x n ∣ θ ) ∏ k = 1 n p ( x k ∣ θ ) p(\mathcal{D} \mid \theta)=p\left(\mathbf{x}_1 \mid \theta\right) p\left(\mathbf{x}_2 \mid \theta\right) \ldots p\left(\mathbf{x}_n \mid \theta\right)\prod_{k=1}^n p\left(\mathbf{x}_k \mid \theta\right) p(D∣θ)=p(x1∣θ)p(x2∣θ)…p(xn∣θ)k=1∏np(xk∣θ)
我们把这个函数看作 θ \theta θ 的函数,叫做似然函数,记作:
L ( θ ∣ D ) = ∏ k = 1 n p ( x k ∣ θ ) L(\theta \mid \mathcal{D})=\prod_{k=1}^n p\left(\mathbf{x}_k \mid \theta\right) L(θ∣D)=k=1∏np(xk∣θ)
最大似然估计就是选择一个 θ ^ \hat{\theta} θ^ 使得这个似然函数最大化:
θ ^ = arg max θ L ( θ ∣ D ) \hat{\theta}=\arg \max _\theta L(\theta \mid \mathcal{D}) θ^=argθmaxL(θ∣D)
也就是说,找到让观测数据“最可能”出现的参数值。我们对其取自然对数,得到对数似然函数:
l ( θ ∣ D ) = ln L ( θ ∣ D ) = ∑ k = 1 n ln p ( x k ∣ θ ) l(\theta \mid \mathcal{D})=\ln L(\theta \mid \mathcal{D})=\sum_{k=1}^n \ln p\left(\mathbf{x}_k \mid \theta\right) l(θ∣D)=lnL(θ∣D)=k=1∑nlnp(xk∣θ)
MLE目标转化为:
θ ^ = arg max θ l ( θ ∣ D ) \hat{\theta}=\arg \max _\theta l(\theta \mid \mathcal{D}) θ^=argθmaxl(θ∣D)
-
情况 I:协方差 Σ \Sigma Σ 已知,仅估计均值 μ \mu μ
高斯概率密度函数(PDF):
对于一个 d d d 维特征向量 x \mathbf{x} x:
p ( x ∣ μ , Σ ) = 1 ( 2 π ) d / 2 ∣ Σ ∣ 1 / 2 exp [ − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ] p(\mathbf{x} \mid \mu, \Sigma) = \frac{1}{(2\pi)^{d/2} |\Sigma|^{1/2}} \exp \left[ -\frac{1}{2} (\mathbf{x} - \mu)^T \Sigma^{-1} (\mathbf{x} - \mu) \right] p(x∣μ,Σ)=(2π)d/2∣Σ∣1/21exp[−21(x−μ)TΣ−1(x−μ)]似然函数(所有样本联合概率):
L ( μ ∣ D ) = ∏ k = 1 n p ( x k ∣ μ ) L(\mu \mid \mathcal{D}) = \prod_{k=1}^n p(\mathbf{x}_k \mid \mu) L(μ∣D)=k=1∏np(xk∣μ)代入高斯密度函数后,乘积项包含了指数和常数项。
对数似然函数:
取自然对数后得:
l ( μ ∣ D ) = − ln ( 2 π ) n d / 2 − ln ∣ Σ ∣ n / 2 − 1 2 ∑ k = 1 n ( x k − μ ) T Σ − 1 ( x k − μ ) l(\mu \mid \mathcal{D}) = -\ln (2\pi)^{nd/2} - \ln |\Sigma|^{n/2} - \frac{1}{2} \sum_{k=1}^n (\mathbf{x}_k - \mu)^T \Sigma^{-1} (\mathbf{x}_k - \mu) l(μ∣D)=−ln(2π)nd/2−ln∣Σ∣n/2−21k=1∑n(xk−μ)TΣ−1(xk−μ)
前两个是常数项,不影响优化,目标函数实质上是最小化平方误差项。MLE求解过程(以 μ \mu μ 为例)
我们对对数似然函数对 μ \mu μ 求导,并令其为零:
∇ μ l ( μ ∣ D ) = ∑ k = 1 n Σ − 1 ( x k − μ ) = 0 \nabla_\mu l(\mu \mid \mathcal{D}) = \sum_{k=1}^n \Sigma^{-1} (\mathbf{x}_k - \mu) = 0 ∇μl(μ∣D)=k=1∑nΣ−1(xk−μ)=0
移项得到:
∑ k = 1 n ( x k − μ ) = 0 ⇒ μ = 1 n ∑ k = 1 n x k \sum_{k=1}^n (\mathbf{x}_k - \mu) = 0 \quad \Rightarrow \quad \mu = \frac{1}{n} \sum_{k=1}^n \mathbf{x}_k k=1∑n(xk−μ)=0⇒μ=n1k=1∑nxk结论:
最大似然估计下,未知均值 μ \mu μ 的估计值就是样本均值(Sample Mean)。
-
情况 II:均值和方差都未知
我们现在假设数据是从一个一维高斯分布(正态分布)中采样的:
p ( x ∣ μ , σ 2 ) = 1 2 π σ 2 exp ( − ( x − μ ) 2 2 σ 2 ) p(x \mid \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right) p(x∣μ,σ2)=2πσ21exp(−2σ2(x−μ)2)
但此时我们不知道这个分布的均值 μ 和方差 σ²,我们要用样本数据 D = { x 1 , x 2 , … , x n } \mathcal{D} = \{x_1, x_2, \dots, x_n\} D={x1,x2,…,xn} 来估计这两个参数。我们的方法是:对参数 θ = ( μ , σ 2 ) T \theta = (\mu, \sigma^2)^T θ=(μ,σ2)T 使用极大似然估计(MLE)。
我们有 n 个独立同分布的样本 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn,所以似然函数是:
L ( θ ∣ D ) = ∏ k = 1 n p ( x k ∣ θ ) L(\theta \mid \mathcal{D}) = \prod_{k=1}^n p(x_k \mid \theta) L(θ∣D)=k=1∏np(xk∣θ)
代入高斯分布的公式,得到:
L ( θ ∣ D ) = 1 ( 2 π ) n / 2 σ n exp ( − 1 2 σ 2 ∑ k = 1 n ( x k − μ ) 2 ) L(\theta \mid \mathcal{D}) = \frac{1}{(2\pi)^{n/2} \sigma^n} \exp\left( -\frac{1}{2\sigma^2} \sum_{k=1}^n (x_k - \mu)^2 \right) L(θ∣D)=(2π)n/2σn1exp(−2σ21k=1∑n(xk−μ)2)
对数似然函数是:
l ( θ ∣ D ) = − n 2 ln ( 2 π ) − n 2 ln ( σ 2 ) − 1 2 σ 2 ∑ k = 1 n ( x k − μ ) 2 l(\theta \mid \mathcal{D}) = -\frac{n}{2} \ln(2\pi) - \frac{n}{2} \ln(\sigma^2) - \frac{1}{2\sigma^2} \sum_{k=1}^n (x_k - \mu)^2 l(θ∣D)=−2nln(2π)−2nln(σ2)−2σ21k=1∑n(xk−μ)2
这里为了后续方便我们记:- θ 1 = μ \theta_1 = \mu θ1=μ
- θ 2 = σ 2 \theta_2 = \sigma^2 θ2=σ2
写成统一的形式:
l ( θ ) = − n 2 ln ( 2 π ) − n 2 ln ( θ 2 ) − 1 2 θ 2 ∑ k = 1 n ( x k − θ 1 ) 2 l(\theta) = -\frac{n}{2} \ln(2\pi) - \frac{n}{2} \ln(\theta_2) - \frac{1}{2\theta_2} \sum_{k=1}^n (x_k - \theta_1)^2 l(θ)=−2nln(2π)−2nln(θ2)−2θ21k=1∑n(xk−θ1)2
我们对 θ 1 = μ \theta_1 = \mu θ1=μ 和 θ 2 = σ 2 \theta_2 = \sigma^2 θ2=σ2 分别求导:对 θ 1 = μ \theta_1 = \mu θ1=μ 求导:
∂ l ∂ θ 1 = 1 θ 2 ∑ k = 1 n ( x k − θ 1 ) = 1 θ 2 ( ∑ k = 1 n x k − n θ 1 ) \frac{\partial l}{\partial \theta_1} = \frac{1}{\theta_2} \sum_{k=1}^n (x_k - \theta_1) = \frac{1}{\theta_2} \left( \sum_{k=1}^n x_k - n\theta_1 \right) ∂θ1∂l=θ21k=1∑n(xk−θ1)=θ21(k=1∑nxk−nθ1)令导数为 0:
∑ k = 1 n x k = n θ 1 ⇒ θ 1 = 1 n ∑ k = 1 n x k = μ ^ \sum_{k=1}^n x_k = n\theta_1 \Rightarrow \theta_1 = \frac{1}{n} \sum_{k=1}^n x_k = \hat{\mu} k=1∑nxk=nθ1⇒θ1=n1k=1∑nxk=μ^
对 θ 2 = σ 2 \theta_2 = \sigma^2 θ2=σ2 求导:
∂ l ∂ θ 2 = − n 2 θ 2 + 1 2 θ 2 2 ∑ k = 1 n ( x k − θ 1 ) 2 \frac{\partial l}{\partial \theta_2} = -\frac{n}{2\theta_2} + \frac{1}{2\theta_2^2} \sum_{k=1}^n (x_k - \theta_1)^2 ∂θ2∂l=−2θ2n+2θ221k=1∑n(xk−θ1)2令导数为 0:
− n 2 θ 2 + 1 2 θ 2 2 ∑ k = 1 n ( x k − θ 1 ) 2 = 0 -\frac{n}{2\theta_2} + \frac{1}{2\theta_2^2} \sum_{k=1}^n (x_k - \theta_1)^2 = 0 −2θ2n+2θ221k=1∑n(xk−θ1)2=0
结论:极大似然估计值-
均值的MLE为样本均值:
μ ^ = 1 n ∑ k = 1 n x k \hat{\mu} = \frac{1}{n} \sum_{k=1}^n x_k μ^=n1k=1∑nxk -
方差的MLE为样本方差(无偏性需除以 n − 1 n-1 n−1,但MLE 是除以 n):
σ ^ 2 = 1 n ∑ k = 1 n ( x k − μ ^ ) 2 \hat{\sigma}^2 = \frac{1}{n} \sum_{k=1}^n (x_k - \hat{\mu})^2 σ^2=n1k=1∑n(xk−μ^)2
方差的估计偏差是一个经典的证明。
MLE 对一维正态分布的方差估计为:
σ M L 2 = 1 n ∑ i = 1 n ( x i − μ M L ) 2 \sigma^2_{ML} = \frac{1}{n} \sum_{i=1}^n (x_i - \mu_{ML})^2 σML2=n1i=1∑n(xi−μML)2
将平方项展开:
= 1 n ∑ i = 1 n ( x i 2 − 2 x i μ M L + μ M L 2 ) = 1 n ∑ i = 1 n x i 2 − 2 μ M L ⋅ 1 n ∑ i = 1 n x i + μ M L 2 = 1 n ∑ i = 1 n x i 2 − μ M L 2 = \frac{1}{n} \sum_{i=1}^n \left( x_i^2 - 2x_i\mu_{ML} + \mu_{ML}^2 \right) = \frac{1}{n} \sum_{i=1}^n x_i^2 - 2\mu_{ML} \cdot \frac{1}{n} \sum_{i=1}^n x_i + \mu_{ML}^2 = \frac{1}{n} \sum_{i=1}^n x_i^2 - \mu_{ML}^2 =n1i=1∑n(xi2−2xiμML+μML2)=n1i=1∑nxi2−2μML⋅n1i=1∑nxi+μML2=n1i=1∑nxi2−μML2
求期望:
E [ σ M L 2 ] = 1 n ∑ i = 1 n E [ x i 2 ] − E [ μ M L 2 ] E[\sigma^2_{ML}] = \frac{1}{n} \sum_{i=1}^n E[x_i^2] - E[\mu_{ML}^2] E[σML2]=n1i=1∑nE[xi2]−E[μML2]
已知:
E [ x i 2 ] = Var ( x i ) + [ E ( x i ) ] 2 = σ 2 + μ 2 E[x_i^2] = \text{Var}(x_i) + [E(x_i)]^2 = \sigma^2 + \mu^2 E[xi2]=Var(xi)+[E(xi)]2=σ2+μ2
而样本均值的平方的期望为:
E [ μ M L 2 ] = Var ( μ M L ) + [ E ( μ M L ) ] 2 = σ 2 n + μ 2 E[\mu_{ML}^2] = \text{Var}(\mu_{ML}) + [E(\mu_{ML})]^2 = \frac{\sigma^2}{n} + \mu^2 E[μML2]=Var(μML)+[E(μML)]2=nσ2+μ2
代入得:
E [ σ M L 2 ] = ( σ 2 + μ 2 ) − ( σ 2 n + μ 2 ) = σ 2 − σ 2 n = n − 1 n σ 2 E[\sigma^2_{ML}] = (\sigma^2 + \mu^2) - \left( \frac{\sigma^2}{n} + \mu^2 \right) = \sigma^2 - \frac{\sigma^2}{n} = \frac{n-1}{n} \sigma^2 E[σML2]=(σ2+μ2)−(nσ2+μ2)=σ2−nσ2=nn−1σ2
结论: 方差的最大似然估计存在偏差,其期望为 n − 1 n σ 2 \frac{n-1}{n} \sigma^2 nn−1σ2,因此也是一个有偏估计。类似前页的协方差,需要进行修正才能成为无偏估计。