6 #ifndef DISMEC_REGULARIZERS_IMP_H
7 #define DISMEC_REGULARIZERS_IMP_H
An Eigen vector with versioning information, to implement simple caching of results.
real_t point_wise_grad(real_t x) const
ElasticNetRegularizer(real_t epsilon, real_t scale, real_t interp, bool ignore_bias=false)
Constructor for a ElasticNet regularizer objective.
real_t point_wise_value(real_t x) const
real_t point_wise_quad(real_t x) const
This class implements a huber regularizer.
HuberRegularizer(real_t epsilon, real_t scale=1.0, bool ignore_bias=false)
Constructor for a Huber regularizer objective.
real_t point_wise_value(real_t x) const
real_t point_wise_quad(real_t x) const
real_t point_wise_grad(real_t x) const
Base class for pointwise regularization functions.
real_t scale() const
Returns the common scale factor for the entire regularizer.
This class implements a squared norm (L2) regularizer. Thus f(x) = 0.5 |x|^2.
static real_t point_wise_quad(real_t x)
real_t lookup_on_line(real_t a) override
Looks up the value of the objective on the line defined by the last call to project_to_line().
static real_t point_wise_grad(real_t x)
SquaredNormRegularizer(real_t scale=1, bool ignore_bias=false)
static real_t point_wise_value(real_t x)
real_t value_unchecked(const HashVector &location) override
void project_to_line_unchecked(const HashVector &location, const DenseRealVector &direction) override
types::DenseVector< real_t > DenseRealVector
Any dense, real values vector.
float real_t
The default type for floating point values.