2.4 统计判别理论

原文 The Elements of Statistical Learning
翻译 szcf-weiya
时间 2018-08-21
解读 Hytn Chen
更新 2020-01-07

翻译原文

这一节我们讨论一小部分理论,这些理论提供构建模型的一个框架,比如我们目前为止所有非正式讨论的模型.我们首先考虑定量输出时的情形,而且从随机变量和概率空间的角度来考虑.记 XIRpX\in \rm{IR}^p 为实值随机输入向量,YIRY\in \rm{IR} 为实值随机输出变量,联合概率分布为 Pr(X,Y)\Pr(X,Y).给定输入 XX,我们寻找一个函数 f(X)f(X) 来预测 YY.这个理论需要一个 损失函数 (loss function) L(Y,f(X))L(Y,f(X)) 用来惩罚预测中的错误,到目前为止最常用并且最方便的是 平方误差损失 (squared error loss): L(Y,f(X))=(Yf(X))2L(Y,f(X))=(Y-f(X))^2.这促使我们寻找 ff 的一个准则——预测(平方)误差的期望EPE(f)=E(Yf(x))2(2.9)EPE(f)=E(Y-f(x))^2\tag{2.9}用积分的形式表示就是
EPE(f)=E(Yf(X))2=[yf(x)]2Pr(dx,dy)(2.10) \begin{aligned} \rm{EPE}(f)&=E(Y-f(X))^2\qquad\qquad\\ &=\int[y-f(x)]^2\Pr(dx,dy)\tag{2.10} \end{aligned}

XX条件下,我们可以把 EPE\rm{EPE} 写成

EPE(f)=EXEYX([Yf(X)]2X)(2.11) \rm{EPE}(f) = \rm{E}_X\rm{E}_{Y\mid X}([Y-f(X)]^2\mid X)\tag{2.11}

而且我们看到使 EPE\rm{EPE} 逐点最小就足够了:

f(x)=argmincEYX([Yc]2X=x)(2.12) f(x) = \rm{argmin}_c\rm{E}_{Y\mid X}([Y-c]^2\mid X=x)\tag{2.12}

解为

f(x)=E(YX=x)(2.13) f(x) = \rm{E}(Y\mid X=x)\tag{2.13}

这是条件期望,也被称作 回归 (regression) 函数.因此,在任意点 X=xX=xYY 的最优预测是条件均值,此处的最优是用平均平方误差来衡量的.

此处条件是指对联合概率密度分解 Pr(X,Y)=Pr(YX)Pr(X)\Pr(X, Y ) = \Pr(Y \mid X)\Pr(X),其中 Pr(YX)=Pr(Y,X)/Pr(X)\Pr(Y \mid X) = \Pr(Y, X)/\Pr(X),因此分解成了双变量的积分.

最近邻方法试图直接利用训练数据完成任务.在每一点 xx 处,我们可能需要输入变量 xi=xx_i=x 附近的所有 yiy_i 的均值.因为在任一点 xx,一般至多有一个观测值,我们令

f^(x)=Ave(yixiNk(x))(2.14) \hat{f}(x)=\rm{Ave}(y_i\mid x_i\in N_k(x))\tag{2.14}

其中“Ave”表示平均,Nk(x)N_k(x) 是集合 T\mathcal{T} 中离 xx 最近的 kk 个点的邻域.这里有两个近似

  • 用样本数据的平均近似期望;
  • 在每一点的条件(期望)松弛为在离该目标点近的某个区域上的条件(期望).

f^(x)=Ave(yixiNk(x))(2.14) \hat{f}(x)=\rm{Ave}(y_i\mid x_i\in N_k(x))\tag{2.14}

对于规模为 NN 的大规模训练数据,邻域中的点更可能接近 xx,而且当 kk 越大,平均值会更加稳定.事实上,在联合概率分布 Pr(X,Y)\Pr(X,Y) 温和正则条件下,可以证明当 N,kN,k \longrightarrow \infty 使得 k/N0k/N \longrightarrow 0 时,f^(x)E(YX=x)\hat{f}(x) \longrightarrow \rm{E}(Y \mid X = x).根据这个,为什么看得更远,因为似乎我们有个一般的近似量吗?我们经常没有非常大的样本.如果线性或者其它更多结构化的模型是合适的,那么我们经常可以得到比 kk-最近邻更稳定的估计,尽管这些知识必须也要从数据中学习.然而还有其它的问题,有时是致命的.在下一个部分我们看到当维数 pp 变大,kk-最近邻的度量大小也随之变大.所以最近邻代替条件会让我们非常失望.收敛仍然保持,但是当维数增长后收敛 速率 (rate) 变小.

线性回归怎样适应这个框架?最简单的解释是假设回归函数 f(x)f(x) 近似线性

f(x)xTβ(2.15) f(x)\approx x^T\beta\tag{2.15}

这是个基于模型的方式——我们明确用于回归函数的模型.将 f(x)f(x) 的线性模型插入 EPE(2.9)\rm{EPE} (2.9) 然后微分,可以理论上解出 β\beta
β=[E(XXT)]1E(XY)(2.16) \beta = [\rm{E}(XX^T)]^{-1}\rm{E}(XY)\tag{2.16}

注意到我们在 XX 上没有条件;而是已经用了我们对函数关系的理解 整合 XX 的值 (pool over values of XX).最小二乘的解 (2.6)(2.6) 相当于用训练数据的平均值替换掉 (2.16)(2.16) 中的期望.

所以 kk-最邻近和最小二乘最终都是根据平均来近似条件期望.但是它们在模型上显著不同.

  • 最小二乘假设 f(x)f(x) 是某个整体线性函数的良好近似.
  • kk-最近邻假设 f(x)f(x) 是局部常值函数的良好近似.

尽管后者似乎更容易被接受,但我们已经看到我们需要为这种灵活性付出代价.

这本书中描述的很多技巧都是基于模型的,尽管比严格的线性模型更加灵活.举个例子,可加性模型假设

f(X)=j=1pfj(Xj)(2.17) f(X) = \sum\limits_{j=1}^{p}f_j(X_j)\tag{2.17}

这保留着线性模型的可加性,但是每个并列的函数 fjf_j 是任意的.结果表明可加模型的最优估计是对于每个并列的函数 同时 (simultaneously)kk-最邻近去近似 单变量 (univariate) 的条件期望.因此在可加性的情况下,通过加上某些(通常不现实)的模型假设在高维中估计条件期望的问题被扫除了.

是否为 (2.11)(2.11) 的标准而高兴?如果我们用 L1L_1 损失函数 EYf(X)\rm{E}\mid Y-f(X)\mid 来替换 L2L_2 损失函数会怎么样.这种情况下解是条件中位数,
f^(x)=median(YX=x)(2.18) \hat{f}(x) = \rm{median}(Y \mid X = x)\tag{2.18}

条件中位数是另一种定位的方式,而且它的估计比条件均值更加鲁棒. L1L_1 准则的导数不连续,阻碍了它们的广泛应用.其它更多耐抵抗 (resistant) 的损失函数会在后面章节中介绍,但是平方误差是分析方便而且是最受欢迎的.

当输出为类变量 GG 时,我们应该怎样处理?同样的范例在这里也是可行的,除了我们需要一个不同的损失函数来惩罚预测错误.预测值 G^\hat{G}G\mathcal G 中取值, G\mathcal G 是可能的类别的集合.我们的损失函数可以用 K×KK\times K 的矩阵 L\mathbf{L} 来表示,其中 K=card(G)K=\rm{card}({\mathcal G}).矩阵 L\mathbf{L} 对角元为 00 且其它地方值非负,其中 L(k,)L(k,\ell) 为把属于 Gk\mathcal G_k 的类分到 G\mathcal G_\ell 的代价.大多数情况下我们用 00-11 (zero-one) 损失函数,其中所有的错误分类都被要求一个单位的惩罚.预测错误的期望为

EPE=E[L(G,G^(X))](2.19) \rm{EPE} = \rm{E}[L(G,\hat{G}(X))]\tag{2.19}

同样关于联合分布 Pr(G,X)\Pr(G,X) 取期望.再一次考虑条件分布,我们可以写出如下的 EPE\rm{EPE}

EPE=EXk=1KL[Gk,G^(X)]Pr(GkX)(2.20) \rm{EPE} = \rm{E}_X\sum\limits_{k=1}^KL[{\mathcal{G}}_k,\hat{G}(X)]\Pr({\mathcal{G}}_k\mid X)\tag{2.20}

同样逐点最小化 EPE\rm{EPE} 就足够了:

G^(x)=argmingGk=1KL(Gk,g)Pr(GkX=x)(2.21) \hat{G}(x) = \rm{argmin}_{g\in \mathcal{G}}\sum\limits_{k=1}^KL({\mathcal{G}}_k,g)\Pr({\mathcal G}_k\mid X = x)\tag{2.21}

结合 0-1 损失函数上式简化为

G^(x)=argmingG[1Pr(gX=x)](2.22) \hat{G}(x) = \rm{argmin}_{g\in \mathcal{G}}[1 − \Pr(g\mid X = x)]\tag{2.22}\,

!!! note “weiya 注:推导 2.22”
注意到,对于 0-1 损失,
L(Gk,g)={0if g=Gk1if gGk, L(\mathcal{G}_k, g) = \begin{cases} 0 & \text{if } g=\mathcal{G}_k\\ 1 & \text{if } g\neq \mathcal{G}_k \end{cases}\,,
​ 则我们有
k=1KL(Gk,g)Pr(G=GkX=x)=GkgPr(G=GkX=x)=1Pr(G=gX=x). \sum_{k=1}^KL({\mathcal{G}}_k,g)\Pr(G={\mathcal G}_k\mid X = x) = \sum_{\mathcal{G}_k\neq g}\Pr(G=\mathcal{G}_k \mid X=x)=1-\Pr(G=g\mid X=x)\,.
或者简单地

G^(X)=Gk if Pr(GkX=x)=maxgGPr(gX=x)(2.23) \hat{G}(X) = {\mathcal{G}}_k \text{ if } \Pr({\mathcal{G}}_k\mid X = x) = \underset{g\in{\mathcal{G}}}{\max } \Pr(g\mid X = x)\tag{2.23}

合理的解决方法被称作 贝叶斯分类 (Bayes classifier)利用条件(离散)分布 Pr(GX)\Pr(G\mid X) 分到最合适的类别.对于我们模拟的例子图 2.5 显示了最优的贝叶斯判别边界.贝叶斯分类的误差阶被称作 贝叶斯阶 (Bayes rate)

2.4 统计判别理论

图 2.5:在图 2.1,2.2,和 2.3 中模拟的例子的最优贝叶斯判别边界.因为每个类别的产生密度已知,则判别边界可以准确地计算出来.

再一次我们看到 kk-最近邻分类直接近似这个解决方法——在最近邻内占绝大多数恰好意味着这个,除了某一点的条件概率松弛为该点的邻域内的条件概率,而且概率是通过训练样本的比例来估计的.

假设对于一个二分类的问题,我们采用虚拟变量的方法并且通过二进制变量 YY 编码 GG,然后进行平方误差损失估计.当 G1{\mathcal{G}}_1 对应 Y=1Y=1,有 f^(X)=E(YX)=Pr(G=G1X)\hat{f}(X)=\rm{E}(Y\mid X)=\Pr(G={\mathcal{G}}_1\mid X).同样对于 KK 个类别的问题 E(YkX)=Pr(G=GkX)\rm{E}(Y_k\mid X)=\Pr(G={\mathcal{G}}_k\mid X).这显示了我们虚拟变量回归的过程,然后根据最大的拟合值来分类,这是表示贝叶斯分类器的另一种方式.尽管这个理论是确定的,在实现中问题也会随着采用的回归模型不同而出现.举个例子,当采用线性回归模型,f^(X)\hat{f}(X) 不必要为正值,而且我们可能会怀疑用这个作为概率的一个估计.我们将在第四章中讨论构建模型 Pr(GX)\Pr(G\mid X) 的各种不同的方式.

个人解读

统计判别理论该章节涉及许多概率论知识,首先需要理清基本概念才可以探索更深的知识或者进行公式的推导。

先从微积分的角度看看式(2.13)的公式:
E(YX=x)=YPr(YX=x)dy E(Y|X=x)=\int_{-\infty}^{\infty}YPr(Y|X=x)dy

从本质上讲,给定条件X=xX=x的时候,E(YX=x)E(Y|X=x)是一个关于xx的函数,可视为h(x)h(x)。区别就在于,当E(YX)E(Y|X)中的随机变量XX在一概率下等于xx的情况发生的时候,其变为h(x)h(x)

为加深理解,可看看如下一段有意思的证明过程,其中包含了几个关键知识点:
E[E(YX)]=E(Yx)Pr(x)dx=yPr(yx)Pr(x)dydx=yPr(x,y)dydx=E(Y) \begin{aligned} E[E(Y | X)] &=\int_{-\infty}^{\infty} E(Y | x) Pr(x) d x \\ &=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y Pr(y | x) Pr(x) d y d x\\ &=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y Pr(x,y)dydx\\ &=E(Y) \end{aligned}
看清期望的内部运算机理之后,书中式(2.11)的前一步其实就是:

EPE(f)=E([Yf(X)]2)=[yf(x)]2Pr(x,y)dxdy=[yf(x)]2Pr(yx)dyPr(x)dx=EPE(f)=EXEYX([Yf(X)]2X) \begin{aligned} \rm{EPE}(f)&=E([Y-f(X)]^2)\qquad\qquad\\ &=\int\int[y-f(x)]^2\Pr(x,y)dxdy\\ &=\int\int[y-f(x)]^2\Pr(y \mid x)dy\Pr(x)dx\\ &=\rm{EPE}(f) = \rm{E}_X\rm{E}_{Y\mid X}([Y-f(X)]^2\mid X) \end{aligned}
为了使得EPEEPE最小,对于每一个点xx来说,f(x)f(x)的结果都需要逼近yy,只要逐点逼近yy,就可以让EPEEPE最小,那么此时的函数f(x)f(x)的解为:

f(x)=E(YX=x) f(x) = \rm{E}(Y\mid X=x)

逐点逼近是直观感性的理解,基于该种说法如何推得最终解本人尚未研究清楚,但是有基于数学的具体推导过程如下:
首先原式为
EPE=[yf(x)]2Pr(x,y)dxdy EPE=\int\int[y-f(x)]^2\Pr(x,y)dxdy
目标选择合适的f(x)f(x)来最小化EPE,那么直接对f(x)f(x)求偏导:
EPEf(x)=2[yf(x)]Pr(x,y)dy \frac{\partial EPE}{\partial f(x)} = -2\int[y-f(x)]\Pr(x,y)dy
拆开积分里面的括号,f(x)Pr(x,y)dy\int f(x)\Pr(x,y)dy就等于f(x)Pr(x)f(x)\Pr(x),因此可求解得最终f(x)f(x)为:

f(x)=yPr(x,y)dyPr(x)=yPr(yx)dy=E(YX) f(x)=\frac{\int y\Pr(x,y)dy}{\Pr(x)} = \int y\Pr(y \mid x)dy = E(Y \mid X)

所以条件期望也被称之为回归函数,因为一开始我们就是要寻找一个f(X)f(X)来预测YY,现在解得f(X)f(X)是条件期望。

而对于上述所有推导过程得出的最终结果,本质上就是在计算损失函数值的期望,也就是误差的期望,也是训练函数f(x)f(x)的评价指标。推导过程感性理解就是对于每个确定的XX,计算在XX取当前值的情况下所得误差的期望值,再把所有XX的情况都考虑进来取个期望值作为最终误差期望。

那么前一章讲到的最近邻法就是用训练数据来得出这个回归函数,虽不能达到精确的条件期望的公式,但是通过近似的方法使得算法可以拟合回归函数。就是上文中的两个近似。

f(x)f(x) 的线性模型插入 EPE(2.9)\rm{EPE} (2.9) 然后微分,可以理论上解出 β\beta
β=[E(XXT)]1E(XY)(2.16) \beta = [\rm{E}(XX^T)]^{-1}\rm{E}(XY)\tag{2.16}

这里的推导过程和2.3节中最小二乘的个人解读部分的推导方法一致,需要知道的点就是如果期望是函数的形式,理论上可以先对函数求导之后再求期望,知道这点之后后面的过程就完全一致。插入 EPE(2.9)\rm{EPE} (2.9) 然后微分所得出的倒数第二步的结果是:

E(XXTβ)=E(XY) \rm{E}(XX^T\beta) = \rm{E}(XY)

由此推得2.16的结果。

对于离散数据,原文引入了对贝叶斯分类的简单讨论。有关贝叶斯分类和k近邻之间的关系,原文里面讨论得非常清晰,是很本质的理解。

相关文章:

  • 2021-10-29
  • 2021-12-27
  • 2021-05-01
  • 2021-07-24
  • 2021-07-08
猜你喜欢
  • 2021-06-25
  • 2021-12-19
  • 2022-12-23
  • 2021-12-21
  • 2021-05-20
  • 2021-08-12
  • 2022-02-09
相关资源
相似解决方案