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...

 

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 53 of file nguyen_widrow_init.hpp.

Constructor & Destructor Documentation

◆ 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 63 of file nguyen_widrow_init.hpp.

Member Function Documentation

◆ Initialize() [1/2]

void 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 76 of file nguyen_widrow_init.hpp.

References RandomInitialization::Initialize().

Referenced by NguyenWidrowInitialization::Initialize().

◆ Initialize() [2/2]

void 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 95 of file nguyen_widrow_init.hpp.

References NguyenWidrowInitialization::Initialize().


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