mlpack  master
Public Member Functions | Private Attributes | List of all members
mlpack::ann::NguyenWidrowInitialization Class Reference

This class is used to initialize the weight matrix with the Nguyen-Widrow method. More...

Public Member Functions

 NguyenWidrowInitialization (const double lowerBound=-0.5, const double upperBound=0.5)
 Initialize the random initialization rule with the given lower bound and upper bound. 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 Nguyen-Widrow 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 Nguyen-Widrow method. More...
 

Private Attributes

const double lowerBound
 The number used as lower bound. More...
 
const double upperBound
 The number used as upper bound. More...
 

Detailed Description

This class is used to initialize the weight matrix with the Nguyen-Widrow method.

The method is defined by

\begin{eqnarray*} \gamma &\le& w_i \le \gamma \\ \beta &=& 0.7H^{\frac{1}{I}} \\ n &=& \sqrt{\sum_{i=0}{I}w_{i}^{2}} \\ w_i &=& \frac{\beta w_i}{n} \end{eqnarray*}

Where H is the number of neurons in the outgoing layer, I represents the number of neurons in the ingoing layer and gamma defines the random interval that is used to initialize the weights with a random value in a specific range.

Definition at line 52 of file nguyen_widrow_init.hpp.

Constructor & Destructor Documentation

mlpack::ann::NguyenWidrowInitialization::NguyenWidrowInitialization ( const double  lowerBound = -0.5,
const double  upperBound = 0.5 
)
inline

Initialize the random initialization rule with the given lower bound and upper bound.

Parameters
lowerBoundThe number used as lower bound.
upperBoundThe number used as upper bound.

Definition at line 62 of file nguyen_widrow_init.hpp.

Member Function Documentation

template<typename eT >
void mlpack::ann::NguyenWidrowInitialization::Initialize ( arma::Mat< eT > &  W,
const size_t  rows,
const size_t  cols 
)
inline

Initialize the elements of the specified weight matrix with the Nguyen-Widrow method.

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

Definition at line 75 of file nguyen_widrow_init.hpp.

References mlpack::ann::RandomInitialization::Initialize(), lowerBound, and upperBound.

Referenced by Initialize().

template<typename eT >
void mlpack::ann::NguyenWidrowInitialization::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 Nguyen-Widrow method.

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

Definition at line 94 of file nguyen_widrow_init.hpp.

References Initialize().

Member Data Documentation

const double mlpack::ann::NguyenWidrowInitialization::lowerBound
private

The number used as lower bound.

Definition at line 107 of file nguyen_widrow_init.hpp.

Referenced by Initialize().

const double mlpack::ann::NguyenWidrowInitialization::upperBound
private

The number used as upper bound.

Definition at line 110 of file nguyen_widrow_init.hpp.

Referenced by Initialize().


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