【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记

第十一章 模型选择+过拟合和欠拟合

1.区分两种误差
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第1张图片
2.分清两种重要的数据集
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第2张图片
3.K-则交叉验证
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第3张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第4张图片
4.欠拟合和过拟合
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第5张图片
解决办法:
(欠拟合)
1.获得更多的训练数据
2.降维
3.正则化:保留特征、减少参数大小
(过拟合)
1.添加新特征
2.增加模型复杂度
3.减小正则化系数

5.估计模型容量
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第6张图片
全连接层如何计算参数的个数:
h = wx + b(h充当下一次的x 每一层的b只有1个)
6.总结
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第7张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第8张图片
7.一些小问题:
1.Svm的缺点:不适用于大数据集;可以调的东西不多。
神经网络的优点:它是一种语言,中间有很多有逻辑的语句;可以做很好的特征提取;
2.一个数据集30%做为测试数据集,70%作为训练数据集。在70%的数据集上做5折交叉验证(数据分成5块,五块轮流做测试集,最后求平均)(!!数据集不够的时候才有用,如果数据集太大不能用)
3.时序序列:最后一星期的做测试集,前边的做训练集
4.标准化:数据-均值 / 方差(两种方法计算,要不拿全部数据计算,要不用训练集数据计算)
5.设计超参数:推荐使用随机方法(随机100次)
6.如果训练是不平衡的(比如说二分类问题,两类9:1)⑴考虑现实世界中是不是也是这样的比例,如果是就可以抓大放小⑵如果是采样没采好,那么就可以提高1的比例,比如复制8遍让其1:1

第十二章 权重衰退(weight-decay)

我们总是可以通过去收集更多的训练数据来缓解过拟合。
但这可能成本很⾼,耗时颇多,或者完全超出我们的控制,因⽽在短期内不可能做到。
假设我们已经拥有尽可能多的⾼质量数据,我们便可以将重点放在正则化技术上。(正则化:保留特征、减少参数大小)

限制特征的数量是缓解过拟合的⼀种常⽤技术。
在训练参数化机器学习模型时,权重衰减(weight decay)是最⼴泛使⽤的正则化的技术之⼀,它通常也被 称为L2正则化。(一般使用在全连接层)
要保证权重向量⽐较⼩,最常⽤⽅法是将其范数作为惩罚项加到最⼩化损失的问题中。

【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第9张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第10张图片
注:加入惩罚项就是为了让w最优
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第11张图片
总结:
1. 权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度
2. 正则项权重是控制模型复杂度的超参数
3. 权重衰减的值λ:0.01 0.001 0.0001 权重衰减的效果并不好,后边会更新更多的方法(eg:dropout)

第十三章 丢弃法(dropout)

dropout定义

【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第12张图片
注:这里除以1-p是保证整体的均值还是不变的
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第13张图片
【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记_第14张图片
总结

  1. 丢弃法讲一些输出项随机置0来控制模型复杂度
  2. 一般作用在多层感知机的隐藏层输出上
  3. 丢弃概率是控制复杂度的超参数
  4. 丢弃概率一般是0.5 0.9 0.1(效果要比L2要好)
  5. 有dropout的好处:可以把隐藏层的稍微扩大一点,也可以把dropout的大小设置的大一些。也可以不用dropout,把隐藏层设置的小一些。
  6. 机器学习没有正确性,只有效果好不好
  7. 在推理中的dropout是直接返回输入的(推理一轮),因为在预测时跑非常多轮。
  8. Dropout一般都是在全连接层使用,权重衰退(weight decay)卷积层 transformer都可以用
  9. 有dropout的加入,参数的收敛可能会变慢。
  10. sigmoid可能引起梯度消失
  11. 整个深度学习,都是为了让数值更加的稳定
  12. nan的产生:除0 inf的产生:lr太大或者权重初始化太大

你可能感兴趣的:(深度学习,pytorch)