3103 words
16 minutes
CH04-Statistics

4.1 介绍#

第 2-3 章中我们假设所有概率模型的参数 θ\theta 都是已知的。在本章节中,我们会讨论怎样从数据中学习这些参数。

这个从 D\mathcal{D} 中估计 θ\theta 的过程就叫做 model fitting 模型拟合 or 训练,这是机器学习的核心。估计的方法有很多,但最终都归结到一个优化问题:

θ^=argminθL(θ)\hat{\boldsymbol{\theta}}=\mathop{\arg\min}_{\boldsymbol{\theta}} \mathcal{L}(\boldsymbol{\theta})

其中 L(θ)\mathcal{L}(\boldsymbol{\theta}) 是损失函数或目标函数。本章我们会讨论几种不同的损失函数和如何解有闭式解(解析解)的优化问题。

除了计算参数的点估计 θ^\hat{\boldsymbol\theta},我们还会讨论怎样建模估计的不确定度或可信度。统计学中对一个从有限样本中估计得到的未知量的不确定度的量化过程称作inference 推断。我们将会分别从贝叶斯和频率学派的角度讨论推断的方法。

4.2 最大似然估计 MLE#

参数估计最常用的方法就是选择分配给训练数据最大概率的参数,这就叫做最大似然估计 maximum likelihood estimation or MLE.

4.2.1 定义#

θ^mleargmaxθ p(Dθ)\hat{\boldsymbol\theta}_{\mathrm{mle}}\triangleq\mathop{\arg\max}_{\boldsymbol\theta}\ p(\mathcal{D}|\boldsymbol\theta)

我们通常假设训练样本都是独立从一个相同的分布中采样得到,所以(条件)似然变为:

p(Dθ)=n=1Np(ynxn,θ)p(\mathcal{D}|\boldsymbol\theta)=\prod_{n=1}^{N}p(\boldsymbol{y}_n|\boldsymbol{x}_n,\boldsymbol\theta)

这被称为 i.i.d 假设,意为“独立同分布”。实际上我们通常使用对数似然

LL(θ)logp(Dθ)=n=1Nlogp(ynxn,θ)LL(\boldsymbol\theta)\triangleq\log p(\mathcal{D}|\boldsymbol\theta)=\sum_{n=1}^{N}\log p(\boldsymbol{y}_n|\boldsymbol{x}_n,\boldsymbol\theta)

此时 MLE 表示为:

θ^mle=argmaxθ n=1Nlogp(ynxn,θ)\hat{\boldsymbol\theta}_{\mathrm{mle}}=\mathop{\arg\max}_{\boldsymbol\theta}\ \sum_{n=1}^{N}\log p(\boldsymbol{y}_n|\boldsymbol{x}_n,\boldsymbol\theta)

由于大多数优化算法都是设计用于最小化损失函数,我们可以重新定义目标函数为(条件)负对数似然 or NLL

NLL(θ)logp(Dθ)=n=1Nlogp(ynxn,θ)\mathrm{NLL}(\boldsymbol\theta)\triangleq -\log p(\mathcal{D}|\boldsymbol\theta)=-\sum_{n=1}^{N}\log p(\boldsymbol{y}_n|\boldsymbol{x}_n,\boldsymbol\theta)

最小化此函数即可得到 MLE.

如果这个模型是非条件模型(无监督模型),则无输入数据 xn\boldsymbol{x}_n,MLE 就变成了:

θ^mle=argminθn=1Nlogp(ynθ)\hat{\boldsymbol\theta}_{\mathrm{mle}}=\mathop{\arg\min}_{\boldsymbol\theta}-\sum_{n=1}^{N}\log p(\boldsymbol{y}_n|\boldsymbol\theta)

有时我们会希望最大化输入输出的联合概率分布,此时 MLE 变为:

θ^mle=argminθn=1Nlogp(yn,xnθ)\hat{\boldsymbol\theta}_{\mathrm{mle}}=\mathop{\arg\min}_{\boldsymbol\theta}-\sum_{n=1}^{N}\log p(\boldsymbol{y}_n,\boldsymbol{x}_n|\boldsymbol\theta)

4.2.2 MLE 的合理性解释#

关于 MLE 方法合理性有几种解释。一种是把它看作使用一个均匀分布先验来对贝叶斯后验 p(θD)p(\boldsymbol\theta|\mathcal{D}) 进行简单点逼近,具体解释见 Section 4.6.7.1。

考虑一个特殊情况,假设我们使用一个 delta 函数逼近后验分布,p(θD)=δ(θθ^map)p(\boldsymbol\theta|\mathcal{D})=\delta(\boldsymbol\theta-\hat{\boldsymbol\theta}_{map}),其中 θ^map\hat{\boldsymbol\theta}_{map} 是后验分布的 mode,计算公式如下:

θ^map=argmaxθ logp(Dθ)+logp(θ)\hat{\boldsymbol\theta}_{map} = \mathop{\arg\max}_{\boldsymbol\theta}\ \log p(\mathcal{D}|\boldsymbol\theta)+\log p(\boldsymbol\theta)

由于我们使用的是一个均匀分布先验,即 p(θ)1p(\boldsymbol\theta)\propto 1, 此时 MAP 的估计就等于MLE,θ^map=θ^mle\hat{\boldsymbol\theta}_{map}=\hat{\boldsymbol\theta}_{mle}.

另一种解释 MLE 的方法是 MLE 预测的分布 p(yθ^mle)p(\boldsymbol{y}|\hat{\boldsymbol\theta}_{mle}) 已经尽可能的接近数据的经验分布了。在无监督的情形下,经验分布定义为:

pD(y)1Nn=1Nδ(yyn)p_{\mathcal{D}}(\boldsymbol{y})\triangleq \frac{1}{N}\sum_{n=1}^{N}\delta(\boldsymbol{y}-\boldsymbol{y}_n)

我们可以看到经验分布是由一系列在观察数据点处的 delta 函数 or “脉冲”组成的,我们的目标是创造一个模型,它的分布 q(y)=p(yθ)q(\boldsymbol{y})=p(\boldsymbol{y}|\boldsymbol{\theta}) 要与 pD(y)p_{\mathcal{D}}(\boldsymbol{y}) 尽量相似。

一个用来度量概率分布 ppqq 之间的相似度的标准方法是 KL 散度,具体在 Section 6.2 中介绍,这里仅给出定义:

KL(pq)=yp(y)logp(y)q(y)=yp(y)logp(y)H(p)yp(y)logq(y)H(p,q)\begin{aligned} \mathbb{KL}(p||q) &= \sum_{\boldsymbol{y}} p(\boldsymbol{y}) \log \frac {p(\boldsymbol{y})} {q(\boldsymbol{y})} \\ &= \underbrace {\sum_{\boldsymbol{y}}p(\boldsymbol{y})\log{p(\boldsymbol{y})}} _{-\mathbb{H}(p)} \underbrace {-\sum_{\boldsymbol{y}} p(\boldsymbol{y})\log{q(\boldsymbol{y})}} _{\mathbb{H}(p,q)} \end{aligned}

其中 H(p)\mathbb{H}(p)pp 的熵,H(p,q)\mathbb{H}(p,q)ppqq 的交叉熵。可证明 KL(pq)0\mathbb{KL}(p||q)\geq 0,当且仅当 p=qp=q 时取等号。

如果我们定义 p(y)=pD(y), q(y)=p(yθ)p(\boldsymbol{y})=p_{\mathcal{D}}(\boldsymbol{y}),\ q(\boldsymbol{y})=p(\boldsymbol{y}|\boldsymbol{\theta}),KL散度就变成了:

KL(pq)=ypD(y)logpD(y)ypD(y)logq(y)=H(pD)y[1Nn=1Nδ(yyn)]logp(yθ)=H(pD)1Nn=1Nlogp(ynθ)=const+NLL(θ)\begin{aligned} \mathbb{KL}(p||q)&=\sum_{\boldsymbol{y}} p_{\mathcal{D}}(\boldsymbol{y})\log{p_{\mathcal{D}}(\boldsymbol{y})}-\sum_{\boldsymbol{y}} p_{\mathcal{D}}(\boldsymbol{y})\log{q(\boldsymbol{y})}\\ &=-\mathbb{H}(p_{\mathcal{D}})-\sum_{\boldsymbol{y}} \left[ \frac{1}{N} \sum_{n=1}^{N}\delta(\boldsymbol{y}-\boldsymbol{y}_n) \right]\log p(\boldsymbol{y}_|\boldsymbol{\theta})\\ &=-\mathbb{H}(p_{\mathcal{D}})-\frac{1}{N}\sum_{n=1}^{N}\log p(\boldsymbol{y}_n|\boldsymbol{\theta})\\ &=\mathrm{const}+\mathrm{NLL}(\boldsymbol\theta) \end{aligned}

第一项是一个常数,忽略后就只剩下NLL,因此最小化 KL 散度等价于最小化 NLL,也等价于最小化 MLE。

上述结论可以推广到有监督(有条件)的情形下,使用下面的经验分布:

pD(x,y)=pD(yx)pD(x)=1Nn=1Nδ(xxn)δ(yyn)p_\mathcal{D}(\boldsymbol{x},\boldsymbol{y}) = p_\mathcal{D}(\boldsymbol{y} | \boldsymbol{x})p_\mathcal{D}(\boldsymbol{x})= \frac{1}{N}\sum_{n=1}^{N}\delta(\boldsymbol{x}-\boldsymbol{x}_n)\delta(\boldsymbol{y}-\boldsymbol{y}_n)

KL 散度的期望变为:

EpD(x)[KL(pD(Yx)q(Yx))]=xpD(x)[ypD(yx)logpD(yx)q(yx)]=constx,ypD(x,y)logq(yx)=const1Nn=1Nlogp(ynxn,θ)\begin{aligned} \mathbb{E}_{p_\mathcal{D}(\boldsymbol{x})}[\mathbb{KL}(p_\mathcal{D}(Y|\boldsymbol{x})||q(Y|\boldsymbol{x}))] &= \sum_{\boldsymbol{x}}p_\mathcal{D}(\boldsymbol{x}) \left[ \sum_{\boldsymbol{y}} p_\mathcal{D}(\boldsymbol{y}|\boldsymbol{x}) \log \frac {p_\mathcal{D}(\boldsymbol{y}|\boldsymbol{x})} {q(\boldsymbol{y}|\boldsymbol{x})} \right] \\ &= \mathrm{const}-\sum_{\boldsymbol{x},\boldsymbol{y}} p_\mathcal{D}(\boldsymbol{x},\boldsymbol{y}) \log q(\boldsymbol{y}|\boldsymbol{x}) \\ &= \mathrm{const} - \frac{1}{N} \sum_{n=1}^{N} \log p(\boldsymbol{y}_n|\boldsymbol{x}_n,\boldsymbol{\theta}) \end{aligned}

同样,最小化 KL 散度等价于最小化 NLL。

4.2.3 Example: MLE for the Bernoulli distribution#

NLL for Bernoulli distribution:

NLL(θ)=logn=1Np(ynθ)=logn=1NθI(yn=1)(1θ)I(yn=0)=n=1NI(yn=1)logθ+I(yn=0)log(1θ)=[N1logθ+N0log(1θ)]\begin{aligned} \mathrm{NLL}(\theta) &= -\log\prod_{n=1}^{N}p(y_n|\theta) \\ &= -\log \prod_{n=1}^{N} \theta^{\mathbb{I}(y_n=1)}(1-\theta)^{\mathbb{I}(y_n=0)} \\ &= -\sum_{n=1}^{N} \mathbb{I}(y_n=1)\log\theta + \mathbb{I}(y_n=0)\log(1-\theta) \\ &= -[N_1\log\theta+N_0\log(1-\theta)] \end{aligned}

其中 N0N_0N1N_1 分别代表样本中正负例的数量。Binomial distribution 和 Bernoulli distribution 的 NLL 是相同的,只差一个 (Nk)\tbinom{N}{k} 项系数。N0N_0N1N_1 即称作数据的sufficient statistics,因为它们已经总结了所有数据的信息。N=N0+N1N=N_0+N_1 称作 sample size

MLE 可以通过 ddθNLL(θ)=0\frac{d}{d\theta}\rm NLL(\theta)=0 来求解:

ddθNLL(θ)=N1θ+N01θθ^mle=N1N0+N1\frac{d}{d\theta}\mathrm{NLL}(\theta)=\frac{-N_1}{\theta}+\frac{N_0}{1-\theta}\\ \hat{\theta}_{mle}=\frac{N_1}{N_0+N_1}

4.2.4 Example: MLE for the categorical distribution#

假设我们将一个 K 面的骰子抛 N 次,令 Yn{1,,K}Y_n \in \{1,\dots,K \} 为第 n 次的结果,则 YnY_n 服从一个类别分布,记为 YnM(θ)Y_n \sim \mathcal{M}(\theta). 我们希望从数据集 D={yn:n=1:N}\mathcal{D} = \{y_n:n=1:N\} 中估计概率 θ\theta. 类别分布的 NLL 为:

NLL(θ)=kNklogθk\mathrm{NLL}(\theta) = -\sum_{k}N_k\log \theta_k

多项式分布的 NLL 去掉系数后也是相同的。

为了计算 MLE 我们需要在 k=1Kθk=1\sum_{k=1}^{K}\theta_k = 1 的限制条件下最小化 NLL. 这里需要用到拉格朗日乘子法,具体见 Section 8.5.1. 这里的优化问题可以写成下列拉格朗日函数:

L(θ,λ)kNklogθkλ(1kθk)\mathcal{L}(\theta,\lambda) \triangleq -\sum_k N_k\log\theta_k-\lambda(1-\sum_k\theta_k)

λ\lambda 求导得到原始限制条件:

Lλ=1kθk=0\frac {\partial\mathcal{L}}{\partial\lambda}=1-\sum_k \theta_k = 0

θk\theta_k 求导得:

Lθk=Nkθk+λ=0Nk=λθk\frac {\partial\mathcal{L}}{\partial\theta_k}=-\frac {N_k} {\theta_k} + \lambda= 0 \\ \Longrightarrow N_k = \lambda \theta_k

应用限制条件即可解出

kNk=N=λkθk=λθk^=Nkλ=NkN\sum_k{N_k}=N=\lambda\sum_k \theta_k = \lambda \\ \hat{\theta_k} = \frac {N_k}{\lambda}= \frac{N_k}{N}

可以看到 MLE 就是事件 k 的发生的经验频率。

4.2.5 Example: MLE for the univariate Gaussian#

假设 YN(μ,σ2)Y \sim \mathcal{N}(\mu,\sigma^2)D={yn:n=1:N}\mathcal{D} = \{ y_n:n=1:N\} 是一个样本容量为 N 的 iid 样本,我们同样可以用 MLE 来估计参数 θ=(μ,σ2)\boldsymbol{\theta}=(\mu,\sigma^2). 首先写出 NLL:

NLL(μ,σ2)=n=1Nlog[(12πσ2)12exp(12σ2(ynμ)2)]=12σ2n=1N(ynμ)2+N2log(2πσ2)\begin{aligned} \mathrm{NLL} (\mu,\sigma^2) &= -\sum_{n=1}^N \log \left[ \left(\frac{1}{2\pi\sigma^2}\right)^{\frac{1}{2}} \exp\left(-\frac{1}{2\sigma^2}(y_n-\mu)^2 \right) \right]\\ &= \frac{1}{2\sigma^2}\sum_{n=1}^N (y_n-\mu)^2+\frac{N}{2}\log(2\pi\sigma^2) \end{aligned}

分别对两个参数 μ\muσ2\sigma^2 求导来最小化 NLL:

μNLL(μ,σ2)=0, σ2NLL(μ,σ2)=0μNLL(μ,σ2)=1σ2n=1N(ynμ)=0μ^mle=1Nn=1Nyn=yˉσ2NLL(μ,σ2)=12σ4n=1N(ynμ)2+N2σ2=0σ^mle2=1Nn=1N(ynμ^mle)2=1N[n=1Nyn2+μ^mle22ynμ^mle]=s2yˉ2s21Nn=1Nyn2\frac {\partial} {\partial\mu} \mathrm{NLL}(\mu,\sigma^2)=0,\ \frac {\partial} {\partial\sigma^2} \mathrm{NLL}(\mu,\sigma^2)=0 \\ \begin{aligned} &\frac {\partial} {\partial\mu} \mathrm{NLL}(\mu,\sigma^2) = -\frac{1}{\sigma^2}\sum_{n=1}^N (y_n-\mu)=0 \\ \Longrightarrow\quad &\hat{\mu}_{\mathrm{mle}} = \frac{1}{N}\sum_{n=1}^{N}y_n = \bar{y}\\ &\frac {\partial} {\partial\sigma^2} \mathrm{NLL}(\mu,\sigma^2) = -\frac{1}{2\sigma^4}\sum_{n=1}^{N}(y_n-\mu)^2+\frac{N}{2\sigma^2} = 0 \\ \Longrightarrow\quad &\hat{\sigma}^2_{\mathrm{mle}} = \frac{1}{N}\sum_{n=1}^{N}(y_n - \hat{\mu}_{\mathrm{mle}})^2 \\ &\quad\quad = \frac{1}{N}\left[\sum_{n=1}^{N}y_n^2 + \hat{\mu}_{\mathrm{mle}}^2 - 2y_n\hat{\mu}_{\mathrm{mle}} \right] \\ &\quad\quad = s^2 - \bar{y}^2\\ & s^2 \triangleq \frac{1}{N}\sum_{n=1}^{N}y_n^2 \end{aligned}

此时 yˉ\bar{y}σ2\sigma^2 就是数据的sufficient statistics, 因为它们足够计算出 MLE, 且不会丢失信息。

注意方差的估计还可以写成:

σ^unb2=1N1n=1N(ynμ^mle)2\hat{\sigma}^2_{\mathrm{unb}} = \frac{1}{N-1}\sum_{n=1}^{N}(y_n - \hat{\mu}_{\mathrm{mle}})^2

这不是 MLE,但这刚好是一种无偏估计。

4.2.6 Example: MLE for the multivariate Gaussian#

4.2.7 Example: MLE for linear regression#

Section 2.6.3 中我们已经提到了线性回归,它可以看成是如下的模型:

p(yx;θ)=N(ywTx,σ2)p(y|\boldsymbol{x};\boldsymbol{\theta})=\mathcal{N}(y|\boldsymbol{w}^\mathsf{T}\boldsymbol{x},\sigma^2)

现在我们假设 σ2\sigma^2 固定,只关注估计 ww,推导出 NLL:

NLL(w)=n=1Nlog[(12πσ2)12exp(12σ2(ynwTxn)2)]\mathrm{NLL}(\boldsymbol{w})=-\sum_{n=1}^N \log \left[ \left(\frac{1}{2\pi\sigma^2}\right)^{\frac{1}{2}} \exp\left(-\frac{1}{2\sigma^2}(y_n-\boldsymbol{w}^\mathsf{T}\boldsymbol{x}_n)^2 \right) \right]

丢掉无关常数项,就得到了常见的优化目标,称作残差平方和 or RSS

RSS(w)n=1N(ynwTxn)2=n=1Nrn2\mathrm{RSS}(\boldsymbol{w})\triangleq \sum_{n=1}^{N}(y_n-\boldsymbol{w}^\mathsf{T}\boldsymbol{x}_n)^2 = \sum_{n=1}^{N}r_n^2

除以样本数量 N 就得到了均方误差 or MSE

MSE(w)=1NRSS(w)=1Nn=1N(ynwTxn)2\mathrm{MSE}(\boldsymbol{w})=\frac{1}{N}\mathrm{RSS}(\boldsymbol{w})= \frac{1}{N} \sum_{n=1}^{N}(y_n-\boldsymbol{w}^\mathsf{T}\boldsymbol{x}_n)^2

再开根号就得到了均方根误差 or RMSE

RMSE(w)=MSE(w)=1Nn=1N(ynwTxn)2\mathrm{RMSE}(\boldsymbol{w})=\sqrt{\mathrm{MSE}(\boldsymbol{w})} =\sqrt{\frac{1}{N} \sum_{n=1}^{N}(y_n-\boldsymbol{w}^\mathsf{T}\boldsymbol{x}_n)^2}

我们可以通过最小化 NLL,RSS,MSE or RMSE 来计算 MLE,得到的结果是一样的,只差一些无关的常数项。

让我们用 RSS 来求解,它可以写成如下的矩阵形式:

RSS(w)=n=1N(ynwTxn)2=Xwy22=(Xwy)T(Xwy)\begin{aligned} \mathrm{RSS}(\boldsymbol{w}) &= \sum_{n=1}^{N}(y_n-\boldsymbol{w}^\mathsf{T}\boldsymbol{x}_n)^2\\ &=||\mathbf{X}\boldsymbol{w}-\boldsymbol{y}||_2^2\\ &=(\mathbf{X}\boldsymbol{w}-\boldsymbol{y})^\mathsf{T}(\mathbf{X}\boldsymbol{w}-\boldsymbol{y}) \end{aligned}

在 Section 11.2.2.1,我们证明了最优化点在 wRSS(w)=0\nabla_w \mathrm{RSS}(w)=0,满足以下方程:

w^mleargminw RSS(w)=(XTX)1XTy\hat{\boldsymbol{w}}_{\mathrm{mle}}\triangleq \mathop{\arg\min}_{\boldsymbol{w}}\ \mathrm{RSS}(\boldsymbol{w})= (\mathbf{X}^\mathsf{T}\mathbf{X})^{-1}\mathbf{X}^\mathsf{T}\boldsymbol{y}

这就是普通最小二乘 or OLS 估计,和 MLE 相同。

4.3 Empirical risk minimization (ERM)#

我们可以用其他损失函数来取代 MLE 中的对数损失项:l(yn,θ;xn)=logp(ynxn,θ)\mathscr{l}(\boldsymbol{y}_n,\boldsymbol{\theta};\boldsymbol{x}_n)=-\log p(\boldsymbol{y}_n|\boldsymbol{x}_n, \boldsymbol{\theta}),以此将 MLE 推广为经验风险最小化 or ERM,因为这是采取经验分布时的损失期望:

L(θ)=1Nn=1Nl(yn,θ;xn)\mathcal{L}(\boldsymbol{\theta})=\frac{1}{N} \sum_{n=1}^N \mathscr{l}(\boldsymbol{y}_n,\boldsymbol{\theta};\boldsymbol{x}_n)

4.3.1 Example: minimizing the misclassification rate#

如果解一个分类问题,我们可以采用一个 0-1 loss

l01(yn,θ;xn)={0if yn=f(xn;θ)1if ynf(xn;θ)\mathscr{l}_{01}(\boldsymbol{y}_n,\boldsymbol{\theta};\boldsymbol{x}_n)= \begin{cases} 0 & \mathrm{if}\ \boldsymbol{y}_n=f(\boldsymbol{x}_n;\boldsymbol{\theta})\\ 1 & \mathrm{if}\ \boldsymbol{y}_n\neq f(\boldsymbol{x}_n;\boldsymbol{\theta}) \end{cases}

此时 ERM 就是训练集上的经验错误分类率。

如果我们面对的是一个二分类问题,我们可以重新用更简洁的形式表示上述公式,令 y~{1,+1}\tilde{y} \in \{-1, +1\} 为真实标签,y^{1,+1}=f(x;θ)\hat{y} \in \{-1,+1\}=f(\boldsymbol{x};\boldsymbol{\theta}) 为预测,0-1 损失就表示为:

l01(y~,y^)=I(y~y^)=I(y~ y^<0)\mathscr{l}_{01}(\tilde{y},\hat{y})=\mathbb{I}(\tilde{y}\neq \hat{y})=\mathbb{I}(\tilde{y}\ \hat{y}<0)

此时对应的经验风险为:

L(θ)=1Nn=1Nl01(yn,y^n)=1Nn=1NI(y~n y^n<0)\mathcal{L}(\boldsymbol{\theta})=\frac{1}{N} \sum_{n=1}^N \mathscr{l}_{01}(y_n,\hat{y}_n)=\frac{1}{N} \sum_{n=1}^N \mathbb{I}(\tilde{y}_n\ \hat{y}_n<0)

这里对于 xn\boldsymbol{x}_nθ\boldsymbol{\theta} 的依赖是隐式的。

4.3.2 Surrogate loss#

不幸的是,0-1 loss 不是一个平滑函数,所以很难优化。(实际上,它是 NP-hard 的问题)这里我们考虑使用一个 surrogate loss function 代理损失函数,通常选择使用一个最大紧凸上界 maximally tight convex upper bound,这样容易最小化。

例如,考虑一个概率二分类模型,产生如下分布:

p(y~x,θ)=σ(y~η)=11+ey~ηp(\tilde{y}|\boldsymbol{x},\boldsymbol{\theta})=\boldsymbol{\sigma}(\tilde{y}\eta)=\frac{1}{1+e^{-\tilde{y}\eta}}

其中 η=f(x;θ)\eta = f(\boldsymbol{x};\boldsymbol{\theta}) 是对率 log odds。因此 log loss 表示为:

lll(y~,η)=logp(y~η)=log(1+ey~η)\mathscr{l}_{ll}(\tilde{y},\eta)=-\log p(\tilde{y}|\eta)=\log(1+e^{-\tilde{y}\eta})

下图显示这是 0-1 loss 的一个平滑上界,这里 y~η\tilde{y}\eta 称作margin or 函数间隔,因为它定义了一个与阈值0之间的“安全间隔”,所以我们可以发现最小化负对数似然等价于最小化经验 0-1 损失的相对紧密上界。

image-20211203170905685

0-1 loss 的另一个凸上界是hinge loss

lhinge(y~,η)=max(0,1y~η)(1y~η)+\mathscr{l}_{\mathrm{hinge}}(\tilde{y},\eta)=\mathrm{max}(0,1-\tilde{y}\eta)\triangleq(1-\tilde{y}\eta)_+

从上图可以看出它的函数形状类似一个半开的门的铰链,它只是部分区域可导,不是处处可导。

4.4 Other estimation methods#

4.4.1 The method of moments (MOM)#

计算 MLE 需要解方程 θNLL(θ)=0\nabla_{\theta} \mathrm{NLL}(\theta)=0,但有时这个很难计算。此时我们还有简单一些的方法,成为矩方法。这里我们令分布的理论矩等于经验矩,然后 K 个参数需要解 K 个方程。理论矩和经验矩分别为:

μk=E[Yk]μ^k=1Nn=1Nynk\mu_k = \mathbb{E}[Y^k]\\ \hat{\mu}_k=\frac{1}{N}\sum_{n=1}^Ny_n^k

矩法简单,但理论上不如 MLE,因为它有可能没充分利用数据的所有信息,而且它有时会产生不一致的结果。但是,如果它产生了可靠的估计,就可以用来初始化优化 NLL 的迭代算法,由此结合了矩法的计算效率和 MLE 的准确率。

4.4.1.1 Example: MOM for the univariate Gaussian#

考虑一个单变量正态分布,可得:

μ1=μ=yˉμ2=σ2+μ2=s2μ^ =yˉσ^2=s2yˉ2\begin{aligned} \mu_1 &= \mu = \bar{y}\\ \mu_2 &=\sigma^2+\mu^2 =s^2\\ \Longrightarrow\quad \hat{\mu}\ &= \bar{y}\\ \hat{\sigma}^2 &= s^2 -\bar{y}^2 \end{aligned}

这里结果和 MLE 是一样的,但不是所有分布都是一样的结果。

4.4.1.2 Example: MOM for the uniform distribution#

4.4.2 online (recursive estimation)#

如果整个数据集在训练前都是可用的,那就称作batch learning. 但是在一些情况下,数据集是以序列化的形式提供的,此时我们需要online learning.

假设 θ^t1\hat{\boldsymbol\theta}_{t-1} 是我们在数据集 D1:t1\mathcal{D}_{1:t-1} 上做出的预测,为了保证我们的学习算法每次更新花费的时间相同,我们需要找到一个如下形式的学习法则:

θt=f(θ^t1,yt)\boldsymbol{\theta}_t = f(\hat{\boldsymbol{\theta}}_{t-1},\boldsymbol{y}_t)

这被称作recursive update,下面我们给出一些例子。

4.4.2.1 Example: recursive MLE for the mean of a Gaussian#

对于一个正态分布,我们知道 batch learning 的 MLE 结果:

μ^t=1tn=1tyn\hat{\boldsymbol{\mu}}_t=\frac{1}{t} \sum_{n=1}^t \boldsymbol{y}_n

我们可以简单转换成循环估计的形式:

μ^t=1tn=1tyn=1t((t1)μ^t1+yt)=μ^t1+1t(ytμ^t1)\begin{aligned} \hat{\boldsymbol{\mu}}_t &= \frac{1}{t} \sum_{n=1}^t \boldsymbol{y}_n\\ &= \frac{1}{t}((t-1)\hat{\boldsymbol{\mu}}_{t-1}+\boldsymbol{y}_t)\\ &= \hat{\boldsymbol{\mu}}_{t-1}+\frac{1}{t}(\boldsymbol{y}_t-\hat{\boldsymbol{\mu}}_{t-1}) \end{aligned}

这就是moving average.

从上式可以看出新的估计就是老的估计加上一个修正项,随着样本越来越多,这个修正项逐渐变小乃至消失,但如果分布是在变化的,我们会想给新样本更多权重,下面一节会介绍怎样做。

4.4.2.2 Exponentially-weighted moving average#

Exponentially weighted moving average or EWMA, also called an exponential moving average or EMA:

μ^t=βμt1+(1β)yt\hat{\boldsymbol{\mu}}_t = \beta\boldsymbol{\mu}_{t-1}+(1-\beta)\boldsymbol{y}_t

其中 0<β<10<\beta<1. 从最新往前推 k 个步骤的数据点的贡献的权重为 βk(1β)\beta^k(1-\beta),所以这个权重是指数下降的:

μ^t=βμt1+(1β)yt=β2μt2+β(1β)yt1+(1β)yt=βty0+(1β)βt1y1++(1β)βyt1+(1β)yt\begin{aligned} \hat{\boldsymbol{\mu}}_t &= \beta\boldsymbol{\mu}_{t-1}+(1-\beta)\boldsymbol{y}_t\\ &=\beta^2\boldsymbol{\mu}_{t-2}+\beta(1-\beta)\boldsymbol{y}_{t-1}+(1-\beta)\boldsymbol{y}_t\\ &=\beta^t\boldsymbol{y}_{0}+(1-\beta)\beta^{t-1}\boldsymbol{y}_{1}+\cdots+(1-\beta)\beta\boldsymbol{y}_{t-1}+(1-\beta)\boldsymbol{y}_{t}\\ \end{aligned}

其中几何级数之和为:

(1β)k=0tβk=(1β)1βt+11β=1βt+1(1-\beta)\sum_{k=0}^t\beta^k = (1-\beta)\frac{1-\beta^{t+1}}{1-\beta}=1-\beta^{t+1}

由于 0<β<10<\beta<1,当 tt\rightarrow \infty 时,βt+10\beta^{t+1}\rightarrow 0,所以 β\beta 较小时忘记过去数据的速度比较快,受到现在的数据影响更大。

一开始我们假设估计从 0 开始:μ^0\hat{\boldsymbol{\mu}}_0,这是一个初始偏置,我们可以用如下方式矫正:

μ~t=μ^t1βt\tilde{\boldsymbol{\mu}}_t = \frac{\hat{\boldsymbol{\mu}}_t}{1-\beta^t}

注意公式(44)中我们还是应该使用未矫正的 EMA:μ^t1\hat{\boldsymbol{\mu}}_{t-1}

image-20211203200626512

4.5 Regularization#

无论是 MLE 还是 ERM,都是寻找最小化训练集损失的参数,但这不一定也能在未来的数据上表现的很好,这就被成为过拟合

过拟合的核心问题在于我们可以采用足够多的参数来构造完美拟合训练数据的模型,但绝大多数情况下经验分布和真实分布差别非常大,所以将所有概率密度全部放在训练数据上,就会导致没有再给新数据留下任何概率密度了,这样的模型就无法泛化

解决过拟合的主要手段是正则化,意为给 NLL 或者 ERM 加一个惩罚项,我们需要优化的目标就变成了:

L(θ;λ)=[1Nn=1Nl(yn,θ;xn)]+λC(θ)\mathcal{L}(\boldsymbol{\theta};\lambda)=\left[\frac{1}{N}\sum_{n=1}^N \mathscr{l}(\boldsymbol{y}_n,\boldsymbol{\theta};\boldsymbol{x}_n) \right]+ \lambda C(\boldsymbol{\theta})

其中 λ0\lambda \geq 0 是正则项系数,C(θ)C(\boldsymbol{\theta}) 是复杂度惩罚。

CH04-Statistics
https://www.quahog-dev.tech/posts/probml-notes/ch04-statistics/
Author
Brian & Stewie
Published at
2025-01-13