|View source on GitHub
Applies monotonicity constraints and normalization to TFL Linear layer.
Monotonicity is specified per input dimension in which case learned weight for those dimensions is guaranteed to be either non negative for increasing or non positive for decreasing monotonicity.
Monotonic dominance can be specified for any pair of dimensions referred to as dominant and weak dimensions such that the effect (slope) in the direction of the dominant dimension to be greater than that of the weak dimension for any point. Both dominant and weak dimensions must be increasing.
Range dominance can be specified for any pair of dominant and weak dimensions such that the range of possible outputs to be greater if one varies the dominant dimension than if one varies the weak dimension for any point. We require the slope of the dominant dimension scaled by its input range to be greater than the slope of the weak dimension similarly scaled by its input range. Both dimensions must have the same direction of monotonicity and their input min and max must be provided.
Weights can be constrained to have norm 1.
from_config( config )
Instantiates a weight constraint from a configuration dictionary.
constraint = UnitNorm()
config = constraint.get_config()
constraint = UnitNorm.from_config(config)
A Python dictionary, the output of
Standard Keras get_config() method.
Applies constraints to w.
Tensor which represents weights of TFL linear layer. Must have shape:
if shape of
w is not
w with monotonicity constraints and normalization applied to it.