当前位置: 首页 > news >正文

机器学习3——参数估计之极大似然估计

参数估计

问题背景:

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(ωix)=p(x)p(xωi)P(ωi)p(x)=j=1cp(xωj)P(ωj)

  • 说明:要计算后验概率 P ( ω i ∣ x ) P\left(\omega_i \mid \mathbf{x}\right) P(ωix) ,需要知道:
  • 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=1cDiDi

接下来的问题是如何估计类条件概率密度。本章将讨论的情况是, 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 xRd ,则 θ 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=1np(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=1nlogp(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=1np(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=1np(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=1nlnp(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=1np(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/2ln∣Σn/221k=1n(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=1nΣ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=1n(xkμ)=0μ=n1k=1nxk

    结论:

    最大似然估计下,未知均值 μ \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πσ2 1exp(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=1np(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=1n(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=1n(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=1n(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) θ1l=θ21k=1n(xkθ1)=θ21(k=1nxknθ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=1nxk=nθ1θ1=n1k=1nxk=μ^
    θ 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 θ2l=2θ2n+2θ221k=1n(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=1n(xkθ1)2=0
    结论:极大似然估计值

    • 均值的MLE为样本均值:
      μ ^ = 1 n ∑ k = 1 n x k \hat{\mu} = \frac{1}{n} \sum_{k=1}^n x_k μ^=n1k=1nxk

    • 方差的MLE为样本方差(无偏性需除以 n − 1 n-1 n1,但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=1n(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=1n(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=1n(xi22xiμML+μML2)=n1i=1nxi22μMLn1i=1nxi+μML2=n1i=1nxi2μ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=1nE[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)=σ2nσ2=nn1σ2
    结论: 方差的最大似然估计存在偏差,其期望为 n − 1 n σ 2 \frac{n-1}{n} \sigma^2 nn1σ2,因此也是一个有偏估计。类似前页的协方差,需要进行修正才能成为无偏估计。

http://www.lqws.cn/news/550711.html

相关文章:

  • C++并发编程-4.unique_lock,共享锁和递归锁
  • 详解HashMap底层原理
  • 电脑远程控制另一台电脑无法连接怎么办
  • PostgreSQL 容器化分布式技术方案
  • 基于51单片机-蜂鸣器演奏《飞雪玉花》
  • 什么是故障注入测试
  • 强化联邦学习的车联网 DDoS 攻击检测
  • 【图像处理入门】12. 综合项目与进阶:超分辨率、医学分割与工业检测
  • FLUX.1 Kontext(Dev 版)训练lora基础教程
  • TiDB AUTO_RANDOM 超大主键前端精度丢失排查:JavaScript Number 限制与解决方案
  • 内测开启!看海量化回测系统V2.0版本更新,基于miniQMT的回测系统问世!
  • Threejs开发指南(第七篇 利用AI进行threejs开发)
  • 封装nuxt3的SSR请求和CSR请求方法
  • 1 Studying《Is Parallel Programming Hard》6-9
  • 双指针技巧深度解析
  • C#系统学习第二章——第一个C#程序
  • P27:RNN实现阿尔茨海默病诊断
  • 华为云Flexus+DeepSeek征文|基于Dify+ModelArts开发AI智能会议助手
  • 本地部署 WordPress 博客完整指南(基于 XAMPP)
  • nt!MiFlushSectionInternal函数分析从nt!IoSynchronousPageWrite函数到Ntfs!NtfsFsdWrite函数
  • 三阶落地:腾讯云Serverless+Spring Cloud的微服务实战架构
  • React中的ErrorBoundary
  • 【经验】新版Chrome中Proxy SwitchyOmega2已实效,改为ZeroOmega
  • 车载诊断架构 --- 诊断与ECU平台工作说明书
  • SQL Server for Linux 如何实现高可用架构
  • 【策划所需编程知识】
  • 中国双非高校经费TOP榜数据分析
  • 【记录】Ubuntu|Ubuntu服务器挂载新的硬盘的流程(开机自动挂载)
  • SQL学习笔记4
  • MFC获取本机所有IP、局域网所有IP、本机和局域网可连接IP