Statistic Learning 4

1. Resampling Methods

重采样方法是现代统计学习中不可缺失的一环。它们包括:

  • 重复的从训练集中采样
  • 重复的拟合模型以获得额外的信息

重采样方法会耗费计算机资源,因为需要从训练集中采集不同的子集来多次拟合同一个模型。下面,我们将要讨论两个较为常用的重采样方法:

  • C r o s s − V a l i d a t i o n Cross-Validation CrossValidation(交叉验证)
  • B o o t S t r a p BootStrap BootStrap

其中交叉验证估计测试误差以灵活的选择模型; B o o t S t r a p BootStrap BootStrap衡量了给定方法参数估计的准确性。

2. Cross Validation

Test Error Rate, Train Error Rate

  • Test Error Rate得到了一个方法预测新样本的平均误差;而Train Error Rate得到了一个方法在训练过程中Response和Label的误差。
  • 然而,Test Error Rate往往高于Train Error Rate

当缺少一个较大的测试集来估计Test Error Rate的时候,还有很多其他的替代方案如通过训练集得到Test Error Rate。在交叉验证中,训练样本中一个假冒的子集会扮演测试集。

The validation set approach

  • 假设我们要估计一个模型的Test Error Rate,Validation set approach是个非常简单的策略。它将所有样本随机分成2份,一份作为Training Set,另一份作为Validation Set(Hold-out Set)。模型在Training Set上进行训练,并通过Validation Set来验证模型的能力。尝试用 M S E MSE MSE来评价模型的验证效果,它是一种对Test Error Rate的评估。
  • 现在使用Auto数据集来验证Validation Set Approach方法
    • 在Auto dataset中,mpg和horsepower有着非线性的关系,所以在线性回归模型中加入 h o r s e p o w e r 2 horsepower^2 horsepower2这一项,将会使得模型获得更好的效果。那么,我们很自然的想知道,三次拟合或者更高次的拟合会不会有更好的效果呢?在前文中,我们采用 p − v a l u e p-value pvalue来检测这一点,但现在可以使用验证方法如 M S E MSE MSE来回答这个问题。
    • 我们将392个样本随机分为2份,即Training Set和Validation Set各196各样本。我们使用Training Set拟合不同的回归模型(从1次到高次),并在Validation Set上使用 M S E MSE MSE作为验证误差的度量,以评估各模型的性能。
    • 从实验结果上,我们可以发现:二次拟合明显优于线性拟合;然而三次和之后的高次拟合MSE不减反增,这证明了它们并没有很好的提升模型的性能。当整个数据集被重复的随机分成不同的Training Set和Validation Set,并训练模型后,会发现各个MSE曲线各不相同,它们对于哪个模型能够获得最好的性能并没有统一的意见。我们仅能得到的结论是:二次项的加入大大提升了模型的性能,表现在MSE普遍降低,故线性回归不适合该数据集。
  • Validation Set Approach很简单但有两个潜在的问题
    • 对所有数据集,不同的拆分发,训练出来的模型在验证集上 M S E MSE MSE各不相同,过于依赖特定的Training Set和Validation Set。
    • 在验证方法中,只用训练集中的样本拟合模型,故当训练样本较小时,验证集的Test Error Rate将被过高的估计。

3. Leave-One-Out Cross-Validation

  • 简称 L O O C V LOOCV LOOCV。假设有样本 { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . . ( x n , y n ) } \{(x_1, y_1), (x_2, y_2) .... (x_n, y_n)\} {(x1,y1),(x2,y2)....(xn,yn)} L O O C V LOOCV LOOCV每次从样本中挑选出一个样本作为Validation Set,剩下的 ( n − 1 ) (n-1) (n1)个样本当作Training Set。模型将会用 ( n − 1 ) (n-1) (n1)个样本来拟合模型,并用1个样本计算 M S E MSE MSE值。

    M S E = ( y 1 − y 1 ^ ) 2 MSE = (y_1 - \hat{y_1})^2 MSE=(y1y1^)2

  • 根据上述选择Test Set的方法,可将过程重复 n n n次得到 n n n M S E MSE MSE的值。 L O O C V LOOCV LOOCV估计Test MSE的方法为,求 n n n个Test Error估计的均值:

    C V ( n ) = 1 n ∑ i = 1 n M S E i CV(n) = \frac{1}{n}\sum_{i=1}^nMSE_i CV(n)=n1i=1nMSEi

  • L O O C V LOOCV LOOCV相对于Validation Set Approach方法有以下两个优点

    • 偏差低(far less bias)。bias高会导致过高估计Test Error Rate,因为浮动性太大,而造成这个问题的主要原因是训练样本不充足。而 L O O C V LOOCV LOOCV每次都选取 n − 1 n-1 n1个样本,相对于Validation Set Approach的 n 2 \frac{n}{2} 2n,Training Set大得多。故偏差高的问题得到缓解。
    • Validation Set Approach中的Training Set中的样本随机性太强,导致各个MSE曲线各不相同,无法得出有用的结论。而 L O O C V LOOCV LOOCV总会得出相似的MSE曲线,故在拆分训练集/测试集时没有随机性。
  • 然而,使用 L O O C V LOOCV LOOCV对算力要求较高,因为要测试 n n n次模型。当 n n n过大时,会耗费大量的时间拟合最小二乘线性或者多项式回归中,但是可通过一个捷径减小 L O O C V LOOCV LOOCV的开销至训练一个模型相当。公式如下:

    C V ( n ) = 1 n ∑ i = 1 n ( y i − y i ^ 1 − h i ) 2 CV(n) = \frac{1}{n}\sum_{i=1}^n(\frac{y_i-\hat{y_i}}{1-h_i})^2 CV(n)=n1i=1n(1hiyiyi^)2

    • 其中, y i ^ \hat{y_i} yi^未原始最小二乘的第 i i i个拟合值; h i h_i hi是高杠杆点。这个值和原始的 M S E MSE MSE相似,但第 i i i个残差除以了 ( 1 − h i ) (1-h_i) (1hi) l e v e r a g e leverage leverage值位于 ( 1 n , 1 ) (\frac{1}{n}, 1) (n1,1)之间,反应了一个样本对于拟合自身的影响。因此,高杠杆点的残差被正确的计算,从而使得等式成立。
    • 也就是说,影响Test Error Rate往往是异常点:离群点、高杠杆点。其中,高杠杆点的影响尤为明显,拟合 n n n次模型就是为了消除这些异常点的影响。而通过上述捷径公式可直接消除异常点的影响,无需进行多次的拟合,但该方法并不一直使用。

4. K-Fold Cross-Validation

  • L O O C V LOOCV LOOCV的一个替代品就是K-Fold CV,其步骤如下

    • 首先将训练集分成等大小的 k k k

    • 每次选择其中一组作为验证集,模型拟合剩余的 ( k − 1 ) (k-1) (k1)组,MSE计算均方差。

    • 重复 k k k次后,K-Fold CV可用于计算下式的估计

      C V ( k ) = 1 k ∑ i k M S E i CV(k) = \frac{1}{k}\sum_i^kMSE_i CV(k)=k1ikMSEi

    不难发现,当 k = n k=n k=n时, L O O C V LOOCV LOOCV是K-Fold CV的一个特殊形式。

  • 在实践中,往往设置 k = 5 k=5 k=5或者 k = 10 k=10 k=10,那么K-Fold相对于 L O O C V LOOCV LOOCV的优势在哪里呢?

    • 首先肯定是降低了计算量。 L O O C V LOOCV LOOCV需要拟合 n n n次模型,当 n n n很大的时候,这几乎是场灾难。
    • B i a s − V a r i a n c e − T r a d e − O f f Bias-Variance-Trade-Off BiasVarianceTradeOff。通过将训练集随机分成10个,并使用9个进行训练得到的Error Curve(误差曲线)的变化明显没有Validation Set Approach强烈。
  • 我们再详细的看一下 B i a s − V a r i a n c e − T r a d e − O f f Bias-Variance-Trade-Off BiasVarianceTradeOff

    • k < n k<n k<n时,K-Fold CV相对于 L O O C V LOOCV LOOCV有着计算上的优势。我们将该优势放在一边,可以发现K-Fold CV一个不太明显但却更加重要的优点是:它相较于 L O O C V LOOCV LOOCV对于Test Error Rate的估计会更加的精确,这和 B i a s − V a r i a n c e − T r a d e − O f f Bias-Variance-Trade-Off BiasVarianceTradeOff相关。
    • 在上文中,我们提到Validation Set Approach会对Test Error Rate估计过高,因为这个方法中的训练集仅为数据集的一半。在这个逻辑下,不难看出 L O O C V LOOCV LOOCV给出的测试误差近似无偏估计(因为每个训练集包含 ( n − 1 ) (n-1) (n1)个样本,接近整体了,求的就是每个整体数据集训练出来的模型的MSE的均值)。
    • 而K-Fold CV,当 k = 5 k=5 k=5 k = 10 k=10 k=10的时候,将会找到偏差较为中间的部分,因为每个训练集包含 n ( k − 1 ) k \frac{n(k-1)}{k} kn(k1)个样本,比 L O O C V LOOCV LOOCV的方法少得多,但比Validation Approach多得多。所以,从减少偏差的角度, L O O C V LOOCV LOOCV优于K-Fold CV。
    • 但在估计的过程中,偏差(Bias)并不是唯一需要关心的,我们必须要同时考虑 V a r i a n c e Variance Variance。事实证明,当 k < n k<n k<n时, L O O C V LOOCV LOOCV V a r i a n c e Variance Variance明显高于K-Fold CV。为什么?当我们进行 L O O C V LOOCV LOOCV的时候,我们实际上室对 n n n个拟合模型的输出进行平均,每个模型几乎都在相同的训练集上进行训练,因为这些输出高度相关。相比之下,K-Fold CV的输出相关性较小,因为每个模型的训练集的重叠度较小。
    • 因为许多高度相关量的均值比低相关量的均值,有更高的方差;因此, L O O C V LOOCV LOOCV产生的测试误差估计往往比K-Fold CV有更高的方差。

本文为作者原创,转载需注明出处!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值