机器学习笔记02-模型评估与选择1
最常见情况下,一种训练集只匹配一种算法
2.1 经验误差与过拟合
明确一些基本概念:
m样本数量
Y样本正确的结果
Y’使用模型进行预测,对一定数量的样本作出预测的结果
a预测中错误的样本总数
↓错误率E=a/m 精度1-E 误差|Y-Y’|
过拟合
为了得到一致假设而使假设变得过度严格
(常常使用增大数据量和样本集的方式进行评价是否存在过拟合)
2.2 评估方法(训练集、验证集与测试集)
泛化能力
模型对全新数据的预测能力,即使用测试集获得模型的泛化能力
测试集的保留方法
①留出法
按照简单分法,可以采用三七分、二八分等形式将全部数据集直接分开分为测试集合验证集对模型进行训练,但应注意训练集和测试集使用相同的分布;
按照随机划分法,可由数据集训练出多个模型,并最后对这些模型的预测结果取平均值。
②交叉验证法-k折交叉验证
将总数据集分成k折,每次按顺序取1折为测试集,其余(k-1)折数据作为训练集完成k次训练,得到k个预测结果,并对所有的k个预测结果取平均值得到最后结果。
(缺点:工作量较大,对设备算力和时间成本的要求较高,不适用于较大数据集的情况)
③自助法(使用数学思想)
给定包含m个样本的数据集D,分别对D进行m次随机采样,将采样结果拷贝后放回数据集D,得到共有m个数据样本的测试集D’,样本在m次采样中始终不被采样的概率为(1-1/m)^m,这个数值在m趋近于正无穷时的极限值约为0.368,因此得到结论:在D中有36.8%的数据没有出现在D’中,因此使用D’作为训练集,D\D’作为测试集
(这种方法常用于数据集较小较难分割时,但这种方法改变了数据集中数据的分布,会引入估计偏差)
验证集(Validation Set)
基本参数 神经网络每层神经元数量
神经网络层数
卷积网络中滤波器的层数
使用验证集作为反馈完成模型的调参
训练验证集—使用验证集看结果—调参(循环此过程直至模型达到理想状态)