shark::TwoNormRegularizer< SearchPointType > Class Template Reference

Two-norm of the input as an objective function. More...

#include <shark/ObjectiveFunctions/Regularizer.h>

+ Inheritance diagram for shark::TwoNormRegularizer< SearchPointType >:

Public Member Functions

 TwoNormRegularizer (std::size_t numVariables=0)
 Constructor.
 
std::string name () const
 From INameable: return the class name.
 
std::size_t numberOfVariables () const
 Accesses the number of variables.
 
bool hasScalableDimensionality () const
 
void setNumberOfVariables (std::size_t numberOfVariables)
 Adjusts the number of variables if the function is scalable.
 
void setMask (SearchPointType const &mask)
 
SearchPointType const & mask () const
 
double eval (SearchPointType const &input) const
 Evaluates the objective function.
 
double evalDerivative (SearchPointType const &input, SearchPointType &derivative) const
 
- Public Member Functions inherited from shark::AbstractObjectiveFunction< PointType, ResultT >
const Featuresfeatures () const
 
virtual void updateFeatures ()
 
bool hasValue () const
 returns whether this function can calculate it's function value
 
bool hasFirstDerivative () const
 returns whether this function can calculate the first derivative
 
bool hasSecondDerivative () const
 returns whether this function can calculate the second derivative
 
bool canProposeStartingPoint () const
 returns whether this function can propose a starting point.
 
bool isConstrained () const
 returns whether this function can return
 
bool hasConstraintHandler () const
 returns whether this function can return
 
bool canProvideClosestFeasible () const
 Returns whether this function can calculate thee closest feasible to an infeasible point.
 
bool isThreadSafe () const
 Returns true, when the function can be usd in parallel threads.
 
bool isNoisy () const
 Returns true, when the function can be usd in parallel threads.
 
 AbstractObjectiveFunction ()
 Default ctor.
 
virtual ~AbstractObjectiveFunction ()
 Virtual destructor.
 
virtual void init ()
 
void setRng (random::rng_type *rng)
 Sets the Rng used by the objective function.
 
virtual std::size_t numberOfObjectives () const
 
virtual bool hasScalableObjectives () const
 
virtual void setNumberOfObjectives (std::size_t numberOfObjectives)
 Adjusts the number of objectives if the function is scalable.
 
std::size_t evaluationCounter () const
 Accesses the evaluation counter of the function.
 
AbstractConstraintHandler< SearchPointType > const & getConstraintHandler () const
 Returns the constraint handler of the function if it has one.
 
virtual bool isFeasible (const SearchPointType &input) const
 Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled.
 
virtual void closestFeasible (SearchPointType &input) const
 If supported, the supplied point is repaired such that it satisfies all of the function's constraints.
 
virtual SearchPointType proposeStartingPoint () const
 Proposes a starting point in the feasible search space of the function.
 
ResultType operator() (SearchPointType const &input) const
 Evaluates the function. Useful together with STL-Algorithms like std::transform.
 
virtual ResultType evalDerivative (SearchPointType const &input, FirstOrderDerivative &derivative) const
 Evaluates the objective function and calculates its gradient.
 
virtual ResultType evalDerivative (SearchPointType const &input, SecondOrderDerivative &derivative) const
 Evaluates the objective function and calculates its gradient.
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 

Additional Inherited Members

- Public Types inherited from shark::AbstractObjectiveFunction< PointType, ResultT >
enum  Feature {
  HAS_VALUE = 1 , HAS_FIRST_DERIVATIVE = 2 , HAS_SECOND_DERIVATIVE = 4 , CAN_PROPOSE_STARTING_POINT = 8 ,
  IS_CONSTRAINED_FEATURE = 16 , HAS_CONSTRAINT_HANDLER = 32 , CAN_PROVIDE_CLOSEST_FEASIBLE = 64 , IS_THREAD_SAFE = 128 ,
  IS_NOISY = 256
}
 List of features that are supported by an implementation. More...
 
typedef PointType SearchPointType
 
typedef ResultT ResultType
 
typedef boost::mpl::if_< std::is_arithmetic< ResultT >, SearchPointType, RealMatrix >::type FirstOrderDerivative
 
typedef TypedFlags< FeatureFeatures
 This statement declares the member m_features. See Core/Flags.h for details.
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 
- Protected Member Functions inherited from shark::AbstractObjectiveFunction< PointType, ResultT >
void announceConstraintHandler (AbstractConstraintHandler< SearchPointType > const *handler)
 helper function which is called to announce the presence of an constraint handler.
 
- Protected Attributes inherited from shark::AbstractObjectiveFunction< PointType, ResultT >
Features m_features
 
std::size_t m_evaluationCounter
 Evaluation counter, default value: 0.
 
AbstractConstraintHandler< SearchPointType > const * m_constraintHandler
 
random::rng_type * mep_rng
 

Detailed Description

template<class SearchPointType = RealVector>
class shark::TwoNormRegularizer< SearchPointType >

Two-norm of the input as an objective function.

The TwoNormRegularizer is intended to be used together with other objective functions within a CombinedObjectiveFunction, in order to obtain a more smooth solution.

Definition at line 122 of file Regularizer.h.

Constructor & Destructor Documentation

◆ TwoNormRegularizer()

template<class SearchPointType = RealVector>
shark::TwoNormRegularizer< SearchPointType >::TwoNormRegularizer ( std::size_t  numVariables = 0)
inline

Member Function Documentation

◆ eval()

template<class SearchPointType = RealVector>
double shark::TwoNormRegularizer< SearchPointType >::eval ( SearchPointType const &  input) const
inlinevirtual

Evaluates the objective function.

Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.

Definition at line 156 of file Regularizer.h.

References shark::sqr().

Referenced by shark::TwoNormRegularizer< SearchPointType >::evalDerivative().

◆ evalDerivative()

template<class SearchPointType = RealVector>
double shark::TwoNormRegularizer< SearchPointType >::evalDerivative ( SearchPointType const &  input,
SearchPointType derivative 
) const
inline

Evaluates the objective function and calculates its gradient.

Definition at line 167 of file Regularizer.h.

References shark::TwoNormRegularizer< SearchPointType >::eval().

◆ hasScalableDimensionality()

template<class SearchPointType = RealVector>
bool shark::TwoNormRegularizer< SearchPointType >::hasScalableDimensionality ( ) const
inlinevirtual

Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.

Definition at line 140 of file Regularizer.h.

◆ mask()

template<class SearchPointType = RealVector>
SearchPointType const & shark::TwoNormRegularizer< SearchPointType >::mask ( ) const
inline

◆ name()

template<class SearchPointType = RealVector>
std::string shark::TwoNormRegularizer< SearchPointType >::name ( ) const
inlinevirtual

From INameable: return the class name.

Reimplemented from shark::INameable.

Definition at line 133 of file Regularizer.h.

◆ numberOfVariables()

template<class SearchPointType = RealVector>
std::size_t shark::TwoNormRegularizer< SearchPointType >::numberOfVariables ( ) const
inlinevirtual

Accesses the number of variables.

Implements shark::AbstractObjectiveFunction< PointType, ResultT >.

Definition at line 136 of file Regularizer.h.

Referenced by shark::TwoNormRegularizer< SearchPointType >::setNumberOfVariables().

◆ setMask()

template<class SearchPointType = RealVector>
void shark::TwoNormRegularizer< SearchPointType >::setMask ( SearchPointType const &  mask)
inline

◆ setNumberOfVariables()

template<class SearchPointType = RealVector>
void shark::TwoNormRegularizer< SearchPointType >::setNumberOfVariables ( std::size_t  numberOfVariables)
inlinevirtual

Adjusts the number of variables if the function is scalable.

Parameters
[in]numberOfVariablesThe new dimension.

Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.

Definition at line 144 of file Regularizer.h.

References shark::TwoNormRegularizer< SearchPointType >::numberOfVariables().


The documentation for this class was generated from the following file: