radius margin quotions for binary SVMs More...
#include <shark/ObjectiveFunctions/RadiusMarginQuotient.h>
Inheritance diagram for shark::RadiusMarginQuotient< InputType, CacheType >:Classes | |
| struct | Result |
Public Types | |
| typedef CacheType | QpFloatType |
| typedef KernelMatrix< InputType, QpFloatType > | KernelMatrixType |
| typedef CachedMatrix< KernelMatrixType > | CachedMatrixType |
| typedef LabeledData< InputType, unsigned int > | DatasetType |
| typedef AbstractKernelFunction< InputType > | KernelType |
Public Types inherited from shark::AbstractObjectiveFunction< RealVector, double > | |
| enum | Feature |
| List of features that are supported by an implementation. More... | |
| typedef RealVector | SearchPointType |
| typedef double | ResultType |
| typedef boost::mpl::if_< std::is_arithmetic< double >, SearchPointType, RealMatrix >::type | FirstOrderDerivative |
| typedef TypedFlags< Feature > | Features |
| This statement declares the member m_features. See Core/Flags.h for details. | |
| typedef TypedFeatureNotAvailableException< Feature > | FeatureNotAvailableException |
Public Member Functions | |
| RadiusMarginQuotient (DatasetType const &dataset, KernelType *kernel) | |
| Constructor. | |
| std::string | name () const |
| From INameable: return the class name. | |
| std::size_t | numberOfVariables () const |
| Accesses the number of variables. | |
| double | eval (SearchPointType const ¶meters) const |
| Evaluate the radius margin quotient. | |
| double | evalDerivative (SearchPointType const ¶meters, FirstOrderDerivative &derivative) const |
| Evaluate the radius margin quotient and its first derivative. | |
Public Member Functions inherited from shark::AbstractObjectiveFunction< RealVector, double > | |
| const Features & | features () 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 bool | hasScalableDimensionality () const |
| virtual void | setNumberOfVariables (std::size_t numberOfVariables) |
| Adjusts the number of variables if the function is scalable. | |
| 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, SecondOrderDerivative &derivative) const |
| Evaluates the objective function and calculates its gradient. | |
Public Member Functions inherited from shark::INameable | |
| virtual | ~INameable () |
Protected Member Functions | |
| Result | computeRadiusMargin () const |
Protected Member Functions inherited from shark::AbstractObjectiveFunction< RealVector, double > | |
| void | announceConstraintHandler (AbstractConstraintHandler< SearchPointType > const *handler) |
| helper function which is called to announce the presence of an constraint handler. | |
Protected Attributes | |
| KernelType * | mep_kernel |
| underlying parameterized kernel object | |
| DatasetType | m_dataset |
| labeled data for radius and (hard) margin computation | |
Protected Attributes inherited from shark::AbstractObjectiveFunction< RealVector, double > | |
| Features | m_features |
| std::size_t | m_evaluationCounter |
| Evaluation counter, default value: 0. | |
| AbstractConstraintHandler< SearchPointType > const * | m_constraintHandler |
| random::rng_type * | mep_rng |
radius margin quotions for binary SVMs
Definition at line 59 of file RadiusMarginQuotient.h.
| typedef CachedMatrix< KernelMatrixType > shark::RadiusMarginQuotient< InputType, CacheType >::CachedMatrixType |
Definition at line 65 of file RadiusMarginQuotient.h.
| typedef LabeledData<InputType, unsigned int> shark::RadiusMarginQuotient< InputType, CacheType >::DatasetType |
Definition at line 67 of file RadiusMarginQuotient.h.
| typedef KernelMatrix<InputType, QpFloatType> shark::RadiusMarginQuotient< InputType, CacheType >::KernelMatrixType |
Definition at line 64 of file RadiusMarginQuotient.h.
| typedef AbstractKernelFunction<InputType> shark::RadiusMarginQuotient< InputType, CacheType >::KernelType |
Definition at line 68 of file RadiusMarginQuotient.h.
| typedef CacheType shark::RadiusMarginQuotient< InputType, CacheType >::QpFloatType |
Definition at line 62 of file RadiusMarginQuotient.h.
|
inline |
Constructor.
Definition at line 71 of file RadiusMarginQuotient.h.
References shark::AbstractObjectiveFunction< RealVector, double >::HAS_FIRST_DERIVATIVE, shark::AbstractObjectiveFunction< RealVector, double >::HAS_VALUE, shark::AbstractKernelFunction< InputTypeT >::hasFirstParameterDerivative(), shark::AbstractObjectiveFunction< RealVector, double >::m_features, and shark::RadiusMarginQuotient< InputType, CacheType >::mep_kernel.
|
inlineprotected |
Definition at line 140 of file RadiusMarginQuotient.h.
References shark::RadiusMarginQuotient< InputType, CacheType >::Result::alpha, shark::RadiusMarginQuotient< InputType, CacheType >::Result::beta, shark::LabeledData< InputT, LabelT >::inputs(), shark::LabeledData< InputT, LabelT >::labels(), shark::RadiusMarginQuotient< InputType, CacheType >::m_dataset, shark::RadiusMarginQuotient< InputType, CacheType >::mep_kernel, shark::LabeledData< InputT, LabelT >::numberOfElements(), shark::RadiusMarginQuotient< InputType, CacheType >::Result::R2, shark::QpSolver< Problem, SelectionStrategy >::solve(), shark::QpSolutionProperties::value, and shark::RadiusMarginQuotient< InputType, CacheType >::Result::w2.
Referenced by shark::RadiusMarginQuotient< InputType, CacheType >::eval(), and shark::RadiusMarginQuotient< InputType, CacheType >::evalDerivative().
|
inlinevirtual |
Evaluate the radius margin quotient.
Reimplemented from shark::AbstractObjectiveFunction< RealVector, double >.
Definition at line 94 of file RadiusMarginQuotient.h.
References shark::RadiusMarginQuotient< InputType, CacheType >::computeRadiusMargin(), shark::LabeledData< InputT, LabelT >::empty(), shark::RadiusMarginQuotient< InputType, CacheType >::m_dataset, shark::AbstractObjectiveFunction< RealVector, double >::m_evaluationCounter, shark::RadiusMarginQuotient< InputType, CacheType >::mep_kernel, shark::IParameterizable< VectorType >::numberOfParameters(), shark::RadiusMarginQuotient< InputType, CacheType >::Result::R2, shark::IParameterizable< VectorType >::setParameterVector(), SHARK_RUNTIME_CHECK, SIZE_CHECK, and shark::RadiusMarginQuotient< InputType, CacheType >::Result::w2.
Referenced by main().
|
inlinevirtual |
Evaluate the radius margin quotient and its first derivative.
Reimplemented from shark::AbstractObjectiveFunction< RealVector, double >.
Definition at line 113 of file RadiusMarginQuotient.h.
References shark::RadiusMarginQuotient< InputType, CacheType >::Result::alpha, shark::RadiusMarginQuotient< InputType, CacheType >::Result::beta, shark::calculateKernelMatrixParameterDerivative(), shark::RadiusMarginQuotient< InputType, CacheType >::computeRadiusMargin(), shark::LabeledData< InputT, LabelT >::empty(), shark::LabeledData< InputT, LabelT >::inputs(), shark::RadiusMarginQuotient< InputType, CacheType >::m_dataset, shark::AbstractObjectiveFunction< RealVector, double >::m_evaluationCounter, shark::RadiusMarginQuotient< InputType, CacheType >::mep_kernel, shark::IParameterizable< VectorType >::numberOfParameters(), shark::RadiusMarginQuotient< InputType, CacheType >::Result::R2, shark::IParameterizable< VectorType >::setParameterVector(), SHARK_RUNTIME_CHECK, SIZE_CHECK, and shark::RadiusMarginQuotient< InputType, CacheType >::Result::w2.
|
inlinevirtual |
From INameable: return the class name.
Reimplemented from shark::INameable.
Definition at line 81 of file RadiusMarginQuotient.h.
|
inlinevirtual |
Accesses the number of variables.
Implements shark::AbstractObjectiveFunction< RealVector, double >.
Definition at line 84 of file RadiusMarginQuotient.h.
References shark::RadiusMarginQuotient< InputType, CacheType >::mep_kernel, and shark::IParameterizable< VectorType >::numberOfParameters().
|
protected |
labeled data for radius and (hard) margin computation
Definition at line 186 of file RadiusMarginQuotient.h.
Referenced by shark::RadiusMarginQuotient< InputType, CacheType >::computeRadiusMargin(), shark::RadiusMarginQuotient< InputType, CacheType >::eval(), and shark::RadiusMarginQuotient< InputType, CacheType >::evalDerivative().
|
protected |
underlying parameterized kernel object
Definition at line 185 of file RadiusMarginQuotient.h.
Referenced by shark::RadiusMarginQuotient< InputType, CacheType >::computeRadiusMargin(), shark::RadiusMarginQuotient< InputType, CacheType >::eval(), shark::RadiusMarginQuotient< InputType, CacheType >::evalDerivative(), shark::RadiusMarginQuotient< InputType, CacheType >::numberOfVariables(), and shark::RadiusMarginQuotient< InputType, CacheType >::RadiusMarginQuotient().