SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CEuclidianDistance Class Reference

Detailed Description

class EuclidianDistance

The familiar Euclidian distance for real valued features computes the square root of the sum of squared disparity between the corresponding feature dimensions of two data points.

\[\displaystyle d({\bf x},{\bf x'})= \sqrt{\sum_{i=0}^{n}|{\bf x_i}-{\bf x'_i}|^2} \]

This special case of Minkowski metric is invariant to an arbitrary translation or rotation in feature space.

The Euclidian Squared distance does not take the square root:

\[\displaystyle d({\bf x},{\bf x'})= \sum_{i=0}^{n}|{\bf x_i}-{\bf x'_i}|^2 \]

See Also
CMinkowskiMetric
Wikipedia: Distance in Euclidean space

Definition at line 43 of file EuclidianDistance.h.

Inheritance diagram for CEuclidianDistance:
Inheritance graph
[legend]

Public Member Functions

 CEuclidianDistance ()
 
 CEuclidianDistance (CSimpleFeatures< float64_t > *l, CSimpleFeatures< float64_t > *r)
 
virtual ~CEuclidianDistance ()
 
virtual bool init (CFeatures *l, CFeatures *r)
 
virtual void cleanup ()
 
virtual EDistanceType get_distance_type ()
 
virtual EFeatureType get_feature_type ()
 
virtual const char * get_name () const
 
virtual bool get_disable_sqrt ()
 
virtual void set_disable_sqrt (bool state)
 
- Public Member Functions inherited from CRealDistance
 CRealDistance ()
 
- Public Member Functions inherited from CSimpleDistance< float64_t >
 CSimpleDistance ()
 
virtual EFeatureClass get_feature_class ()
 
- Public Member Functions inherited from CDistance
 CDistance ()
 
 CDistance (CFeatures *lhs, CFeatures *rhs)
 
virtual ~CDistance ()
 
float64_t distance (int32_t idx_a, int32_t idx_b)
 
SGMatrix< float64_tget_distance_matrix ()
 
virtual float64_tget_distance_matrix_real (int32_t &m, int32_t &n, float64_t *target)
 
virtual float32_tget_distance_matrix_shortreal (int32_t &m, int32_t &n, float32_t *target)
 
void load (CFile *loader)
 
void save (CFile *writer)
 
CFeaturesget_lhs ()
 
CFeaturesget_rhs ()
 
CFeaturesreplace_rhs (CFeatures *rhs)
 
virtual void remove_lhs_and_rhs ()
 
virtual void remove_lhs ()
 takes all necessary steps if the lhs is removed from distance matrix More...
 
virtual void remove_rhs ()
 takes all necessary steps if the rhs is removed from distance matrix More...
 
bool get_precompute_matrix ()
 
virtual void set_precompute_matrix (bool flag)
 
int32_t get_num_vec_lhs ()
 
int32_t get_num_vec_rhs ()
 
bool has_features ()
 
bool lhs_equals_rhs ()
 
- Public Member Functions inherited from CSGObject
 CSGObject ()
 
 CSGObject (const CSGObject &orig)
 
virtual ~CSGObject ()
 
virtual bool is_generic (EPrimitiveType *generic) const
 
template<class T >
void set_generic ()
 
void unset_generic ()
 
virtual void print_serializable (const char *prefix="")
 
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
 
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
 
void set_global_io (SGIO *io)
 
SGIOget_global_io ()
 
void set_global_parallel (Parallel *parallel)
 
Parallelget_global_parallel ()
 
void set_global_version (Version *version)
 
Versionget_global_version ()
 
SGVector< char * > get_modelsel_names ()
 
char * get_modsel_param_descr (const char *param_name)
 
index_t get_modsel_param_index (const char *param_name)
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 
template<>
void set_generic ()
 

Protected Member Functions

virtual float64_t compute (int32_t idx_a, int32_t idx_b)
 
- Protected Member Functions inherited from CDistance
void do_precompute_matrix ()
 matrix precomputation More...
 
- Protected Member Functions inherited from CSGObject
virtual void load_serializable_pre () throw (ShogunException)
 
virtual void load_serializable_post () throw (ShogunException)
 
virtual void save_serializable_pre () throw (ShogunException)
 
virtual void save_serializable_post () throw (ShogunException)
 

Protected Attributes

bool disable_sqrt
 
- Protected Attributes inherited from CDistance
float32_tprecomputed_matrix
 
bool precompute_matrix
 
CFeatureslhs
 feature vectors to occur on left hand side More...
 
CFeaturesrhs
 feature vectors to occur on right hand side More...
 

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
 
Parallelparallel
 
Versionversion
 
Parameterm_parameters
 
Parameterm_model_selection_parameters
 
- Static Protected Member Functions inherited from CDistance
static void * run_distance_thread (void *p)
 run distance thread More...
 

Constructor & Destructor Documentation

default constructor

Definition at line 19 of file EuclidianDistance.cpp.

constructor

Parameters
lfeatures of left-hand side
rfeatures of right-hand side

Definition at line 24 of file EuclidianDistance.cpp.

~CEuclidianDistance ( )
virtual

Definition at line 31 of file EuclidianDistance.cpp.

Member Function Documentation

void cleanup ( )
virtual

cleanup distance

Implements CRealDistance.

Definition at line 43 of file EuclidianDistance.cpp.

float64_t compute ( int32_t  idx_a,
int32_t  idx_b 
)
protectedvirtual

compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object

Implements CRealDistance.

Definition at line 47 of file EuclidianDistance.cpp.

virtual bool get_disable_sqrt ( )
virtual

disable application of sqrt on matrix computation the matrix can then also be named norm squared

Returns
if application of sqrt is disabled

Definition at line 91 of file EuclidianDistance.h.

virtual EDistanceType get_distance_type ( )
virtual

get distance type we are

Returns
distance type EUCLIDIAN

Implements CRealDistance.

Definition at line 72 of file EuclidianDistance.h.

virtual EFeatureType get_feature_type ( )
virtual

get feature type the distance can deal with

Returns
feature type DREAL

Reimplemented from CRealDistance.

Definition at line 78 of file EuclidianDistance.h.

virtual const char* get_name ( ) const
virtual

get name of the distance

Returns
name Euclidian

Reimplemented from CRealDistance.

Definition at line 84 of file EuclidianDistance.h.

bool init ( CFeatures l,
CFeatures r 
)
virtual

init distance

Parameters
lfeatures of left-hand side
rfeatures of right-hand side
Returns
if init was successful

Reimplemented from CRealDistance.

Definition at line 36 of file EuclidianDistance.cpp.

virtual void set_disable_sqrt ( bool  state)
virtual

disable application of sqrt on matrix computation the matrix can then also be named norm squared

Parameters
statenew disable_sqrt

Definition at line 98 of file EuclidianDistance.h.

Member Data Documentation

bool disable_sqrt
protected

if application of sqrt on matrix computation is disabled

Definition at line 111 of file EuclidianDistance.h.


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

SHOGUN Machine Learning Toolbox - Documentation