美文网首页
李沐-动手学深度学习(2)模型选择、过拟合和欠拟合

李沐-动手学深度学习(2)模型选择、过拟合和欠拟合

作者: minlover | 来源:发表于2022-06-19 11:07 被阅读0次

    【总结】

    训练数据集:训练模型参数;

    验证数据集:选择模型超参数。

    非大数据集上通常使用k-折交叉验证。

    模型容量需要匹配数据复杂度,否则可能导致欠拟合和过拟合。

    统计机器学习提供数学工具来衡量模型复杂度。

    实际中一般靠观察训练误差和验证误差。


    一、模型选择

    1、训练误差和泛化误差

    训练误差:模型在训练数据上的误差

    泛化误差:模型在新数据上的误差

    2、验证数据集和测试数据集

    验证数据集:用来评估模型好坏的数据集。不要跟训练数据集混在一起。

    测试数据集:只用一次的数据集。

    3、k-折交叉验证


    二、过拟合和欠拟合

    1、过拟合和欠拟合

    2、VC维

    (1)线性分类器的VC维

    2维输入的感知机(输入的特征是2,输出是1)

    (2)数据复杂度

    多个重要因素:样本个数、每个样本的元素个数、时间/空间结构、多样性。


    三、代码

    chapter_multilayer-perceptrons/underfit-overfit.ipynb

    四、问答

    (1)过拟合和欠拟合应该是用验证集来看

    (2)时序上的数据,不能随机采样分验证集训练集。一般一个时间之前的训练集,之后的验证集。

    (3)k折交叉验证,k的选择,看能承受的成本。k越大越好。

    (4)Q:k折交叉验证的目的是确定超参数吗,然后还要用这个超参数再训练一遍全数据吗?

    A:两种做法,一种就是k折交叉验证确定超参数,然后用这个超参数再训练一遍全数据;另一种是不再重新训练,就用k折交叉验证确定超参数,然后随便找出一折的模型,或找出精度最好的那一折模型;还有一种是,把k个交叉验证的模型都拿出来,预测test时,k个模型都预测一遍,然后取均值,模型稳定性好,预测代价高。

    (5)Q:如果训练是不平衡的,是否要考虑测试集是否也是不平衡的,再去决定是否使用一个平衡的验证集?

    A:正常情况,可以不平衡,但是应该通过加权使其平衡。假设有两类1:9,要考虑真实世界中是不是就是不平衡,如果是,那就应该把那主流的90%做好,10%尽量做好;如果不是,不平衡只是因为采样没采好,那么应该把那10%的权重提升,最简单的把那10%的样本多复制几遍,不复制在loss中加权给他更大权重。

    相关文章

      网友评论

          本文标题:李沐-动手学深度学习(2)模型选择、过拟合和欠拟合

          本文链接:https://www.haomeiwen.com/subject/cjflvrtx.html