动手学深度学习-10multilayer perception

本文介绍了数据集的划分方法,包括训练集、验证集和测试集的使用,以及k-折交叉验证的概念。讨论了过拟合现象,指出当训练误差下降但泛化误差上升时可能出现过拟合问题,提出通过增加模型复杂度或使用正则化来解决。同时,探讨了模型容量与数据复杂度的匹配对避免过拟合和欠拟合的重要性,提出了如dropout等正则化技术。此外,还介绍了lambda函数和assert语句在Python中的应用。
摘要由CSDN通过智能技术生成
  • 训练集,验证集,测试集。

  • k-折交叉验证:把数据分为k份,其中一份作为验证集,得到训练精度。循环k次分别将数据用作验证集,取平均值为最后结果。

  • 过拟合:训练误差减小,但是泛化误差先减小,后增加。两个误差gap大。
    解决:模型足够大,再控制模型容量。

    • 估计模型容量(比较同类算法模型):
    1. 模型参数的个数,参数的选择范围。
    • 估计数据复杂度:样本个数,每个样本的元素个数,时间,空间结构。 请添加图片描述- 模型容量要和数据复杂度匹配,才能避免过拟合和欠拟合。
    • 如何控制模型容量?-控制参数取值范围:
    1. 硬性限制,参数<a
    2. 柔性限制:加正则项——权重衰退 :使得模型参数不会过大,控制模型复杂度。|note
  • dropout: 多用在MLP,

python

  • lambda argument_list: expression表示的是一个函数。这个函数叫做lambda函数。argument_list是输入,带入expression得到输出。
  • assert expression : Expression为False时,返回AssertError
  • Tips:
    • mask = (torch.Tensor(X.shape).uniform_(0, 1) > dropout).float()
      输出0、1矩阵,并且用mask相乘比 X[mask] = 赋值运算速度快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值