Neuron Net
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
CNeuron Class Reference

Class of neuron for full connected layers.
. More...

Inheritance diagram for CNeuron:
CNeuronBase

Public Member Functions

 CNeuron (void)
 Constructor. More...
 
 ~CNeuron (void)
 Destructor. More...
 
virtual bool calcOutputGradients (double targetVals)
 Method of output gradients calculation. More...
 
virtual double sumDOW (CLayer *&nextLayer)
 A method for collecting gradients from the next layer. More...
 
virtual int Type (void) const
 Identificator of class. More...
 
virtual bool feedForward (CObject *&SourceObject)
 Dispatch method for defining the subroutine for Feed Forward process. More...
 
virtual bool calcHiddenGradients (CObject *&TargetObject)
 Dispatch method for defining the subroutine for transfer gradient to previous layer. More...
 
virtual bool updateInputWeights (CObject *&SourceObject)
 Dispatch method for defining the subroutine for updating weights. More...
 
virtual bool Init (uint numOutputs, uint myIndex, ENUM_OPTIMIZATION optimization_type)
 Method of initialization class. More...
 
virtual void SetActivationFunction (ENUM_ACTIVATION value)
 Set the type of activation function (ENUM_ACTIVATION) More...
 
virtual void setOutputVal (double val)
 Set the output value. More...
 
virtual double getOutputVal ()
 Return result of feed forward operations. More...
 
virtual double getPrevVal ()
 Return result of feed forward operations at previous iteration. More...
 
virtual void setGradient (double val)
 Set gradient value to neuron. More...
 
virtual double getGradient ()
 Return gradient of neuron. More...
 
virtual CArrayCongetConnections ()
 Method to get access to array of connections. More...
 
virtual double activationFunctionDerivative (double x)
 Calculate derivative of activation function. More...
 
virtual double SigmoidFunctionDerivative (double x)
 Calculate derivative of Sigmoid function. More...
 
virtual double TanhFunctionDerivative (double x)
 Calculate derivative of \(tanh(x)\). More...
 
virtual bool Save (int const file_handle)
 Save method. More...
 
virtual bool Load (int const file_handle)
 

Static Public Attributes

static double alpha =0.8
 Multiplier to momentum in SGD optimization. More...
 

Protected Member Functions

virtual double activationFunction (double x)
 Method to calculate activation function. More...
 
virtual double SigmoidFunction (double x)
 Calculating Sigmoid \(\frac{1}{1+e^x}\). More...
 
virtual double TanhFunction (double x)
 Calculating \(tanh(x)\). More...
 
virtual CLayergetOutputLayer (void)
 Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks. More...
 

Protected Attributes

double outputVal
 Output value. More...
 
double prevVal
 Previous output value. More...
 
uint m_myIndex
 Index of neuron in layer. More...
 
double gradient
 Current gradient of neuron. More...
 
CArrayConConnections
 Array of connections with neurons in next layer. More...
 
ENUM_ACTIVATION activation
 Activation type (ENUM_ACTIVATION) More...
 
ENUM_OPTIMIZATION optimization
 Optimization method (ENUM_OPTIMIZATION) More...
 
int t
 Count of iterations. More...
 

Detailed Description

Class of neuron for full connected layers.
.

Detailed description on the link.

Definition at line 510 of file NeuroNet.mqh.

Constructor & Destructor Documentation

◆ CNeuron()

CNeuron::CNeuron ( void  )
inline

Constructor.

Definition at line 518 of file NeuroNet.mqh.

◆ ~CNeuron()

CNeuron::~CNeuron ( void  )
inline

Destructor.

Definition at line 519 of file NeuroNet.mqh.

Member Function Documentation

◆ activationFunction()

double CNeuronBase::activationFunction ( double  x)
protectedvirtualinherited

Method to calculate activation function.

Parameters
xInput data.
Returns
Result of activation function.

Reimplemented in CNeuronConv.

Definition at line 2659 of file NeuroNet.mqh.

◆ activationFunctionDerivative()

double CNeuronBase::activationFunctionDerivative ( double  x)
virtualinherited

Calculate derivative of activation function.

Parameters
[in]xInput data
Returns
Derivative

Reimplemented in CNeuronConv.

Definition at line 2676 of file NeuroNet.mqh.

◆ calcHiddenGradients()

bool CNeuronBase::calcHiddenGradients ( CObject *&  TargetObject)
virtualinherited

Dispatch method for defining the subroutine for transfer gradient to previous layer.

Parameters
TargetObjectPointer to next layer.

Definition at line 955 of file NeuroNet.mqh.

◆ calcOutputGradients()

bool CNeuron::calcOutputGradients ( double  targetVals)
virtual

Method of output gradients calculation.

Parameters
targetValsTraget value

Definition at line 586 of file NeuroNet.mqh.

◆ feedForward()

bool CNeuronBase::feedForward ( CObject *&  SourceObject)
virtualinherited

Dispatch method for defining the subroutine for Feed Forward process.

Parameters
SourceObjectPointer to previos layer.

Definition at line 855 of file NeuroNet.mqh.

◆ getConnections()

virtual CArrayCon* CNeuronBase::getConnections ( )
inlinevirtualinherited

Method to get access to array of connections.

Returns
Pointer to connections array

Definition at line 439 of file NeuroNet.mqh.

◆ getGradient()

virtual double CNeuronBase::getGradient ( )
inlinevirtualinherited

Return gradient of neuron.

Returns
Gradient

Definition at line 438 of file NeuroNet.mqh.

◆ getOutputLayer()

virtual CLayer* CNeuronBase::getOutputLayer ( void  )
inlineprotectedvirtualinherited

Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks.

Returns
Pointer to layer.

Reimplemented in CNeuronLSTM, and CNeuronProof.

Definition at line 424 of file NeuroNet.mqh.

◆ getOutputVal()

virtual double CNeuronBase::getOutputVal ( )
inlinevirtualinherited

Return result of feed forward operations.

Returns
Output value

Definition at line 435 of file NeuroNet.mqh.

◆ getPrevVal()

virtual double CNeuronBase::getPrevVal ( )
inlinevirtualinherited

Return result of feed forward operations at previous iteration.

Returns
Previous output value

Definition at line 436 of file NeuroNet.mqh.

◆ Init()

bool CNeuronBase::Init ( uint  numOutputs,
uint  myIndex,
ENUM_OPTIMIZATION  optimization_type 
)
virtualinherited

Method of initialization class.

Parameters
numOutputsNumber of connections to next layer.
myIndexIndex of neuron in layer.
optimization_typeOptimization type (ENUM_OPTIMIZATION)
Returns
Boolen result of operations.

Definition at line 484 of file NeuroNet.mqh.

◆ Load()

virtual bool CNeuronBase::Load ( int const  file_handle)
inlinevirtualinherited
Parameters
file_handleLoad method
[in]file_handlehandle of file
Returns
logical result of operation

Reimplemented in CNeuronLSTM, CNeuronConv, and CNeuronProof.

Definition at line 449 of file NeuroNet.mqh.

◆ Save()

bool CNeuronBase::Save ( int const  file_handle)
virtualinherited

Save method.

Parameters
[in]file_handlehandle of file
Returns
logical result of operation

Reimplemented in CNeuronLSTM, CNeuronConv, and CNeuronProof.

Definition at line 1304 of file NeuroNet.mqh.

◆ SetActivationFunction()

virtual void CNeuronBase::SetActivationFunction ( ENUM_ACTIVATION  value)
inlinevirtualinherited

Set the type of activation function (ENUM_ACTIVATION)

Definition at line 429 of file NeuroNet.mqh.

◆ setGradient()

virtual void CNeuronBase::setGradient ( double  val)
inlinevirtualinherited

Set gradient value to neuron.

Definition at line 437 of file NeuroNet.mqh.

◆ setOutputVal()

virtual void CNeuronBase::setOutputVal ( double  val)
inlinevirtualinherited

Set the output value.

Definition at line 434 of file NeuroNet.mqh.

◆ SigmoidFunction()

virtual double CNeuronBase::SigmoidFunction ( double  x)
inlineprotectedvirtualinherited

Calculating Sigmoid \(\frac{1}{1+e^x}\).

Parameters
xInput data.
Returns
Result of calculation

Definition at line 422 of file NeuroNet.mqh.

◆ SigmoidFunctionDerivative()

virtual double CNeuronBase::SigmoidFunctionDerivative ( double  x)
inlinevirtualinherited

Calculate derivative of Sigmoid function.

Parameters
xInput data
Returns
Derivative

Definition at line 441 of file NeuroNet.mqh.

◆ sumDOW()

double CNeuron::sumDOW ( CLayer *&  nextLayer)
virtual

A method for collecting gradients from the next layer.

Parameters
[in]nextLayerPointer to next layer
Returns
Total gradient to neuron.

Definition at line 556 of file NeuroNet.mqh.

◆ TanhFunction()

virtual double CNeuronBase::TanhFunction ( double  x)
inlineprotectedvirtualinherited

Calculating \(tanh(x)\).

Parameters
xInput data.
Returns
Result of calculation

Definition at line 423 of file NeuroNet.mqh.

◆ TanhFunctionDerivative()

virtual double CNeuronBase::TanhFunctionDerivative ( double  x)
inlinevirtualinherited

Calculate derivative of \(tanh(x)\).

Parameters
xInput data
Returns
Derivative

Definition at line 442 of file NeuroNet.mqh.

◆ Type()

virtual int CNeuron::Type ( void  ) const
inlinevirtual

Identificator of class.

Returns
Type of class

Reimplemented from CNeuronBase.

Definition at line 523 of file NeuroNet.mqh.

◆ updateInputWeights()

bool CNeuronBase::updateInputWeights ( CObject *&  SourceObject)
virtualinherited

Dispatch method for defining the subroutine for updating weights.

Parameters
SourceObjectPointer to previos layer.

Definition at line 883 of file NeuroNet.mqh.

Member Data Documentation

◆ activation

ENUM_ACTIVATION CNeuronBase::activation
protectedinherited

Activation type (ENUM_ACTIVATION)

Definition at line 414 of file NeuroNet.mqh.

◆ alpha

double CNeuronBase::alpha =0.8
staticinherited

Multiplier to momentum in SGD optimization.

Definition at line 432 of file NeuroNet.mqh.

◆ Connections

CArrayCon* CNeuronBase::Connections
protectedinherited

Array of connections with neurons in next layer.

Definition at line 413 of file NeuroNet.mqh.

◆ gradient

double CNeuronBase::gradient
protectedinherited

Current gradient of neuron.

Definition at line 412 of file NeuroNet.mqh.

◆ m_myIndex

uint CNeuronBase::m_myIndex
protectedinherited

Index of neuron in layer.

Definition at line 411 of file NeuroNet.mqh.

◆ optimization

ENUM_OPTIMIZATION CNeuronBase::optimization
protectedinherited

Optimization method (ENUM_OPTIMIZATION)

Definition at line 415 of file NeuroNet.mqh.

◆ outputVal

double CNeuronBase::outputVal
protectedinherited

Output value.

Definition at line 409 of file NeuroNet.mqh.

◆ prevVal

double CNeuronBase::prevVal
protectedinherited

Previous output value.

Definition at line 410 of file NeuroNet.mqh.

◆ t

int CNeuronBase::t
protectedinherited

Count of iterations.

Definition at line 416 of file NeuroNet.mqh.


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