ESL 2.3:最小二乘法和最近邻法

本节介绍了两个线性模型的拟合方法:

  • 最小二乘法
    由于假设模型是线性的,预测的结果稳定但是可能会不准确。
  • k 最近邻法
    对模型没有假设,预测结果准确但是不稳定(根据 k 设定值会不同)

线性模型和最小二乘

线性模型指形如 y=ax+b 的模型,是超平面上的直线。

某个线性模型输入具有 p 个特征,输出是一个标量。预测模型可以表示为:

\hat y = \beta_0 + \sum_{i=1}^p x_i \beta_i

为了表示方便,我们常常把常数项加入 \beta,从而变成一个 p+1 维的向量:

\hat y = X^T \boldsymbol{\beta}

其中:
X^T = [1, x_1, x_2, ..., x_p]
\boldsymbol{\beta} = [\beta_0, \beta_1, \beta_2, ..., \beta_p]^T

最小二乘法是最流行的线性模型拟合方法。它的目的是找出系数 \boldsymbol{\beta} 使 ||Y-\hat Y||_2 (residual sum of squares, RSS)最小:

\text{RSS}(\boldsymbol{\beta} ) = \sum_{j=1}^N (y_j - X_j^T\boldsymbol{\beta} )^2

其中 j 代表训练数据的序号。一共有 N 组训练数据。

用矩阵形式表示为:

\text{RSS}(\boldsymbol{\beta}) = (\boldsymbol{y} - \boldsymbol{X}\boldsymbol{\beta} )^T(\boldsymbol{y} - \boldsymbol{X}\boldsymbol{\beta} )

其中 \boldsymbol{ X } 每一行都是一组训练数据输入:

\boldsymbol{ X } = \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \vdots & & \vdots \\ 1 & x_{N1} & x_{N2} & \cdots & x_{Np} \\ \end{bmatrix}_{ N \times ( p+1 ) }

\text{RSS}(\boldsymbol{\beta})\boldsymbol{\beta} 求导,并令导数为 0 :
\boldsymbol{X}^T(\boldsymbol{y} - \boldsymbol{X} \boldsymbol{\beta}) = 0
得出二次函数最值点:

\hat{\boldsymbol{\beta}} = (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}

关于矩阵求导,可以看我另一篇文章:向量和矩阵求导

最近邻法

最近邻法挑选 k 个与给定输入最相似的训练数据输入,并将其结果取平均得到预测结果。

\hat y = \frac{1}{k} \sum_{x_i \in N_k(x)}y_i

其中 N_k(x) 指输入 xk 个最近的 Neighbor。

这里有一个可调节的参数 k,当选取的 k 越大时,误差越大。

方法对比

我们用两个不同的二元高斯分布各产生100个数据,并分别使用最小二乘法和最近邻法分类:

最小二乘法分类结果

由于最小二乘法假设了模型是线性的,因此在二维平面上,分界线就是一条直线(三维时,是一个平面)。对于我们的数据集,这样的分类存在一些误差。

最近邻法分类结果(k = 15)
最近邻法分类结果(k = 1)

最近邻法结果根据 k 的选择不同而不同。当 k 增大时,由于考虑的点越来越多,边界也会越来越“模糊”。

维度诅咒:高维中的局部方法

看起来最近邻法似乎效果不错,理论上,只要我们训练数据足够多,总能找到距离 x 足够近的 k 个邻居。然而,在高维情况下,这种思路是不可行的。这也称作”维度诅咒“。维度诅咒主要体现在三个方面:

  1. 数据量膨胀
  2. 样本靠近边界

数据量膨胀

设想一个 p 维的超立方体,它的每个维度边长都是 1,体积为 1。假设我们要预测的是这个立方体中体积为 v 的一部分。那么被选取的立方体的边长就是 e_p(r) = v^{1/p}

例如对于 10 维的输入,我们为了准确预测其中 1% 的数据,需要在每个维度选取 0.01^{0.1} = 63.09\% 作为训练数据。如果需要预测 10%,则需要选取0.1^{0.1} = 79.43\%。这显然太多了。

每个维度需要的训练数据与总维度的关系

样本靠近边界

仍以这个 p 维的单位超立方体为例,假设我们对每个维度均匀采样。样本落在边长为 r 的立方体中的概率为 r^p。可以看出,这个概率随着维度增加而减少(因为 r \leq 1)。也就是说,维度越大,越高比例的采样点靠近采样边界。

如果这个采样进行 N 次,那么所有样本都 不在 边长为 r 的小立方体中的概率为:

\text{P}(x >= r) = (1-r^p)^N

随着维度越来越大,“空心”现象会越来越严重。当我们尝试用最近邻法寻找邻居时,总会被“拉”到边界,导致有偏差的结果。

下面的图用简单的 1 维、2维情形直观显示了为什么维度扩大时,最近的邻居会越来越远(蓝色表示最近邻居)。

k-最近邻法(k=1)时的邻居

其根本原因是,我们定义的距离是欧氏距离,即:

d = \sqrt{\sum_{i=1}^p (x_i - a_i)^2}

在额外增加维度时,d 肯定是增加的。

预测误差衡量标准

已知输入 X 与输出 Y 之间的真实关系为:

Y = f(X)

假设训练数据集为 \tau,我们希望用k-最近邻法预测 x_0 的输出。可以定义误差指标为平均方差(mean squared error,MSE):

\begin{align*} \text{MSE}(x_0) &= E_{\tau} [f(x_0) - \hat{y}_0]^2 \\ &= E_{\tau}[\hat{y}_0 - E_{\tau}(\hat{y}_0)]^2 + [E_\tau(\hat{y}_0) - f(x_0)]^2 \\ &= \text{Var}_{\tau}(\hat{y}_0) + \text{Bias}^2(\hat{y}_0) \end{align*}

我们把预测误差分成了两个分量:

  • Variance:表示预测值的离散程度
  • Bias:表示预测值均值的偏差程度

我们用以下例子来说明 Var 和 Bias:

Y = f(X) = e^{-8||X||^2}

当我们选取 x_0 = 0 时,有 f(x_0) = 1,这是最大值。

由于 E_r(\hat{y}_0) \leq 1,无论如何选取邻居,都会导致预测结果往小了偏差(Bias)。

当维度增大时,由于 E_r(\hat{y}_0) 基本维持不变,Bias 也基本一致:

\text{Bias}^2(\hat{y}_0) = [E_\tau(\hat{y}_0) - f(x_0)]^2

当维度增大时,即使 E_r(\hat{y}_0) 基本维持不变,由于 \hat{y}_0 离中心越来越远,必然有 Var 越来越大:

\text{Var}_{\tau}(\hat{y}_0) = E_{\tau}[\hat{y}_0 - E_{\tau}(\hat{y}_0)]^2

绘制成图形如下:

预测误差与维度的关系
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容