class DNN::Regularizers::L1L2

Public Class Methods

new(l1_lambda = 0.01, l2_lambda = 0.01) click to toggle source

@param [Float] l1_lambda L1 regularizer coefficient. @param [Float] l2_lambda L2 regularizer coefficient.

# File lib/dnn/core/regularizers.rb, line 88
def initialize(l1_lambda = 0.01, l2_lambda = 0.01)
  @l1 = Layers::Lasso.new(l1_lambda)
  @l2 = Layers::Ridge.new(l2_lambda)
end

Public Instance Methods

forward(x) click to toggle source
# File lib/dnn/core/regularizers.rb, line 93
def forward(x)
  x + @l1.(@param) + @l2.(@param)
end
l1_lambda() click to toggle source
# File lib/dnn/core/regularizers.rb, line 97
def l1_lambda
  @l1.l1_lambda
end
l1_lambda=(lam) click to toggle source
# File lib/dnn/core/regularizers.rb, line 101
def l1_lambda=(lam)
  @l1.l1_lambda = lam
end
l2_lambda() click to toggle source
# File lib/dnn/core/regularizers.rb, line 105
def l2_lambda
  @l2.l2_lambda
end
l2_lambda=(lam) click to toggle source
# File lib/dnn/core/regularizers.rb, line 109
def l2_lambda=(lam)
  @l2.l2_lambda = lam
end
load_hash(hash) click to toggle source
# File lib/dnn/core/regularizers.rb, line 117
def load_hash(hash)
  initialize(hash[:l1_lambda], hash[:l2_lambda])
end
to_hash() click to toggle source
Calls superclass method DNN::Regularizers::Regularizer#to_hash
# File lib/dnn/core/regularizers.rb, line 113
def to_hash
  super(l1_lambda: l1_lambda, l2_lambda: l2_lambda)
end