MeLOn
Loading...
Searching...
No Matches
melon Namespace Reference

Namespaces

namespace  kernel
 

Classes

struct  AnnData
 struct containing all information regarding the structure of a feedforward neural network More...
 
struct  AnnNormalizationParameters
 struct containing the parameters required for input normalization and output denormalization of a feedforward neural network More...
 
class  AnnParser
 This class implements an abstract parent class for ANN file parser. More...
 
class  AnnParserCsv
 This class implements an specialization of the AnnParser for csv files. More...
 
class  AnnParserFactory
 This class is a factory class for creating child instances of AnnParser. More...
 
class  AnnParserXml
 This class implements an specialization of the AnnParser for xml files. More...
 
struct  AnnStructure
 struct containing all information regarding the structure of a feedforward neural network More...
 
struct  AnnWeights
 struct containing the different weights of a feedforward neural network More...
 
class  FeedForwardNet
 This class represents a feed foward artificial network to be used in the MAiNGO solver. More...
 
class  GaussianProcess
 This class represents a Gaussian process, to be used in the MAiNGO solver. More...
 
struct  GPData
 struct containing all information regarding the Gaussian process More...
 
class  GpParser
 This class implements a Gaussian process file parser. More...
 
class  GpParserFactory
 This class is a factory class for creating child instances of GpParser. More...
 
class  IdentityScaler
 Class implementing an identity scaling algorithm. More...
 
class  MelonModel
 
class  MinMaxScaler
 Class implementing a MinMax-Scaling algorithm. More...
 
class  ModelParser
 This class is a abstract parent class for model parser implemented in the MeLOn library. More...
 
class  ModelParserFactory
 This class is a abstract parent class for model parser factories implemented in the MeLOn library. More...
 
class  MulfilGp
 Class that represents a multifidelity Gaussian process, to be used in the MAiNGO solver. More...
 
struct  MulfilGpData
 
class  MulfilGpParser
 Class that implements a multifidelity Gaussian process file parser. More...
 
class  MulfilGpParserFactory
 Class that implements a factory for creating child instances of MulfilGpParser. More...
 
class  Scaler
 Abstract class defining scaling algorithm. More...
 
struct  ScalerData
 Base struct from which data structs of different scalers can be derived. More...
 
class  ScalerFactory
 This class is a factory class for creating child instances of Scaler. More...
 
class  StandardScaler
 Class implementing a Standard-Scaling algorithm. More...
 
class  SupportVectorMachine
 Class defining support vector machine to be used in the MAiNGO solver. More...
 
class  SupportVectorMachineOneClass
 Class defining support vector machine for one class classification to be used in the MAiNGO solver. More...
 
class  SupportVectorRegression
 Class defining support vector machine for regression to be used in the MAiNGO solver. More...
 
struct  SvmData
 Struct containing all information regarding the support vector machine. More...
 
class  SvmParser
 This class implements a support vector machine file parser. More...
 
class  SvmParserFactory
 This class is a factory class for creating child instances of SvmParser. More...
 

Enumerations

enum  MODEL_FILE_TYPE { CSV = 0 , XML , JSON }
 Enum for representing the parsable filetypes. More...
 
enum  SCALER_TYPE { IDENTITY = 0 , MINMAX , STANDARD }
 Enum for representing the available types of scalers. More...
 
enum  SCALER_PARAMETER {
  LOWER_BOUNDS = 0 , UPPER_BOUNDS , STD_DEV , MEAN ,
  SCALED_LOWER_BOUNDS , SCALED_UPPER_BOUNDS
}
 
enum  ACTIVATION_FUNCTION { PURE_LIN = 0 , TANH , RELU , RELU6 }
 Enum for representing the available types of scaler parameters. More...
 
enum  TANH_REFORMULATION {
  TANH_REF_0 = 0 , TANH_REF1 , TANH_REF2 , TANH_REF3 ,
  TANH_REF4
}
 Enum for representing the different reformulations for the tanh activation function. More...
 
enum  KERNEL_FUNCTION { RBF }
 enum for representing different kernel functions More...
 

Functions

template<typename T , typename U >
auto operator+ (const std::vector< T > &v1, const std::vector< U > &v2)
 Overloaded operator for vector class allowing adding vectors.
 
template<typename T , typename U >
auto operator+ (const std::vector< T > &v, const U s)
 Overloaded operator for vector class allowing adding scalars to vectors.
 
template<typename T , typename U >
auto operator- (std::vector< T > &v1, std::vector< U > &v2)
 Overloaded operator for vector class allowing substracting vectors.
 
template<typename T , typename U >
auto operator- (const std::vector< T > &v, const U s)
 Overloaded operator for vector class allowing substracting scalars from vectors.
 
template<typename T , typename U >
auto operator* (const T &s, const std::vector< U > &v)
 Overloaded operator for vector class allowing the calulation of a vector scalar product.
 
template<typename T , typename U >
auto operator* (const std::vector< T > &v, const U &s)
 Overloaded operator for vector class allowing the calulation of a vector scalar product.
 
template<typename T , typename U >
auto operator/ (const std::vector< T > &v, const U &s)
 Overloaded operator for vector class allowing the calulation of a vector scalar division.
 
template<typename T , typename U >
auto dot_product (const std::vector< T > &v1, const std::vector< U > &v2)
 Overloaded operator for vector class allowing the calulation of dot product of two vectors.
 
template<typename T , typename U >
auto operator* (const std::vector< std::vector< T > > &m, const std::vector< U > &v)
 Overloaded operator for vector class allowing the calulation of a matrix vector product.
 
template<typename T , typename U >
auto operator* (const std::vector< std::vector< T > > &m1, const std::vector< std::vector< U > > &m2)
 Overloaded operator for vector class allowing the calulation of a matrix matrix product.
 
template<typename T >
auto transpose (const std::vector< std::vector< T > > &m)
 Overloaded operator for vector class allowing to transpose a matrix.
 
template<typename T >
auto diag (const std::vector< std::vector< T > > &m)
 Overloaded operator for vector class allowing to obtain a matrix diagonal.
 

Enumeration Type Documentation

◆ ACTIVATION_FUNCTION

Enum for representing the available types of scaler parameters.

Enum for representing the available types of activation functions.

Enumerator
PURE_LIN 

no activation function (y=x)

TANH 

tanh

RELU 

ReLU

RELU6 

ReLU that is bounded to a maximal value of 6

◆ KERNEL_FUNCTION

enum for representing different kernel functions

Enumerator
RBF 

Radial Basis Kernel

◆ MODEL_FILE_TYPE

Enum for representing the parsable filetypes.

Enumerator
CSV 
XML 
JSON 

◆ SCALER_PARAMETER

Enumerator
LOWER_BOUNDS 

lower bounds of training data

UPPER_BOUNDS 

upper bounds of training data

STD_DEV 

standard derivation of training data

MEAN 

mean of training data

SCALED_LOWER_BOUNDS 

lower bound of scaled data

SCALED_UPPER_BOUNDS 

upper bound of scaled data

◆ SCALER_TYPE

Enum for representing the available types of scalers.

Enumerator
IDENTITY 

identity scaler

MINMAX 

MinMax scaler

STANDARD 

standard scaler

◆ TANH_REFORMULATION

Enum for representing the different reformulations for the tanh activation function.

Enumerator
TANH_REF_0 

Standard tanh

TANH_REF1 

tanh(x) = exp(x) - exp(-1 * x)) / (exp(x) + exp(-1 * x)

TANH_REF2 

tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1)

TANH_REF3 

tanh(x) = 1 - 2 / (1 + exp(2 * x))

TANH_REF4 

tanh(x) = (1 - exp(-2 * x)) / (1 + exp(-2 * x))

Function Documentation

◆ diag()

template<typename T >
auto melon::diag ( const std::vector< std::vector< T > > & m)

Overloaded operator for vector class allowing to obtain a matrix diagonal.

Parameters
[in]mis the matrix of which the diagonal is obtained
Returns
returns a result vector res = diag(m)

◆ dot_product()

template<typename T , typename U >
auto melon::dot_product ( const std::vector< T > & v1,
const std::vector< U > & v2 )

Overloaded operator for vector class allowing the calulation of dot product of two vectors.

Parameters
[in]v1is the first vector
[in]v2is the second vector
Returns
returns a result vector res = v1^T * v2

◆ operator*() [1/4]

template<typename T , typename U >
auto melon::operator* ( const std::vector< std::vector< T > > & m,
const std::vector< U > & v )

Overloaded operator for vector class allowing the calulation of a matrix vector product.

Parameters
[in]mis the matrix to be multiplied
[in]vist the factor vector
Returns
returns a result vector res = m*v

◆ operator*() [2/4]

template<typename T , typename U >
auto melon::operator* ( const std::vector< std::vector< T > > & m1,
const std::vector< std::vector< U > > & m2 )

Overloaded operator for vector class allowing the calulation of a matrix matrix product.

Parameters
[in]m1is the first matrix factor
[in]m2is the second matrix factor
Returns
returns a result vector res = m*m

◆ operator*() [3/4]

template<typename T , typename U >
auto melon::operator* ( const std::vector< T > & v,
const U & s )

Overloaded operator for vector class allowing the calulation of a vector scalar product.

Parameters
[in]vis the factor vector
[in]sis the scalar factor
Returns
returns a result vector res = v*s

◆ operator*() [4/4]

template<typename T , typename U >
auto melon::operator* ( const T & s,
const std::vector< U > & v )

Overloaded operator for vector class allowing the calulation of a vector scalar product.

Parameters
[in]sis the scalar factor
[in]vis the factor vector
Returns
returns a result vector res = s*v

◆ operator+() [1/2]

template<typename T , typename U >
auto melon::operator+ ( const std::vector< T > & v,
const U s )

Overloaded operator for vector class allowing adding scalars to vectors.

Parameters
[in]vis the summand vector
[in]sis the summand scalar
Returns
returns a vector res = v1 + v2

◆ operator+() [2/2]

template<typename T , typename U >
auto melon::operator+ ( const std::vector< T > & v1,
const std::vector< U > & v2 )

Overloaded operator for vector class allowing adding vectors.

Parameters
[in]v1is the first summand vector
[in]v2is the second summand vector
Returns
returns a vector res = v1 + v2

◆ operator-() [1/2]

template<typename T , typename U >
auto melon::operator- ( const std::vector< T > & v,
const U s )

Overloaded operator for vector class allowing substracting scalars from vectors.

Parameters
[in]vis the minuend vector
[in]sis the subtrahend scalar
Returns
returns a result vector res = v1 - v2

◆ operator-() [2/2]

template<typename T , typename U >
auto melon::operator- ( std::vector< T > & v1,
std::vector< U > & v2 )

Overloaded operator for vector class allowing substracting vectors.

Parameters
[in]v1is the minuend vector
[in]v2is the subtrahend vector
Returns
returns a result vector res = v1 - v2

◆ operator/()

template<typename T , typename U >
auto melon::operator/ ( const std::vector< T > & v,
const U & s )

Overloaded operator for vector class allowing the calulation of a vector scalar division.

Parameters
[in]vis the dividend vector
[in]sis the scalar divisor
Returns
returns a result vector res = v/s

◆ transpose()

template<typename T >
auto melon::transpose ( const std::vector< std::vector< T > > & m)

Overloaded operator for vector class allowing to transpose a matrix.

Parameters
[in]mis the matrix to be transposed
Returns
returns a result vector res = m^T