2.4 统计判别理论
| 原文 |
The Elements of Statistical Learning |
| 翻译 |
szcf-weiya |
| 时间 |
2018-08-21 |
| 解读 |
Hytn Chen |
| 更新 |
2020-01-07 |
翻译原文
这一节我们讨论一小部分理论,这些理论提供构建模型的一个框架,比如我们目前为止所有非正式讨论的模型.我们首先考虑定量输出时的情形,而且从随机变量和概率空间的角度来考虑.记 X∈IRp 为实值随机输入向量,Y∈IR 为实值随机输出变量,联合概率分布为 Pr(X,Y).给定输入 X,我们寻找一个函数 f(X) 来预测 Y.这个理论需要一个 损失函数 (loss function) L(Y,f(X)) 用来惩罚预测中的错误,到目前为止最常用并且最方便的是 平方误差损失 (squared error loss): L(Y,f(X))=(Y−f(X))2.这促使我们寻找 f 的一个准则——预测(平方)误差的期望EPE(f)=E(Y−f(x))2(2.9)用积分的形式表示就是
EPE(f)=E(Y−f(X))2=∫[y−f(x)]2Pr(dx,dy)(2.10)
在 X 的条件下,我们可以把 EPE 写成
EPE(f)=EXEY∣X([Y−f(X)]2∣X)(2.11)
而且我们看到使 EPE 逐点最小就足够了:
f(x)=argmincEY∣X([Y−c]2∣X=x)(2.12)
解为
f(x)=E(Y∣X=x)(2.13)
这是条件期望,也被称作 回归 (regression) 函数.因此,在任意点 X=x 时 Y 的最优预测是条件均值,此处的最优是用平均平方误差来衡量的.
此处条件是指对联合概率密度分解 Pr(X,Y)=Pr(Y∣X)Pr(X),其中 Pr(Y∣X)=Pr(Y,X)/Pr(X),因此分解成了双变量的积分.
最近邻方法试图直接利用训练数据完成任务.在每一点 x 处,我们可能需要输入变量 xi=x 附近的所有 yi 的均值.因为在任一点 x,一般至多有一个观测值,我们令
f^(x)=Ave(yi∣xi∈Nk(x))(2.14)
其中“Ave”表示平均,Nk(x) 是集合 T 中离 x 最近的 k 个点的邻域.这里有两个近似
- 用样本数据的平均近似期望;
- 在每一点的条件(期望)松弛为在离该目标点近的某个区域上的条件(期望).
f^(x)=Ave(yi∣xi∈Nk(x))(2.14)
对于规模为 N 的大规模训练数据,邻域中的点更可能接近 x,而且当 k 越大,平均值会更加稳定.事实上,在联合概率分布 Pr(X,Y) 温和正则条件下,可以证明当 N,k⟶∞ 使得 k/N⟶0 时,f^(x)⟶E(Y∣X=x).根据这个,为什么看得更远,因为似乎我们有个一般的近似量吗?我们经常没有非常大的样本.如果线性或者其它更多结构化的模型是合适的,那么我们经常可以得到比 k-最近邻更稳定的估计,尽管这些知识必须也要从数据中学习.然而还有其它的问题,有时是致命的.在下一个部分我们看到当维数 p 变大,k-最近邻的度量大小也随之变大.所以最近邻代替条件会让我们非常失望.收敛仍然保持,但是当维数增长后收敛 速率 (rate) 变小.
线性回归怎样适应这个框架?最简单的解释是假设回归函数 f(x) 近似线性
f(x)≈xTβ(2.15)
这是个基于模型的方式——我们明确用于回归函数的模型.将 f(x) 的线性模型插入 EPE(2.9) 然后微分,可以理论上解出 β
β=[E(XXT)]−1E(XY)(2.16)
注意到我们在 X 上没有条件;而是已经用了我们对函数关系的理解 整合 X 的值 (pool over values of X).最小二乘的解 (2.6) 相当于用训练数据的平均值替换掉 (2.16) 中的期望.
所以 k-最邻近和最小二乘最终都是根据平均来近似条件期望.但是它们在模型上显著不同.
- 最小二乘假设 f(x) 是某个整体线性函数的良好近似.
-
k-最近邻假设 f(x) 是局部常值函数的良好近似.
尽管后者似乎更容易被接受,但我们已经看到我们需要为这种灵活性付出代价.
这本书中描述的很多技巧都是基于模型的,尽管比严格的线性模型更加灵活.举个例子,可加性模型假设
f(X)=j=1∑pfj(Xj)(2.17)
这保留着线性模型的可加性,但是每个并列的函数 fj 是任意的.结果表明可加模型的最优估计是对于每个并列的函数 同时 (simultaneously) 用 k-最邻近去近似 单变量 (univariate) 的条件期望.因此在可加性的情况下,通过加上某些(通常不现实)的模型假设在高维中估计条件期望的问题被扫除了.
是否为 (2.11) 的标准而高兴?如果我们用 L1 损失函数 E∣Y−f(X)∣ 来替换 L2 损失函数会怎么样.这种情况下解是条件中位数,
f^(x)=median(Y∣X=x)(2.18)
条件中位数是另一种定位的方式,而且它的估计比条件均值更加鲁棒. L1 准则的导数不连续,阻碍了它们的广泛应用.其它更多耐抵抗 (resistant) 的损失函数会在后面章节中介绍,但是平方误差是分析方便而且是最受欢迎的.
当输出为类变量 G 时,我们应该怎样处理?同样的范例在这里也是可行的,除了我们需要一个不同的损失函数来惩罚预测错误.预测值 G^ 在 G 中取值, G 是可能的类别的集合.我们的损失函数可以用 K×K 的矩阵 L 来表示,其中 K=card(G).矩阵 L 对角元为 0 且其它地方值非负,其中 L(k,ℓ) 为把属于 Gk 的类分到 Gℓ 的代价.大多数情况下我们用 0-1 (zero-one) 损失函数,其中所有的错误分类都被要求一个单位的惩罚.预测错误的期望为
EPE=E[L(G,G^(X))](2.19)
同样关于联合分布 Pr(G,X) 取期望.再一次考虑条件分布,我们可以写出如下的 EPE
EPE=EXk=1∑KL[Gk,G^(X)]Pr(Gk∣X)(2.20)
同样逐点最小化 EPE 就足够了:
G^(x)=argming∈Gk=1∑KL(Gk,g)Pr(Gk∣X=x)(2.21)
结合 0-1 损失函数上式简化为
G^(x)=argming∈G[1−Pr(g∣X=x)](2.22)
!!! note “weiya 注:推导 2.22”
注意到,对于 0-1 损失,
L(Gk,g)={01if g=Gkif g=Gk,
则我们有
k=1∑KL(Gk,g)Pr(G=Gk∣X=x)=Gk=g∑Pr(G=Gk∣X=x)=1−Pr(G=g∣X=x).
或者简单地
G^(X)=Gk if Pr(Gk∣X=x)=g∈GmaxPr(g∣X=x)(2.23)
合理的解决方法被称作 贝叶斯分类 (Bayes classifier),利用条件(离散)分布 Pr(G∣X) 分到最合适的类别.对于我们模拟的例子图 2.5 显示了最优的贝叶斯判别边界.贝叶斯分类的误差阶被称作 贝叶斯阶 (Bayes rate).

图 2.5:在图 2.1,2.2,和 2.3 中模拟的例子的最优贝叶斯判别边界.因为每个类别的产生密度已知,则判别边界可以准确地计算出来.
再一次我们看到 k-最近邻分类直接近似这个解决方法——在最近邻内占绝大多数恰好意味着这个,除了某一点的条件概率松弛为该点的邻域内的条件概率,而且概率是通过训练样本的比例来估计的.
假设对于一个二分类的问题,我们采用虚拟变量的方法并且通过二进制变量 Y 编码 G,然后进行平方误差损失估计.当 G1 对应 Y=1,有 f^(X)=E(Y∣X)=Pr(G=G1∣X).同样对于 K 个类别的问题 E(Yk∣X)=Pr(G=Gk∣X).这显示了我们虚拟变量回归的过程,然后根据最大的拟合值来分类,这是表示贝叶斯分类器的另一种方式.尽管这个理论是确定的,在实现中问题也会随着采用的回归模型不同而出现.举个例子,当采用线性回归模型,f^(X) 不必要为正值,而且我们可能会怀疑用这个作为概率的一个估计.我们将在第四章中讨论构建模型 Pr(G∣X) 的各种不同的方式.
个人解读
统计判别理论该章节涉及许多概率论知识,首先需要理清基本概念才可以探索更深的知识或者进行公式的推导。
先从微积分的角度看看式(2.13)的公式:
E(Y∣X=x)=∫−∞∞YPr(Y∣X=x)dy
从本质上讲,给定条件X=x的时候,E(Y∣X=x)是一个关于x的函数,可视为h(x)。区别就在于,当E(Y∣X)中的随机变量X在一概率下等于x的情况发生的时候,其变为h(x)。
为加深理解,可看看如下一段有意思的证明过程,其中包含了几个关键知识点:
E[E(Y∣X)]=∫−∞∞E(Y∣x)Pr(x)dx=∫−∞∞∫−∞∞yPr(y∣x)Pr(x)dydx=∫−∞∞∫−∞∞yPr(x,y)dydx=E(Y)
看清期望的内部运算机理之后,书中式(2.11)的前一步其实就是:
EPE(f)=E([Y−f(X)]2)=∫∫[y−f(x)]2Pr(x,y)dxdy=∫∫[y−f(x)]2Pr(y∣x)dyPr(x)dx=EPE(f)=EXEY∣X([Y−f(X)]2∣X)
为了使得EPE最小,对于每一个点x来说,f(x)的结果都需要逼近y,只要逐点逼近y,就可以让EPE最小,那么此时的函数f(x)的解为:
f(x)=E(Y∣X=x)
逐点逼近是直观感性的理解,基于该种说法如何推得最终解本人尚未研究清楚,但是有基于数学的具体推导过程如下:
首先原式为
EPE=∫∫[y−f(x)]2Pr(x,y)dxdy
目标选择合适的f(x)来最小化EPE,那么直接对f(x)求偏导:
∂f(x)∂EPE=−2∫[y−f(x)]Pr(x,y)dy
拆开积分里面的括号,∫f(x)Pr(x,y)dy就等于f(x)Pr(x),因此可求解得最终f(x)为:
f(x)=Pr(x)∫yPr(x,y)dy=∫yPr(y∣x)dy=E(Y∣X)
所以条件期望也被称之为回归函数,因为一开始我们就是要寻找一个f(X)来预测Y,现在解得f(X)是条件期望。
而对于上述所有推导过程得出的最终结果,本质上就是在计算损失函数值的期望,也就是误差的期望,也是训练函数f(x)的评价指标。推导过程感性理解就是对于每个确定的X,计算在X取当前值的情况下所得误差的期望值,再把所有X的情况都考虑进来取个期望值作为最终误差期望。
那么前一章讲到的最近邻法就是用训练数据来得出这个回归函数,虽不能达到精确的条件期望的公式,但是通过近似的方法使得算法可以拟合回归函数。就是上文中的两个近似。
将 f(x) 的线性模型插入 EPE(2.9) 然后微分,可以理论上解出 β
β=[E(XXT)]−1E(XY)(2.16)
这里的推导过程和2.3节中最小二乘的个人解读部分的推导方法一致,需要知道的点就是如果期望是函数的形式,理论上可以先对函数求导之后再求期望,知道这点之后后面的过程就完全一致。插入 EPE(2.9) 然后微分所得出的倒数第二步的结果是:
E(XXTβ)=E(XY)
由此推得2.16的结果。
对于离散数据,原文引入了对贝叶斯分类的简单讨论。有关贝叶斯分类和k近邻之间的关系,原文里面讨论得非常清晰,是很本质的理解。