周志华《机器学习》第二章 模型评估与选择——模型评估方法

周志华《机器学习》(西瓜书)目录

https://editor.csdn.net/md?articleId=106864771
————————————————————————

模型评估方法

通常, 我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。

  • 留出法
  • 交叉验证法
  • 自助法
  • 调参与最终模型

留出法

“留出法” (hold-out)直接将数据集 D 划分为两个互斥的集合,其中一个集合作为训练集 S,另一个作为测试集 T, 即 D=SUT, S ∩ \cap T= ∅ \varnothing .在 S 上训 练出模型后,用 T 来评估其测试误差,作为对泛化误差的估计。
eg:
以二分类任务为例,假定 D包含 1000 个样本,将其划分为 8 包含 700 个样本, T 包含 300 个样本,用 S 进行训练后,如果模型在 T 上有 90 个样本分类错 误,那么其错误率为 (90/300) x 100% 口 30%,相应的,精度为 1- 30% = 70%.
注意:

  • 训练/测试集的划分要尽可能保持数据分布的一致性,避免 困数据划分过程引入额外的偏差而对最终结果产生影响
  • 在给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D 进行分割。
  • 选择合适的数据分割比例。

交叉验证法

“交叉验证法” (cross validation)先将数据集D划分为 k 个大小相似的互斥子集, 即 D = D1 ∪ \cup D2 ∪ \cup ∪ \cup Dk, Di ∩ \cap Dj = ∅ \varnothing ≠ \ne =j ) . 每个子集 Di 都 尽可能保持数据分布的一致性,即从 D 中通过分层采样得到。 然后,每次用 k-1 个子集的并集作为训练集,余 下的那个子集作为测试集;这样就可获得 k 组训练/测试集,从而可进行 k 次训练和测试, 最终返回的是这 k 个测试结果的均值。如下图所示,
10 折交又验证示意图

自助法

自助法:给定包含m 个样本的数据集 D , 我们对它进行采样产生数据集 D’: 每次随机从 D 中挑选一个样本, 将其拷贝放入 D’, 然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m 次后,我们就得到了包含 m 个样本的数据集 D’,这就是自助采样的结果。
注意:

  • 初始数据集 D 中约有 36.8% 的样本未出现在采样数据集 D’ 中。
  • 自助法在数据集较小、难以有效划分训练/测试集时很有用。
  • 自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差.

调参与最终模型

在进行模型评估与选择时,除了要对适用学习 算法进行选择,还需对算法参数进行设定,这就是通常所说的"参数调节"或 简称"调参" (parameter tuning)。
注意:

  • 调参和算法选择没什么本质区别:对每种参数配置都 训练出模型,然后把对应最好模型的参数作为结果。
  • 学习算法的很多参数是在实数范围内取值,因此,对每种参数 配置都训练出模型来是不可行的。
  • 我们通常把学得模型在实际使用中遇到的数据称为测 试数据,为了加以区分,模型评估与选择中用于评估测试的数据集常称为"验 证集" (validation set)。

参考文献

[1] 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.

猜你喜欢

转载自blog.csdn.net/jack_jay_du/article/details/106868018