shark::LinearKernel< InputType > Class Template Reference

Linear Kernel, parameter free. More...

#include <shark/Models/Kernels/LinearKernel.h>

+ Inheritance diagram for shark::LinearKernel< InputType >:

Public Types

typedef base_type::BatchInputType BatchInputType
 
typedef base_type::ConstInputReference ConstInputReference
 
typedef base_type::ConstBatchInputReference ConstBatchInputReference
 
- Public Types inherited from shark::AbstractKernelFunction< InputTypeT >
enum  Feature { HAS_FIRST_PARAMETER_DERIVATIVE = 1 , HAS_FIRST_INPUT_DERIVATIVE = 2 , IS_NORMALIZED = 4 , SUPPORTS_VARIABLE_INPUT_SIZE = 8 }
 enumerations of kerneland metric features (flags) More...
 
typedef base_type::InputType InputType
 Input type of the Kernel.
 
typedef base_type::BatchInputType BatchInputType
 batch input type of the kernel
 
typedef base_type::ConstInputReference ConstInputReference
 Const references to InputType.
 
typedef base_type::ConstBatchInputReference ConstBatchInputReference
 Const references to BatchInputType.
 
typedef TypedFlags< FeatureFeatures
 This statement declares the member m_features. See Core/Flags.h for details.
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 
- Public Types inherited from shark::AbstractMetric< InputTypeT >
typedef InputTypeT InputType
 Input type of the Kernel.
 
typedef Batch< InputTypeT >::type BatchInputType
 batch input type of the kernel
 
typedef ConstProxyReference< InputTypeconst >::type ConstInputReference
 Const references to InputType.
 
typedef ConstProxyReference< BatchInputTypeconst >::type ConstBatchInputReference
 Const references to BatchInputType.
 
- Public Types inherited from shark::IParameterizable< VectorType >
typedef VectorType ParameterVectorType
 

Public Member Functions

 LinearKernel ()
 
std::string name () const
 From INameable: return the class name.
 
RealVector parameterVector () const
 Return the parameter vector.
 
void setParameterVector (RealVector const &newParameters)
 Set the parameter vector.
 
boost::shared_ptr< StatecreateState () const
 Creates an internal state of the kernel.
 
double eval (ConstInputReference x1, ConstInputReference x2) const
 
void eval (ConstBatchInputReference x1, ConstBatchInputReference x2, RealMatrix &result, State &state) const
 
void eval (ConstBatchInputReference x1, ConstBatchInputReference x2, RealMatrix &result) const
 
void weightedParameterDerivative (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix const &coefficients, State const &state, RealVector &gradient) const
 
void weightedInputDerivative (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix const &coefficientsX2, State const &state, BatchInputType &gradient) const
 
virtual double featureDistanceSqr (ConstInputReference x1, ConstInputReference x2) const
 
virtual RealMatrix featureDistanceSqr (ConstBatchInputReference x1, ConstBatchInputReference x2) const
 
void read (InArchive &ar)
 The kernel does not serialize anything.
 
void write (OutArchive &ar) const
 The kernel does not serialize anything.
 
- Public Member Functions inherited from shark::AbstractKernelFunction< InputTypeT >
 AbstractKernelFunction ()
 
const Featuresfeatures () const
 
virtual void updateFeatures ()
 
bool hasFirstParameterDerivative () const
 
bool hasFirstInputDerivative () const
 
bool isNormalized () const
 
bool supportsVariableInputSize () const
 
virtual double eval (ConstInputReference x1, ConstInputReference x2) const
 Evaluates the kernel function.
 
double operator() (ConstInputReference x1, ConstInputReference x2) const
 Convenience operator which evaluates the kernel function.
 
virtual void eval (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix &result, State &state) const =0
 Evaluates the subset of the KernelGram matrix which is defined by X1(rows) and X2 (columns).
 
virtual void eval (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix &result) const
 Evaluates the subset of the KernelGram matrix which is defined by X1(rows) and X2 (columns).
 
RealMatrix operator() (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2) const
 Evaluates the subset of the KernelGram matrix which is defined by X1(rows) and X2 (columns).
 
virtual void weightedParameterDerivative (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix const &coefficients, State const &state, RealVector &gradient) const
 Computes the gradient of the parameters as a weighted sum over the gradient of all elements of the batch.
 
virtual void weightedInputDerivative (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2, RealMatrix const &coefficientsX2, State const &state, BatchInputType &gradient) const
 Calculates the derivative of the inputs X1 (only x1!).
 
virtual double featureDistanceSqr (ConstInputReference x1, ConstInputReference x2) const
 Computes the squared distance in the kernel induced feature space.
 
virtual RealMatrix featureDistanceSqr (ConstBatchInputReference batchX1, ConstBatchInputReference batchX2) const
 Computes the squared distance in the kernel induced feature space.
 
- Public Member Functions inherited from shark::AbstractMetric< InputTypeT >
 AbstractMetric ()
 
virtual ~AbstractMetric ()
 
double featureDistance (ConstInputReference x1, ConstInputReference x2) const
 Computes the distance in the kernel induced feature space.
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
- Public Member Functions inherited from shark::IParameterizable< VectorType >
virtual ~IParameterizable ()
 
virtual std::size_t numberOfParameters () const
 Return the number of parameters.
 
- Public Member Functions inherited from shark::ISerializable
virtual ~ISerializable ()
 Virtual d'tor.
 
void load (InArchive &archive, unsigned int version)
 Versioned loading of components, calls read(...).
 
void save (OutArchive &archive, unsigned int version) const
 Versioned storing of components, calls write(...).
 
 BOOST_SERIALIZATION_SPLIT_MEMBER ()
 

Additional Inherited Members

- Protected Attributes inherited from shark::AbstractKernelFunction< InputTypeT >
Features m_features
 

Detailed Description

template<class InputType = RealVector>
class shark::LinearKernel< InputType >

Linear Kernel, parameter free.

Definition at line 47 of file LinearKernel.h.

Member Typedef Documentation

◆ BatchInputType

template<class InputType = RealVector>
typedef base_type::BatchInputType shark::LinearKernel< InputType >::BatchInputType

Definition at line 52 of file LinearKernel.h.

◆ ConstBatchInputReference

template<class InputType = RealVector>
typedef base_type::ConstBatchInputReference shark::LinearKernel< InputType >::ConstBatchInputReference

Definition at line 54 of file LinearKernel.h.

◆ ConstInputReference

template<class InputType = RealVector>
typedef base_type::ConstInputReference shark::LinearKernel< InputType >::ConstInputReference

Definition at line 53 of file LinearKernel.h.

Constructor & Destructor Documentation

◆ LinearKernel()

Member Function Documentation

◆ createState()

template<class InputType = RealVector>
boost::shared_ptr< State > shark::LinearKernel< InputType >::createState ( ) const
inlinevirtual

Creates an internal state of the kernel.

The state is needed when the derivatives are to be calculated. Eval can store a state which is then reused to speed up the calculations of the derivatives. This also allows eval to be evaluated in parallel!

Reimplemented from shark::AbstractKernelFunction< InputTypeT >.

Definition at line 73 of file LinearKernel.h.

◆ eval() [1/3]

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::eval ( ConstBatchInputReference  x1,
ConstBatchInputReference  x2,
RealMatrix &  result 
) const
inline

Definition at line 86 of file LinearKernel.h.

References SIZE_CHECK.

◆ eval() [2/3]

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::eval ( ConstBatchInputReference  x1,
ConstBatchInputReference  x2,
RealMatrix &  result,
State state 
) const
inline

Definition at line 82 of file LinearKernel.h.

References shark::LinearKernel< InputType >::eval().

◆ eval() [3/3]

template<class InputType = RealVector>
double shark::LinearKernel< InputType >::eval ( ConstInputReference  x1,
ConstInputReference  x2 
) const
inline

Definition at line 77 of file LinearKernel.h.

References SIZE_CHECK.

Referenced by shark::LinearKernel< InputType >::eval().

◆ featureDistanceSqr() [1/2]

template<class InputType = RealVector>
virtual RealMatrix shark::LinearKernel< InputType >::featureDistanceSqr ( ConstBatchInputReference  x1,
ConstBatchInputReference  x2 
) const
inlinevirtual

Definition at line 121 of file LinearKernel.h.

◆ featureDistanceSqr() [2/2]

template<class InputType = RealVector>
virtual double shark::LinearKernel< InputType >::featureDistanceSqr ( ConstInputReference  x1,
ConstInputReference  x2 
) const
inlinevirtual

Definition at line 117 of file LinearKernel.h.

◆ name()

template<class InputType = RealVector>
std::string shark::LinearKernel< InputType >::name ( ) const
inlinevirtual

From INameable: return the class name.

Reimplemented from shark::INameable.

Definition at line 63 of file LinearKernel.h.

◆ parameterVector()

template<class InputType = RealVector>
RealVector shark::LinearKernel< InputType >::parameterVector ( ) const
inlinevirtual

Return the parameter vector.

Reimplemented from shark::IParameterizable< VectorType >.

Definition at line 66 of file LinearKernel.h.

◆ read()

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::read ( InArchive ar)
inlinevirtual

The kernel does not serialize anything.

Reimplemented from shark::AbstractMetric< InputTypeT >.

Definition at line 126 of file LinearKernel.h.

◆ setParameterVector()

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::setParameterVector ( RealVector const &  newParameters)
inlinevirtual

Set the parameter vector.

Reimplemented from shark::IParameterizable< VectorType >.

Definition at line 69 of file LinearKernel.h.

References SIZE_CHECK.

◆ weightedInputDerivative()

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::weightedInputDerivative ( ConstBatchInputReference  batchX1,
ConstBatchInputReference  batchX2,
RealMatrix const &  coefficientsX2,
State const &  state,
BatchInputType gradient 
) const
inline

Definition at line 102 of file LinearKernel.h.

References SIZE_CHECK.

◆ weightedParameterDerivative()

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::weightedParameterDerivative ( ConstBatchInputReference  batchX1,
ConstBatchInputReference  batchX2,
RealMatrix const &  coefficients,
State const &  state,
RealVector &  gradient 
) const
inline

Definition at line 92 of file LinearKernel.h.

References SIZE_CHECK.

◆ write()

template<class InputType = RealVector>
void shark::LinearKernel< InputType >::write ( OutArchive ar) const
inlinevirtual

The kernel does not serialize anything.

Reimplemented from shark::AbstractMetric< InputTypeT >.

Definition at line 129 of file LinearKernel.h.


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