diff --git a/docs/sources/regularizers.md b/docs/sources/regularizers.md index c52d713d6..eac70167e 100644 --- a/docs/sources/regularizers.md +++ b/docs/sources/regularizers.md @@ -15,3 +15,4 @@ model.add(Dense(64, 64, W_regularizer = l2(.01))) - __l1__(l=0.01): L1 regularization penalty, also known as LASSO - __l2__(l=0.01): L2 regularization penalty, also known as weight decay, or Ridge +- __l1l2__(l1=0.01, l2=0.01): L1-L2 regularization penalty, also known as ElasticNet diff --git a/keras/regularizers.py b/keras/regularizers.py index 5da154510..f5a9becf4 100644 --- a/keras/regularizers.py +++ b/keras/regularizers.py @@ -15,5 +15,12 @@ def l2(l=.01): return g return l2wrap +def l1l2(l1=.01, l2=.01): + def l1l2wrap(g, p): + g += T.sgn(p) * l1 + g += p * l2 + return g + return l1l2wrap + def identity(g, p): return g \ No newline at end of file