mlpack
Public Member Functions | List of all members
mlpack::ann::OivsInitialization< ActivationFunction > Class Template Reference

This class is used to initialize the weight matrix with the oivs method. More...

#include <oivs_init.hpp>

Public Member Functions

 OivsInitialization (const double epsilon=0.1, const int k=5, const double gamma=0.9)
 Initialize the random initialization rule with the given values. More...
 
template<typename eT >
void Initialize (arma::Mat< eT > &W, const size_t rows, const size_t cols)
 Initialize the elements of the specified weight matrix with the oivs method. More...
 
template<typename eT >
void Initialize (arma::Mat< eT > &W)
 Initialize the elements of the specified weight matrix with the oivs method. More...
 
template<typename eT >
void Initialize (arma::Cube< eT > &W, const size_t rows, const size_t cols, const size_t slices)
 Initialize the elements of the specified weight 3rd order tensor with the oivs method. More...
 
template<typename eT >
void Initialize (arma::Cube< eT > &W)
 Initialize the elements of the specified weight 3rd order tensor with the oivs method. More...
 

Detailed Description

template<class ActivationFunction = LogisticFunction>
class mlpack::ann::OivsInitialization< ActivationFunction >

This class is used to initialize the weight matrix with the oivs method.

The method is based on the equations representing the characteristics of the information transformation mechanism of a node. The method is defined by

\begin{eqnarray*} b &=& |F^{-1}(1 - \epsilon) - f^{-1}(\epsilon)| \\ \hat{w} &=& \frac{b}{k \cdot n} \\ \gamma &\le& a_i \le \gamma \\ w_i &=& \hat{w} \cdot \sqrt{a_i + 1} \end{eqnarray*}

Where f is the transfer function epsilon, k custom parameters, n the number of neurons in the outgoing layer and gamma a parameter that defines the random interval.

Template Parameters
ActivationFunctionThe activation function used for the oivs method.

Constructor & Destructor Documentation

◆ OivsInitialization()

template<class ActivationFunction = LogisticFunction>
mlpack::ann::OivsInitialization< ActivationFunction >::OivsInitialization ( const double  epsilon = 0.1,
const int  k = 5,
const double  gamma = 0.9 
)
inline

Initialize the random initialization rule with the given values.

Parameters
epsilonParameter to control the activation region.
kParameter to control the activation region width.
gammaParameter to define the uniform random range.

Member Function Documentation

◆ Initialize() [1/4]

template<class ActivationFunction = LogisticFunction>
template<typename eT >
void mlpack::ann::OivsInitialization< ActivationFunction >::Initialize ( arma::Mat< eT > &  W,
const size_t  rows,
const size_t  cols 
)
inline

Initialize the elements of the specified weight matrix with the oivs method.

Parameters
WWeight matrix to initialize.
rowsNumber of rows.
colsNumber of columns.

◆ Initialize() [2/4]

template<class ActivationFunction = LogisticFunction>
template<typename eT >
void mlpack::ann::OivsInitialization< ActivationFunction >::Initialize ( arma::Mat< eT > &  W)
inline

Initialize the elements of the specified weight matrix with the oivs method.

Parameters
WWeight matrix to initialize.

◆ Initialize() [3/4]

template<class ActivationFunction = LogisticFunction>
template<typename eT >
void mlpack::ann::OivsInitialization< ActivationFunction >::Initialize ( arma::Cube< eT > &  W,
const size_t  rows,
const size_t  cols,
const size_t  slices 
)
inline

Initialize the elements of the specified weight 3rd order tensor with the oivs method.

Parameters
W3rd order tensor to initialize.
rowsNumber of rows.
colsNumber of columns.
slicesNumber of slices.

◆ Initialize() [4/4]

template<class ActivationFunction = LogisticFunction>
template<typename eT >
void mlpack::ann::OivsInitialization< ActivationFunction >::Initialize ( arma::Cube< eT > &  W)
inline

Initialize the elements of the specified weight 3rd order tensor with the oivs method.

Parameters
W3rd order tensor to initialize.

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