台湾大学林轩田《机器学习基石》学习笔记第15讲—— Validation

本文是关于台湾大学林轩田《机器学习基石》课程的学习笔记,重点讨论模型选择问题及其解决策略,包括验证集的概念、验证方法如交叉验证,并对比了Ein、Etest和Eval在模型选择中的作用,强调了验证集大小和泛化能力的关系,介绍了Leave-One-Out和V-Fold Cross Validation的适用场景与优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上节课我们引入了augmented error,并学习如何通过加入regularizer来限制model complexity,并求得augmented error的最小值。从开始到现在我们已经学习到很多模型,但究竟哪些模型能得到更好的泛化能力呢?这节课我们将来探讨一下这个问题。
一、Model Selection Problem
在这里插入图片描述

对于一个简单的binary classification问题,模型上,我们就有多维的选择:

  • 算法A的选择(PLA、pocket、linear regression…)
  • 迭代次数T的选择
  • 学习速率η的选择
  • 特征转换feature transform φ的选择
  • 正则化regularizer的选择
  • 正则化系数λ的选择

不同的选择搭配,有不同的机器学习效果。
在这里插入图片描述

  • 我们的目标是找到一个g使得Eout最小,但实际情况是Eout我们并不知道,我们并没有办法去衡量Eout究竟是多少。
  • 那究竟如何来选择这个g呢,或者说是模型?
    在这里插入图片描述
  • 我们首先想到可以通过Ein来做选择,只要Ein越小越好,这样是否可行呢?
  • 我们知道ϕ1126\phi_{1126}ϕ1126找到的Ein往往会比ϕ1\phi_{1}ϕ1要小,但这个代价会导致严重的overfitting,即bad generalization;
  • 那假设我们在几个不同的Hypothesis set中分别找出最小的Ein再做比较呢?也不行,因为等效的Hypothesis set变大了,dvcd_{vc}dvc变大,同样容易导致overfitting,获得很差的generalization;
  • 所以通过Ein来选择是不可行的!
    在这里插入图片描述
  • 那么通过一个另外的测试数据集DtestD_{test}Dtest可行么?
  • 根据finite-bin Hoffding不等式,只要我们的模型个数M越小,DtestD_{test}Dtest数目越大,那么EtestE_{test}Etest就会越接近EoutE_{out}Eout;
  • 但是问题是这样的DtestD_{test}Dtest我们并不好获得。
    在这里插入图片描述
  • 既然使用EinE_{in}EinEtestE_{test}Etest都有自己的局限性,但其优点分别是找到一个小的EinE_{in}Ein和使用EtestE_{test}Etest来检验generalization,那么折中一下:
  • 找到一个EvalE_{val}Eval,它是通过数据集Dval⊂DD_{val}\subset DDvalD,一来DvalD_{val}Dval是我们方便获取的,二来EvalE_{val}Eval可以用来替代EtestE_{test}Etest
  • 验证集DvalD_{val}Dva
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值