#include <shark/Unsupervised/RBM/GradientApproximations/ExactGradient.h>
Public Types | |
typedef RBMType | RBM |
![]() | |
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 } |
List of features that are supported by an implementation. More... | |
typedef PointType | SearchPointType |
typedef ResultT | ResultType |
typedef SearchPointType | FirstOrderDerivative |
typedef TypedFlags< Feature > | Features |
This statement declares the member m_features. See Core/Flags.h for details. More... | |
typedef TypedFeatureNotAvailableException< Feature > | FeatureNotAvailableException |
Public Member Functions | |
ExactGradient (RBM *rbm) | |
std::string | name () const |
From INameable: return the class name. More... | |
void | setData (UnlabeledData< RealVector > const &data) |
SearchPointType | proposeStartingPoint () const |
Proposes a starting point in the feasible search space of the function. More... | |
std::size_t | numberOfVariables () const |
Accesses the number of variables. More... | |
void | setRegularizer (double factor, SingleObjectiveFunction *regularizer) |
double | eval (SearchPointType const ¶meter) const |
Evaluates the objective function for the supplied argument. More... | |
double | evalDerivative (SearchPointType const ¶meter, FirstOrderDerivative &derivative) const |
Evaluates the objective function and calculates its gradient. More... | |
long double | getLogPartition () |
![]() | |
const Features & | features () const |
virtual void | updateFeatures () |
bool | hasValue () const |
returns whether this function can calculate it's function value More... | |
bool | hasFirstDerivative () const |
returns whether this function can calculate the first derivative More... | |
bool | hasSecondDerivative () const |
returns whether this function can calculate the second derivative More... | |
bool | canProposeStartingPoint () const |
returns whether this function can propose a starting point. More... | |
bool | isConstrained () const |
returns whether this function can return More... | |
bool | hasConstraintHandler () const |
returns whether this function can return More... | |
bool | canProvideClosestFeasible () const |
Returns whether this function can calculate thee closest feasible to an infeasible point. More... | |
bool | isThreadSafe () const |
Returns true, when the function can be usd in parallel threads. More... | |
AbstractObjectiveFunction () | |
Default ctor. More... | |
virtual | ~AbstractObjectiveFunction () |
Virtual destructor. More... | |
virtual void | init () |
virtual bool | hasScalableDimensionality () const |
virtual void | setNumberOfVariables (std::size_t numberOfVariables) |
Adjusts the number of variables if the function is scalable. More... | |
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. More... | |
std::size_t | evaluationCounter () const |
Accesses the evaluation counter of the function. More... | |
AbstractConstraintHandler< SearchPointType > const & | getConstraintHandler () const |
Returns the constraint handler of the function if it has one. More... | |
virtual bool | isFeasible (const SearchPointType &input) const |
Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled. More... | |
virtual void | closestFeasible (SearchPointType &input) const |
If supported, the supplied point is repaired such that it satisfies all of the function's constraints. More... | |
ResultType | operator() (const SearchPointType &input) const |
Evaluates the function. Useful together with STL-Algorithms like std::transform. More... | |
virtual ResultType | evalDerivative (const SearchPointType &input, SecondOrderDerivative &derivative) const |
Evaluates the objective function and calculates its gradient. More... | |
![]() | |
virtual | ~INameable () |
Additional Inherited Members | |
![]() | |
void | announceConstraintHandler (AbstractConstraintHandler< SearchPointType > const *handler) |
helper function which is called to announce the presence of an constraint handler. More... | |
![]() | |
Features | m_features |
std::size_t | m_evaluationCounter |
Evaluation counter, default value: 0. More... | |
AbstractConstraintHandler< SearchPointType > const * | m_constraintHandler |
Definition at line 41 of file ExactGradient.h.
typedef RBMType shark::ExactGradient< RBMType >::RBM |
Definition at line 45 of file ExactGradient.h.
|
inline |
Definition at line 47 of file ExactGradient.h.
References shark::AbstractObjectiveFunction< PointType, ResultT >::CAN_PROPOSE_STARTING_POINT, shark::AbstractObjectiveFunction< PointType, ResultT >::HAS_FIRST_DERIVATIVE, shark::AbstractObjectiveFunction< PointType, ResultT >::m_features, and SHARK_ASSERT.
|
inlinevirtual |
Evaluates the objective function for the supplied argument.
[in] | input | The argument for which the function shall be evaluated. |
FeatureNotAvailableException | in the default implementation and if a function does not support this feature. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 75 of file ExactGradient.h.
References shark::AbstractObjectiveFunction< PointType, ResultT >::eval(), shark::negativeLogLikelihood(), and shark::Data< Type >::numberOfElements().
|
inlinevirtual |
Evaluates the objective function and calculates its gradient.
[in] | input | The argument to eval the function for. |
[out] | derivative | The derivate is placed here. |
FeatureNotAvailableException | in the default implementation and if a function does not support this feature. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 85 of file ExactGradient.h.
References shark::Data< Type >::batches(), shark::GibbsOperator< RBMType >::createSample(), shark::AbstractObjectiveFunction< PointType, ResultT >::evalDerivative(), shark::blas::noalias(), shark::Data< Type >::numberOfElements(), shark::blas::repeat(), and shark::blas::sum().
|
inline |
Definition at line 132 of file ExactGradient.h.
References shark::GibbsOperator< RBMType >::createSample(), shark::blas::min(), shark::GibbsOperator< RBMType >::precomputeVisible(), shark::blas::repeat(), and shark::blas::row().
|
inlinevirtual |
From INameable: return the class name.
Reimplemented from shark::INameable.
Definition at line 55 of file ExactGradient.h.
|
inlinevirtual |
Accesses the number of variables.
Implements shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 66 of file ExactGradient.h.
|
inlinevirtual |
Proposes a starting point in the feasible search space of the function.
FeatureNotAvailableException | in the default implementation and if a function does not support this feature. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 62 of file ExactGradient.h.
|
inline |
Definition at line 58 of file ExactGradient.h.
|
inline |
Definition at line 70 of file ExactGradient.h.