首页 > 编程知识 正文

keras 正则化,keras l2正则化

时间:2023-05-04 12:26:24 阅读:246850 作者:4164

正则项

正则项在优化过程中层的参数或层的激活值添加惩罚项,这些惩罚项将与损失函数一起作为网络的最终优化目标

惩罚项基于层进行惩罚,目前惩罚项的接口与层有关,但Dense, Conv1D, Conv2D, Conv3D具有共同的接口。

这些层有三个关键字参数以施加正则项:

kernel_regularizer:施加在权重上的正则项,为keras.regularizer.Regularizer对象

bias_regularizer:施加在偏置向量上的正则项,为keras.regularizer.Regularizer对象

activity_regularizer:施加在输出上的正则项,为keras.regularizer.Regularizer对象

例子 from keras import regularizersmodel.add(Dense(64, input_dim=64, kernel_regularizer=regularizers.l2(0.01), activity_regularizer=regularizers.l1(0.01))) 可用正则项 keras.regularizers.l1(0.)keras.regularizers.l2(0.)keras.regularizers.l1_l2(0.) 开发新的正则项

任何以权重矩阵作为输入并返回单个数值的函数均可以作为正则项,示例:

from keras import backend as Kdef l1_reg(weight_matrix): return 0.01 * K.sum(K.abs(weight_matrix))model.add(Dense(64, input_dim=64, kernel_regularizer=l1_reg)

可参考源代码keras/regularizer.py

Flexboxspace-betweenhasextra1pxgapattheendwhenusingcalc()云直播播放域名配置 ULive

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。