交叉验证梳理

疑问:
  • 为什么要分训练集、验证集、测试集?
  • 为什么采用交叉验证?
  • 交叉验证的应用场景是什么?
  • 最终预测模型是怎么得到的?

预备知识:什么是超参数?

超参数是在开始学习过程之前设置值的参数(人为设置),而不是通过训练得到的参数数据。例如:树的数量或树的深度、学习率、深层神经网络隐藏层数、k均值聚类中的簇数等。

数据划分的演进过程:
1、训练集+测试集

如果在一个数据集A上进行训练,同样再用A作为评估数据集,无法评估在新数据集上的表现,为了避免这种情况,通常会取出一部分未被训练的数据作为测试集。



假如我们用训练集训练了一个随机森林模型,用测试集去评估模型,评估的过程中,会手动调整树颗数或者树深度这种超参数,然后再去测试集上看看效果如何。其实这种操作是错误的,这样做是在迎合测试集,造成测试集数据泄露,如果下一次再随机划分测试集,效果未必好,所以这是一个高方差的估计。

任何方式使用来自测试集的信息这种行为,都是 “窥视”。

习惯上我们称评估最终模型性能的数据集为 “测试集”,最终模型的评估必须在一个没有在训练模型或是调整参数时被使用过的数据集上进行。

问:若“封存”了测试集,那么通过什么来评估模型对不可见数据的性能呢?通过什么标准调参(超参数)呢?

答案:验证集

2、训练集+验证集+测试集

验证集用于初步评估模型能力,当验证集上的评估实验比较成功时,在测试集上进行最后的评估。


但是仅仅有单一的验证集还是有局限性的:
  • 如果样本数据较小,划分下来,用于训练的数据较少。可能存在丢失训练数据信息的风险。
  • 不同验证集生成的结果不同,这造成验证集具备极大的不确定性。(比如验证块中某些数据可能存在误差值,异常值,导致测试结果偏低,或者某些部分验证的数据过于简单,混入噪声较小,使得测试结果偏高)因为我们是要在验证集上调整超参数的,所以一定要将这种不确定性降低。

所以用K折交叉验证的方式来评估模型,能够减小偏差,并且评估性能较稳定。

如何解决上述问题?

答案:K折交叉验证

3、K折交叉验证+测试集

首先简述下K折交叉验证思路:

  • 验证数据其实是训练数据的一部分,假设将训练数据分成4折:
    • 第一次使用A+B+C训练,D验证,分数S1
    • 第二次使用A+B+D训练,C验证,分数S2
    • 第三次使用A+C+D训练,B验证,分数S3
    • 第四次使用B+C+D训练,A验证,分数S4

最终分数是S1、S2、S3、S4的平均。

K-cv解决的问题:
  • 训练集中的每个数据都可以参与训练,解决了训练数据不足的问题。
  • K折就是K个验证集,验证了K次,减小了验证集的不确定性。
5、交叉验证主要应用场景
(1)超参数寻优

对于只有一层隐藏层的神经网络,假如想确定隐藏层神经元的个数n,选取6个值[0,5],进行10折交叉验证,随着n的逐渐增大,模型拟合能力越好,偏差和方差同时下降。当n超过一定阈值,方差变大,这时模型开始过拟合,泛华能力降低。所以我们要选择合适参数,使得方差和偏差平衡,得到最优的模型。

但是这种优化属于局部优化,要想达到全局的最优,需使用网格搜索法。
(2)算法选择

我们可以认为模型=算法+参数,在(1)中我们关注改变不同的超参数调整并选择模型,同理我们也可以结合算法和参数的变化,选择模型。

问:现在知道了何时模型最优,那么如何确立最终的模型呢?

答:当我们确定下算法和超参数,用全量的数据训练一遍,得到的就是最终的预测模型。

参考:

Andrew W. Moore:Cross-validation for detecting and preventing overfitting
Andrew NG: < 结构化学习> 1.5-1.6
sklearn官方文档:http://sklearn.apachecn.org/cn/0.19.0/modules/cross_validation.html
重采样:https://www.zhihu.com/question/39259296
验证集和测试集的作用:https://cloud.tencent.com/developer/article/1034870
CV特征选择:https://blog.csdn.net/jasonding1354/article/details/50562513

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

推荐阅读更多精彩内容