网站建设的中期报告,什么行业最需要网站建设,网站开发工资如何,企业网站文章学习目标 完成集中学习的readme 完成联邦学习的代码编写 边学习边总结
学习内容
Introduction to Early Stopping
1、Overfitting
过拟合是所有机器学习#xff0c;深度学习中可能出现的一个比较严重的问题。具体表现就是#xff1a;你的模型在训练集上处理的效果非常好深度学习中可能出现的一个比较严重的问题。具体表现就是你的模型在训练集上处理的效果非常好但是在测试集上的表现就非常的差 以二元分类问题举例 可以看出第一个模型可能采用的是简单的线性分类效果不理想。第二个和第三个都能够正确的分类。但是为什么说第三个模型是过拟合呢因为此时第三个模型虽然很精确地区分了所有的训练数据但是他是通过记住训练数据的微小波动来得到这样一个“完美”的训练准确率的但是此时这个模型只学到了当前训练数据集的特征没有学到数据的整体特征他不能成功的表达除了训练数据以外的其他数据don’t generalize概括
2、relation of overfitting with model parameters
根据人的工作年限预测工资的例子回归 现在有三个模型对应的回归曲线
第一个模型只用两个参数就能很好的看出年限和工资的关系了线性增长第二个模型有三个参数它很好地解释了数据并考虑了二次项第三个模型有四个参数它就是过度拟合尽管它经过了所有的训练点但是不能很好的反应数据的趋势预测能力严重不足。 这说明了参数越多越容易过拟合神经网络的参数是非常多的所以神经网络就是过拟合的重灾区
3、Regularization正则化
1when do we use regularization?
当我们猜测模型是过拟合状态时就要使用正则化过拟合状态的显著特点就是验证集具有不好的性能验证集是模型没有“看到过”的数据所以如果模型值学到了训练集数据的知识那么在验证集上将具有很差的性能。所以在训练的过程中我们要不断的检测验证集的指标如果发现验证集没有显著提升的话这就是一个警报告诉我们模型正在过拟合我们就需要采取regularization techniques
2easy stopping
一般解决overfitting问题的策略就是Regularizationeasy stopping是其中的一个方法。 这个想法很简单模型在训练的过程中通过不断的tune调整parameters试图在training data上追踪loss function。我们现在再训练的同时保存一个validation data同时记录在validation data上的loss function的值当为我们发现validation set的loss没有提升的话我们就不要运行完所有的epochs直接stop。这种基于验证集性能的提前停止策略称为easy stopping。 从图中可以看出
随着epochs的增加训练集的准确率是在一直增加的很有可能就进入过拟合状态验证集在epoch8~10左右就饱和了说明模型可以在此时就停止训练了easy stopping不仅可以防止过度拟合而且需要相当少的Epoch来训练。
3 L1/L2 Regularization
正则化方法是在原目标代价函数 中添加惩罚项对复杂度高的模型进行“惩罚”通过对权重系数进行缩减 通常我们的损失函数是 l o s s f ( p r e d s , y ) loss f(preds,y) lossf(preds,y)其中 y y y是目标输出 p r e d s preds preds是预测值 线性回归问题的预测值可以表示为 p r e d s W X b predsWXb predsWXb L1/L2 regularization就是在这个损失函数的基础上加上一个惩罚项penalty term Ω ( W ) \Omega(W) Ω(W)可理解为模型“规模”的某种度量,参数 α \alpha α控制控制正则化强弱 l o s s f ( p r e d s , y , W ) α Ω ( W ) L 1 : Ω ( W ) ∣ ∣ W ∣ ∣ 1 ∑ i ∣ W i ∣ L 2 : Ω ( W ) ∣ ∣ W ∣ ∣ 2 ∑ i W i 2 loss f(preds,y,W)\alpha \Omega(W)\\ L1:\Omega(W)||W||_1\sum_i |W_i|\\ L2:\Omega(W)||W||_2\sum_i W_i^2\\ lossf(preds,y,W)αΩ(W)L1:Ω(W)∣∣W∣∣1i∑∣Wi∣L2:Ω(W)∣∣W∣∣2i∑Wi2 L1正则化使一些系数为零这意味着模型将忽略这些特征。忽略最不重要的特征有助于强调模型的基本特征。 L2正则化技术试图保持模型的权重接近于零但不是零这意味着每个特征对输出的影响应该很小而模型的精度应该尽可能高。
easy stopping的一些参数
monitor需要被监视的量。默认就是validatin lossmin_delta监视的量的最小的提升量。patience如果训练已经有patience个epochs没有提升了那么训练停止modeone of {“auto”,“min”,“max”}这是一个最大化问题还是最小化问题我们最大化精确度最小化损失。restore_best_weights是否使用最优的模型权重或者最后一个epoch时的模型权重