有时候我们发现模型在训练数据集上的正确率非常高,但这个模型却很难对从未见过的数据做出正确相应。我们说,这个模型存在过拟合现象。
使用正则化方法可以有效缓解过拟合。也就是在损失函数中引入模型复杂度指标,给每个参数w加上权重,抑制训练数据中的噪声。 正则化通常只对参数w使用,不对偏置b使用。
使用正则化后,loss变成两部分。第一部分是以前求得的loss值,这一部分描述了正确结果与预测结果之间的差距,比如交叉熵、均方误差等。第二部分,用超参数REGULARIZER表示loss(w)的权重。
loss(w)有两种计算方式,一种是对所有w的绝对值求和,另一种是对所有w的平方的绝对追求和。这两种分别叫做L1正则化和L2正则化。TensorFlow中给出了两个函数,分别实现L1正则化实现和L2正则化实现。使用时,选择其中一个即可。
我们用tf.add_to_collection()把计算好的所有w正则化加在'losses'集合中。 用tf.add_n()可以把'losses'中的所有值相加。再加上交叉熵cem,构成了总损失函数。
我们感受一下正则化的作 |
正则化 regularization
最新推荐文章于 2020-08-08 18:39:47 发布
正则化是机器学习中一种重要的技术,通过在损失函数中引入惩罚项来防止模型过拟合。本文深入探讨了L1和L2正则化的区别,以及它们如何影响模型权重。同时,介绍了Dropout和Early Stopping等其他正则化策略,并通过实例展示了如何在实践中应用这些技术来提升模型的泛化能力。
摘要由CSDN通过智能技术生成