欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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))

把内容加到集合对应位置做加法