TF笔记 - 正则化
程序员文章站
2022-07-13 12:42:57
...
√过拟合:神经网络模型在训练数据集上的准确率较高,在新的数据进行预测或分类时准确率较低,说明模型的泛化能力差。
√正则化:在损失函数中给每个参数 w 加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合。
正则化在损失函数中引入模型复杂度指标,利用给W加权值,弱化了训练数据的噪声(一般不正则化b)
loss = loss(y与y_) + REGULARIZER * loss(w)
√正则化计算方法:
1 L1 正则化:
loss L1 = ∑ i |w i |
用 Tesnsorflow 函数表示:loss(w) = tf.contrib.layers.l1_regularizer(REGULARIZER)(w)
2 L2 正则化:
loss L2 = ∑ i |w i | 2
用 Tesnsorflow 函数表示:loss(w) = tf.contrib.layers.l2_regularizer(REGULARIZER)(w)
√用 Tesnsorflow 函数实现正则化:
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(regularizer)(w)
loss = cem + tf.add_n(tf.get_collection('losses'))
cem 的计算已在 4.1 节中给出。
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(regularizer)(w))
把内容加到集合对应位置做加法
上一篇: 添加 dropout 正则化