2 模型评估与选择-评估方法
- 留出法(hold-out)
- 交叉验证法(cross validation)
- 自助法(bootstrapping)
- 调参(parameter tuning)
3.1 留出法
将数据集 $D$ 划分为 $S, T$:
D=S∩T,S∪T=∅
并采用**分层采样(stratified sampling)**,通常选用 $2/3 - 4/5$ 用于训练。
3.2 交叉验证法
将 $D$ 划分为 $k$ 个大小相似的互斥子集:
D=D1∪D2∪⋯∪Dk,Di∩Dj=∅(i≠j)
每次用 $k-1$ 个子集作为训练集,剩下一个作为测试集,称为**k折交叉验证(k-fold cross validation)**。$k$ 通常取 10,并随机使用不同划分重复 $p$ 次,最终取 $p$ 次结果均值,例如“10次10折交叉验证”。
假设数据集 $D$ 容量为 $m$,若 $k = m$,则称为**留一法(Leave-One-Out, LOO)**。留一法苹果结果比较准确,但计算开销也相应较大。
3.3 自助法
以**自助采样法(bootstrap sampling)**为基础,从 $D$ 中有放回地随机抽取 $m$ 次,得到同样包含 $m$ 个样本的 $D'$,$D$ 中有一部分样本会在 $D'$ 中出现多次,而另一部分则未出现,$m$ 次重采样始终未被采到的概率是:
limm→∞(1−1m)m→1e≈0.368
即 $36.8\%$ 的样本未出现在 $D'$。以 $D'$ 作为训练集,$D - D'$ 作为测试集。自助法在数据集较小、难以划分训练/测试集时很有用。