对机器学习方法的统计证明

• 69 min read • 13747 words
Tags: Ma-Le Probability
Categories: Machine Learning

对机器学习方法的统计证明

1. 模型建立

为了给回归问题建立一个统计模型,我们做出以下假设:

yi=g(Xi)+ϵiy_i=g(X_i) + \epsilon_i

这个公式描述了我们观察到的数据点 (Xi,yi)(X_i, y_i) 是如何产生的,其中:

  • g(Xi)g(X_i) 是真实函数 (Ground Truth)。我们相信在现实中,输入 XX 和输出 yy 之间存在一个我们不知道的、但固定不变的潜在规律 gg。比如,房子的面积和它的“真实”价值之间可能有一个确定的函数关系。我们的目标就是找到一个函数 hh 来尽可能地接近这个未知的 gg
  • ϵi\epsilon_i 是随机噪声 (Random Noise)。它代表了所有影响测量的随机因素,比如测量误差、数据记录错误,以及所有 gg 未能捕捉到的其他随机波动。ϵi\epsilon_i 来自某个概率分布 DD',并且其均值为零 (E[ϵ]=0E[\epsilon] = 0)。这意味着,从长期来看,这些随机误差会相互抵消,不会系统性地偏高或偏低。

注意,在假设中,噪声分布 ϵi\epsilon_i 是独立于 XX 的,这是我们的理想化建模。

然后我们再证明一个简单的结论:我们只需要知道所有 X=xX=xYY 的条件期望 E[YX=x]E[Y|X=x],那它就是 g(x)g(x) 的完美估计。证明如下,我们将 yy 的表达式代入:

E(YX=x)=E(g(x)+ϵX=x)E(Y|X=x)=E(g(x)+\epsilon | X=x)

由于 g(x)g(x) 是一个固定值(因为给定了 xx),而 E(ϵ)=0E(\epsilon)=0,因此 E(g(x)+ϵX=x)=g(x)E(g(x)+\epsilon | X=x) = g(x)。这说明这个条件期望就是我们要找的 gg

2. 对最小二乘的推导

下面我们用这个模型解释最小二乘法的合理性。我们假设噪声 ϵiN(0,σ2)\epsilon_i \sim \mathcal{N}(0, \sigma^2),则由前面的假设,yiy_i 也服从正态分布:

E(yi)=E(g(Xi)+ϵi)=g(Xi)+0=g(Xi)E(y_i)=E(g(X_i) + \epsilon_i)=g(X_i)+0 = g(X_i) Var(yi)=Var(ϵi)=σ2\text{Var}(y_i)=\text{Var}(\epsilon_i)=\sigma^2

也即 yN(g(Xi),σ2)y \sim \mathcal{N}(g(X_i), \sigma^2)yy 的 PDF 如下:

P(yig(Xi);σ)=1σ2πexp((yig(Xi))22σ2)P\big(y_i\mid g(X_i);\sigma\big)=\frac{1}{\sigma\sqrt{2\pi}}\exp\left(-\frac{\big(y_i-g(X_i)\big)^2}{2\sigma^2}\right)

其联合概率分布就是似然函数:

L(g)=P(y1,,ynX;g)=i=1nP(yiXi;g)=i=1n1σ2πexp((yig(Xi))22σ2)\begin{aligned} L(g) &= P\bigl(y_1,\dots,y_n\mid X;g\bigr) \\ &= \prod_{i=1}^n P\bigl(y_i\mid X_i;g\bigr) \\ &= \prod_{i=1}^n \frac{1}{\sigma\sqrt{2\pi}} \exp\left(-\frac{\bigl(y_i-g(X_i)\bigr)^2}{2\sigma^2}\right) \end{aligned}

对其取对数:

(g)=lnL(g)=lni=1nP(yiXi;g)=lni=1n1σ2πexp((yig(Xi))22σ2)=i=1nln(1σ2πexp((yig(Xi))22σ2))=i=1n[ln1σ2π+lnexp((yig(Xi))22σ2)]=i=1n[ln(σ2π)(yig(Xi))22σ2]=nln(σ2π)12σ2i=1n(yig(Xi))2\begin{aligned} \ell(g) &= \ln L(g) \\ &= \ln\prod_{i=1}^n P\bigl(y_i\mid X_i;g\bigr) \\ &= \ln\prod_{i=1}^n \frac{1}{\sigma\sqrt{2\pi}} \exp\left(-\frac{(y_i-g(X_i))^2}{2\sigma^2}\right) \\ &= \sum_{i=1}^n \ln\left(\frac{1}{\sigma\sqrt{2\pi}} \exp\left(-\frac{(y_i-g(X_i))^2}{2\sigma^2}\right)\right) \\ &= \sum_{i=1}^n \left[\ln\frac{1}{\sigma\sqrt{2\pi}} + \ln\exp\left(-\frac{(y_i-g(X_i))^2}{2\sigma^2}\right)\right] \\ &= \sum_{i=1}^n \left[-\ln\bigl(\sigma\sqrt{2\pi}\bigr) -\frac{(y_i-g(X_i))^2}{2\sigma^2}\right] \\ &= -n\ln\bigl(\sigma\sqrt{2\pi}\bigr) - \frac{1}{2\sigma^2}\sum_{i=1}^n (y_i-g(X_i))^2 \end{aligned}

我们的目的是最大化 (g)\ell(g),根据上面的式子,我们只需要最小化 i=1n(yig(Xi))2\sum_{i=1}^n (y_i-g(X_i))^2 即可,这正是正是模型预测值 g(Xi)g(X_i) 和真实值 yiy_i 之间差值的平方和。

3. 对逻辑回归的推导

我们现在处理的是分类问题,模型 h(Xi)h(X_i) 输出的是一个概率,即模型预测数据点 XiX_i 属于类别 CC 的概率。yiy_i 是真实的标签,h(Xi)h(X_i) 是模型的预测概率。

为了能够使用我们之前处理离散变量的方法(计数法),我们设计下面的思想实验:我们想象对于每一个数据点 XiX_i,我们都创造了 ββ 个完全相同的副本(ββ 是一个很大的整数)。那么这里面 h(Xi)h(X_i) 比例的数据点会属于 yiy_i1h(Xi)1-h(X_i) 比例的数据点会属于 1yi1-y_i,这种情况发生的概率为:

P=h(Xi)yiβ(1h(Xi))(1yi)βP=h(X_i)^{y_i\beta}\,(1-h(X_i))^{(1-y_i) \beta}

对于所有的 nn 个数据点,其似然函数为:

L(h)=i=1nh(Xi)yiβ(1h(Xi))(1yi)βL(h)=\prod_{i=1}^n h(X_i)^{y_i\beta}\bigl(1-h(X_i)\bigr)^{(1-y_i)\beta}

同样地,我们对上式取对数:

(h)=lnL(h)=i=1nln(h(Xi)yiβ(1h(Xi))(1yi)β)=i=1n[ln(h(Xi)yiβ)+ln((1h(Xi))(1yi)β)]=i=1n[yiβlnh(Xi)+(1yi)βln(1h(Xi))]=βi=1n[yilnh(Xi)+(1yi)ln(1h(Xi))]\begin{aligned} \ell(h) &= \ln L(h) \\ &= \sum_{i=1}^n \ln\Big(h(X_i)^{y_i\beta}\big(1-h(X_i)\big)^{(1-y_i)\beta}\Big) \\ &= \sum_{i=1}^n \Big[\ln\big(h(X_i)^{y_i\beta}\big)+\ln\big((1-h(X_i))^{(1-y_i)\beta}\big)\Big] \\ &= \sum_{i=1}^n \Big[y_i\beta\,\ln h(X_i)+(1-y_i)\beta\,\ln(1-h(X_i))\Big] \\ &= \beta\sum_{i=1}^n \Big[y_i\ln h(X_i)+(1-y_i)\ln(1-h(X_i))\Big] \end{aligned}

其中 i=1n[yilnh(Xi)+(1yi)ln(1h(Xi))]\sum_{i=1}^n \Big[y_i\ln h(X_i)+(1-y_i)\ln(1-h(X_i))\Big] 正是逻辑回归的损失函数,也是我们需要最小化的值。

4. 偏差——方差分解

a.a. 前置概念

一个模型的误差主要来自两个方面:

  • 偏差 (Bias): 指的是模型自身的局限性所导致的系统性错误
  • 方差 (Variance): 指的是模型对训练数据的微小变化过于敏感所导致的错误

b.b. 误差的数学分解

下面我们严格推导误差的来源。我们定义:

  • 数据模型:yi=g(Xi)+ϵiy_i = g(X_i) + \epsilon_igg 是真实规律,ϵ\epsilon 是均值为0的噪声。
  • 学习模型 hh: 我们从一组随机的训练数据 (X,y)(X, y) 中学习到了一个模型 hh
  • 测试点 zzγ\gamma
    • zz:一个固定的、任意的测试点。
    • γ=g(z)+ϵγ = g(z) + ϵ:在 zz 点的带噪声的真实标签。因为 ϵϵ 是随机的,所以 γγ 也是随机的。

注意,hh 是一个随机变量。因为训练数据是从一个大总体中随机抽样的,每次抽到的数据都不同。用不同的训练数据去训练,你就会得到一个不同的模型 hh

我们的目标是分解在 zz 点的期望平方误差,即 R(h)=E[(h(z)γ)2]R(h) = E[(h(z) - γ)^2]。这里的期望 EE 是一个全局期望,它包含了对所有可能的训练集以及所有可能的测试点噪声 ϵ\epsilon 的平均。我们做如下推导:

R(h)=E[h(z)22h(z)γ+γ2]=E[h(z)2]2E[h(z)γ]+E[γ2]=E[h(z)2]2E[h(z)]E[γ]+E[γ2]=(Var(h(z))+E[h(z)]2)2E[h(z)]E[γ]+(Var(γ)+E[γ]2)=(E[h(z)]22E[h(z)]E[γ]+E[γ]2)+Var(h(z))+Var(γ)=(E[h(z)]E[γ])2+Var(h(z))+Var(γ)=(E[h(z)]g(z))2+Var(h(z))+Var(ϵ)\begin{aligned} R(h) &= \mathbb{E}\big[h(z)^2-2h(z)\gamma+\gamma^2\big] \\ &= \mathbb{E}[h(z)^2]-2\mathbb{E}[h(z)\gamma]+\mathbb{E}[\gamma^2] \\ &= \mathbb{E}[h(z)^2]-2\mathbb{E}[h(z)]\mathbb{E}[\gamma]+\mathbb{E}[\gamma^2] \\ &= \big(\operatorname{Var}(h(z))+\mathbb{E}[h(z)]^2\big)-2\mathbb{E}[h(z)]\mathbb{E}[\gamma]+\big(\operatorname{Var}(\gamma)+\mathbb{E}[\gamma]^2\big) \\ &= \big(\mathbb{E}[h(z)]^2-2\mathbb{E}[h(z)]\mathbb{E}[\gamma]+\mathbb{E}[\gamma]^2\big)+\operatorname{Var}(h(z))+\operatorname{Var}(\gamma) \\ &= \big(\mathbb{E}[h(z)]-\mathbb{E}[\gamma]\big)^2+\operatorname{Var}(h(z))+\operatorname{Var}(\gamma) \\ &= \big(\mathbb{E}[h(z)]-g(z)\big)^2+\operatorname{Var}(h(z))+\operatorname{Var}(\epsilon) \end{aligned}

这个式子表明:期望误差 = 偏差2^2 + 方差 + 不可约减的误差。这里的偏差和方差和我们在前置概念说的相对应。

c.c. 对最小二乘的应用

我们以最小二乘法为例,看看偏差与方差在实际算法中是怎么体现的。

为了简化问题,我们进行如下理想化设定:

  1. 我们假设模型为 h(x)=wTxh(x)=w^Tx,没有偏置项 bb
  2. 真实规律 g(z)g(z) 是线性的,即 g(z)=vTzg(z)=v^Tz,这里的 vv 是我们不知道的真实权重向量
  3. 训练标签 yy 是由真实规律 XvXv 加上一个噪声向量 ee 产生的,即 y=Xv+ey = Xv + e。其中 ee 的每个元素 eie_i 都来自均值为0,方差为 σ2\sigma ^ 2 的正态分布。

我们的目标是:通过最小二乘法,从带噪声的训练数据 (X,y)(X, y) 中学习到一个权重 ww,然后分析用这个 ww 构成的模型 h(z)=wTzh(z) = w^Tz 的偏差和方差。

我们知道最小二乘线性回归的解为 w=X+yw = X^{+}y,其中X+=(XTX)1XTX^{+} = (X^TX)^{-1}X^TXX 的伪逆。

我们把 yy 的来源代入上式:

w=X+(Xv+e)=X+Xv+X+e=v+X+e\begin{aligned} w &= X^{+}(Xv+e) \\ &= X^{+}Xv + X^{+}e \\ &= v + X^{+}e \end{aligned}

这个式子告诉我们,我们通过最小二乘法学习到的权重 ww,等于真实的权重 vv 加上一个由噪声 ee 引起的扰动项 X+eX^{+}e。我们学习的误差唯一的来源就是训练数据中的噪声

我们接着计算偏差 E[h(z)]g(z)|E[h(z)] - g(z)|

E[h(z)]g(z)=E[wTz]vTz=(E[w]v)TzE[w]=E[v+X+e]=E[v]+E[X+e]=v+X+E[e]=v+0=v(E[w]v)Tz=(vv)Tz=0\begin{aligned} \bigl|\mathbb{E}[h(z)]-g(z)\bigr| &= \bigl|\mathbb{E}[w^{T}z]-v^{T}z\bigr| \\ &= \bigl|(\mathbb{E}[w]-v)^{T}z\bigr| \\[6pt] \mathbb{E}[w] &= \mathbb{E}\bigl[v+X^{+}e\bigr] \\ &= \mathbb{E}[v]+\mathbb{E}[X^{+}e] \\ &= v + X^{+}\mathbb{E}[e] \\ &= v + 0 = v \\[6pt] \therefore\quad \bigl|(\mathbb{E}[w]-v)^{T}z\bigr| &= \bigl|(v-v)^{T}z\bigr| = 0 \end{aligned}

意味着,在我们的理想化设定下(模型类别匹配真实规律),最小二乘线性回归是一个无偏估计 (unbiased estimator)。这并不是说我们随便用一个训练集学到的 ww 就一定等于 vv。而是说,如果我们能获得大量不同的训练集,分别训练出大量的 ww,那么这些 ww 的平均值将会无限接近于真实的 vv。模型犯的错(有时偏高,有时偏低)在平均意义上会相互抵消。

我们接着计算方差 Var(h(z))=Var(wTz)Var(h(z)) = Var(w^Tz)

Var(wTz)=Var((v+X+e)Tz)=Var(vTz+(X+e)Tz)=Var((X+e)Tz)(since vTz is constant)=Var(zTX+e)=σ2zTX+2=σ2(zTX+)(zTX+)T=σ2zTX+(X+)Tz=σ2zT(XTX)1XT((XTX)1XT)Tz=σ2zT(XTX)1XTX((XTX)1)Tz=σ2zT(XTX)1(XTX)(XTX)1z(since (XTX)1 is symmetric)=σ2zT(XTX)1z\begin{aligned} \operatorname{Var}(w^{T}z) &= \operatorname{Var}\big((v+X^{+}e)^{T}z\big) \\ &= \operatorname{Var}\big(v^{T}z+(X^{+}e)^{T}z\big) \\ &= \operatorname{Var}\big((X^{+}e)^{T}z\big) \quad(\text{since }v^{T}z\text{ is constant})\\ &= \operatorname{Var}\big(z^{T}X^{+}e\big) \\ &= \sigma^{2}\,\|z^{T}X^{+}\|^{2} \\ &= \sigma^{2}\,(z^{T}X^{+})(z^{T}X^{+})^{T} \\ &= \sigma^{2}\,z^{T}X^{+}(X^{+})^{T}z \\ &= \sigma^{2}\,z^{T}(X^{T}X)^{-1}X^{T}\big((X^{T}X)^{-1}X^{T}\big)^{T}z \\ &= \sigma^{2}\,z^{T}(X^{T}X)^{-1}X^{T}X\big((X^{T}X)^{-1}\big)^{T}z \\ &= \sigma^{2}\,z^{T}(X^{T}X)^{-1}(X^{T}X)(X^{T}X)^{-1}z \quad(\text{since }(X^{T}X)^{-1}\text{ is symmetric})\\ &= \sigma^{2}\,z^{T}(X^{T}X)^{-1}z \end{aligned}

由于真实权重和测试点都是固定的,vTzv^Tz 是一个常数。

这个公式虽然精确,但不够直观。通过一些近似(当样本量 nn 很大时),可以得到一个更具启发性的结果:

Var(h(z))σ2dn\text{Var}(h(z)) \approx \sigma^2 \frac{d}{n}

这个式子揭露了方差的来源与控制,模型的方差:

  • σ2\sigma^2 成正比:数据噪声越大,模型越不稳定,方差越大。
  • dd 成正比:特征越多,模型越复杂,越容易拟合噪声,方差越大。这就是“维度灾难”的一种体现。
  • nn 成反比:训练数据越多,模型就越能看透噪声、抓住本质,从而变得越稳定,方差越小。

Comments

Total words: 13747