keras中添加正则化
keras中添加正则化
⼀、总结
⼀句话总结:
> model.add(Dense(64, input_dim=64,kernel_regularizer=regularizers.l2(0.01))
1、keras正则化⼏个关键字?
> kernel_regularizer:施加在权重上的正则项,为ularizer.Regularizer对象
> bias_regularizer:施加在偏置向量上的正则项,为ularizer.Regularizer对象
> activity_regularizer:施加在输出上的正则项,为ularizer.Regularizer对象
⼆、keras中添加正则化
正则项
正则项在优化过程中层的参数或层的激活值添加惩罚项,这些惩罚项将与损失函数⼀起作为⽹络的最终优化⽬标惩罚项基于层进⾏惩罚,⽬前惩罚项的接⼝与层有关,但Dense, Conv1D, Conv2D, Conv3D具有共同的接⼝。
这些层有三个关键字参数以施加正则项:
kernel_regularizer:施加在权重上的正则项,为ularizer.Regularizer对象
bias_regularizer:施加在偏置向量上的正则项,为ularizer.Regularizer对象
activity_regularizer:施加在输出上的正则项,为ularizer.Regularizer对象
例⼦
from keras import regularizers
model.add(Dense(64, input_dim=64,
kernel_regularizer=regularizers.l2(0.01),
activity_regularizer=regularizers.l1(0.01)))
可⽤正则项
开发新的正则项
任何以权重矩阵作为输⼊并返回单个数值的函数均可以作为正则项,⽰例:
from keras import backend as K
正则化的约束条件def l1_reg(weight_matrix):
return 0.01 * K.sum(K.abs(weight_matrix))
model.add(Dense(64, input_dim=64,
kernel_regularizer=l1_reg)可参考源代码
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论