org.joone.engine.extenders
Class WeightDecayExtender
- java.lang.Object
-
- org.joone.engine.extenders.LearnerExtender
-
- org.joone.engine.extenders.DeltaRuleExtender
-
- org.joone.engine.extenders.WeightDecayExtender
-
public class WeightDecayExtender extends DeltaRuleExtender
Weight decay adds a penalty term to the error function. The penalty term penalizes large weights. The weight decay penalty term causes the weights to converge to smaller absolute values than they otherwise would. Smaller weights are expected to improve generalization. The update formula is changed in: Dw(t+1) = dw(t+1) - d x w(t) d is a weight decay value.
-
-
Constructor Summary
Constructors Constructor and Description WeightDecayExtender()Creates a new instance of WeightDecayExtender
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublegetDecay()Gets the decay parameter.doublegetDelta(double[] currentGradientOuts, int j, double aPreviousDelta)Computes the delta value for a bias.doublegetDelta(double[] currentInps, int j, double[] currentPattern, int k, double aPreviousDelta)Computes the delta value for a weight.voidpostBiasUpdate(double[] currentGradientOuts)Gives extenders a change to do some post-computing after the biases are updated.voidpostWeightUpdate(double[] currentPattern, double[] currentInps)Gives extenders a change to do some post-computing after the weights are updated.voidpreBiasUpdate(double[] currentGradientOuts)Gives extenders a change to do some pre-computing before the biases are updated.voidpreWeightUpdate(double[] currentPattern, double[] currentInps)Gives extenders a change to do some pre-computing before the weights are updated.voidsetDecay(double aDecay)Sets the decay parameter.-
Methods inherited from class org.joone.engine.extenders.LearnerExtender
isEnabled, setEnabled, setLearner
-
-
-
-
Constructor Detail
-
WeightDecayExtender
public WeightDecayExtender()
Creates a new instance of WeightDecayExtender
-
-
Method Detail
-
getDelta
public double getDelta(double[] currentGradientOuts, int j, double aPreviousDelta)Description copied from class:DeltaRuleExtenderComputes the delta value for a bias.- Specified by:
getDeltain classDeltaRuleExtender- Parameters:
currentGradientOuts- the back propagated gradients.j- the index of the bias.aPreviousDelta- a delta value calculated by a previous delta extender.
-
getDelta
public double getDelta(double[] currentInps, int j, double[] currentPattern, int k, double aPreviousDelta)Description copied from class:DeltaRuleExtenderComputes the delta value for a weight.- Specified by:
getDeltain classDeltaRuleExtender- Parameters:
currentInps- the forwarded input.j- the input index of the weight.currentPattern- the back propagated gradients.k- the output index of the weight.aPreviousDelta- a delta value calculated by a previous delta extender.
-
postBiasUpdate
public void postBiasUpdate(double[] currentGradientOuts)
Description copied from class:LearnerExtenderGives extenders a change to do some post-computing after the biases are updated.- Specified by:
postBiasUpdatein classLearnerExtender- Parameters:
currentGradientOuts- the back propagated gradients.
-
postWeightUpdate
public void postWeightUpdate(double[] currentPattern, double[] currentInps)Description copied from class:LearnerExtenderGives extenders a change to do some post-computing after the weights are updated.- Specified by:
postWeightUpdatein classLearnerExtender- Parameters:
currentPattern- the back propagated gradients.currentInps- the forwarded input.
-
preBiasUpdate
public void preBiasUpdate(double[] currentGradientOuts)
Description copied from class:LearnerExtenderGives extenders a change to do some pre-computing before the biases are updated.- Specified by:
preBiasUpdatein classLearnerExtender- Parameters:
currentGradientOuts- the back propagated gradients.
-
preWeightUpdate
public void preWeightUpdate(double[] currentPattern, double[] currentInps)Description copied from class:LearnerExtenderGives extenders a change to do some pre-computing before the weights are updated.- Specified by:
preWeightUpdatein classLearnerExtender- Parameters:
currentPattern- the back propagated gradients.currentInps- the forwarded input.
-
setDecay
public void setDecay(double aDecay)
Sets the decay parameter.- Parameters:
aDecay- the decay parameter value.
-
getDecay
public double getDecay()
Gets the decay parameter.- Returns:
- the decay parameter.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG