Reinforcement Learning Toolbox 2.0
last updated:
General
Documentation
Manual
Tutorial
Class Reference
Master Thesis
Examples
Related Papers
Downloads
Links
News
mailto:webmaster
Main Page     Class Hierarchy   Compound List   File List   Compound Members   File Members

CNeuralNetworkStateModifier Class Reference

State Modifier used for Neural Networks input states. More...

#include <cstatemodifier.h>

Inheritance diagram for CNeuralNetworkStateModifier:

CStateModifier CStateProperties List of all members.


Public Member Functions

  CNeuralNetworkStateModifier (CStateProperties *originalState)
  CNeuralNetworkStateModifier (CStateProperties *originalState, unsigned int *dimensions, unsigned int numDim)
  ~CNeuralNetworkStateModifier ()
virtual void  getModifiedState (CStateCollection *originalState, CState *modifiedState)
  Data preprocessing for NN's.

void  setPreprocessing (ColumnVector *input_mean, ColumnVector *input_std)


Public Attributes

bool  normValues


Protected Member Functions

virtual void  preprocessInput (ColumnVector *input, ColumnVector *norm_input)


Static Protected Member Functions

static int  getNumInitContinuousStates (CStateProperties *properties, unsigned int *dimensions, unsigned int numDim)
  Returns the number of continuous states for the NN-state.



Protected Attributes

CStateProperties originalState
unsigned int *  dimensions
unsigned int  numDim
ColumnVector *  input_mean
ColumnVector *  input_std
ColumnVector *  buffVector

Detailed Description

State Modifier used for Neural Networks input states.

This state modifier does the input data preprocessing for neural networks. For Non-Periodic continuous state variables, the current state value gets scaled into the intervall [-1,1], periodic state variables get a special treatment. In order to model the periodicity more accurate, the periodic state variable gets splitted into two state variables, one representing the sinus and one the cosinus of the normalized periodic state. So a neural network state has the number of periodic state variables more state variables than the originalstate. The discrete state variables remain the same. The original state can be set in the constructor and is usually the modelstate.


Constructor & Destructor Documentation

CNeuralNetworkStateModifier::CNeuralNetworkStateModifier CStateProperties originalState  ) 
 
CNeuralNetworkStateModifier::CNeuralNetworkStateModifier CStateProperties originalState,
unsigned int *  dimensions,
unsigned int  numDim
 
CNeuralNetworkStateModifier::~CNeuralNetworkStateModifier  ) 
 

Member Function Documentation

virtual void CNeuralNetworkStateModifier::getModifiedState CStateCollection originalState,
CState modifiedState
[virtual]
 

Data preprocessing for NN's.

For Non-Periodic continuous state variables, the current state value gets scaled into the intervall [-1,1], periodic state variables get a special treatment. In order to model the periodicity more accurate, the periodic state variable gets splitted into two state variables, one representing the sinus and one the cosinus of the normalized periodic state. So a neural network state has the number of periodic state variables more state variables than the originalstate. The discrete state variables remain the same. The original state can be set in the constructor and is usually the modelstate.

Implements CStateModifier.

static int CNeuralNetworkStateModifier::getNumInitContinuousStates CStateProperties properties,
unsigned int *  dimensions,
unsigned int  numDim
[static, protected]
 

Returns the number of continuous states for the NN-state.

virtual void CNeuralNetworkStateModifier::preprocessInput ColumnVector *  input,
ColumnVector *  norm_input
[protected, virtual]
 
void CNeuralNetworkStateModifier::setPreprocessing ColumnVector *  input_mean,
ColumnVector *  input_std
 

Member Data Documentation

ColumnVector* CNeuralNetworkStateModifier::buffVector [protected]
 
unsigned int* CNeuralNetworkStateModifier::dimensions [protected]
 
ColumnVector* CNeuralNetworkStateModifier::input_mean [protected]
 
ColumnVector* CNeuralNetworkStateModifier::input_std [protected]
 
bool CNeuralNetworkStateModifier::normValues
 
unsigned int CNeuralNetworkStateModifier::numDim [protected]
 
CStateProperties* CNeuralNetworkStateModifier::originalState [protected]
 

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