Class L1Regularization
- java.lang.Object
-
- org.nd4j.linalg.learning.regularization.L1Regularization
-
- All Implemented Interfaces:
Serializable
,Regularization
public class L1Regularization extends Object implements Regularization
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nd4j.linalg.learning.regularization.Regularization
Regularization.ApplyStep
-
-
Constructor Summary
Constructors Constructor Description L1Regularization(double l1)
L1Regularization(@NonNull ISchedule l1)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
apply(INDArray param, INDArray gradView, double lr, int iteration, int epoch)
Apply the regularization by modifying the gradient array in-placeRegularization.ApplyStep
applyStep()
Regularization
clone()
double
score(INDArray param, int iteration, int epoch)
Calculate the loss function score component for the regularization.
For example, in L2 regularization, this would returnL = 0.5 * sum_i param[i]^2
For regularization types that don't have a score component, this method can return 0.
-
-
-
Field Detail
-
l1
protected final ISchedule l1
-
-
Constructor Detail
-
L1Regularization
public L1Regularization(double l1)
- Parameters:
l1
- l1 regularization coefficient
-
L1Regularization
public L1Regularization(@NonNull @NonNull ISchedule l1)
- Parameters:
l1
- L1 regularization coefficient (schedule)
-
-
Method Detail
-
applyStep
public Regularization.ApplyStep applyStep()
- Specified by:
applyStep
in interfaceRegularization
- Returns:
- The step that the regularization should be applied, as defined by
Regularization.ApplyStep
-
apply
public void apply(INDArray param, INDArray gradView, double lr, int iteration, int epoch)
Description copied from interface:Regularization
Apply the regularization by modifying the gradient array in-place- Specified by:
apply
in interfaceRegularization
- Parameters:
param
- Input array (usually parameters)gradView
- Gradient view array (should be modified/updated). Same shape and type as the input array.lr
- Current learning rateiteration
- Current network training iterationepoch
- Current network training epoch
-
score
public double score(INDArray param, int iteration, int epoch)
Description copied from interface:Regularization
Calculate the loss function score component for the regularization.
For example, in L2 regularization, this would returnL = 0.5 * sum_i param[i]^2
For regularization types that don't have a score component, this method can return 0. However, note that this may make the regularization type not gradient checkable.- Specified by:
score
in interfaceRegularization
- Parameters:
param
- Input array (usually parameters)iteration
- Current network training iterationepoch
- Current network training epoch- Returns:
- Loss function score component based on the input/parameters array
-
clone
public Regularization clone()
- Specified by:
clone
in interfaceRegularization
- Overrides:
clone
in classObject
- Returns:
- An independent copy of the regularization instance
-
-