SL - Feedforward Neural Network

../../../../../../_images/MLPro-SL-FNN_class_diagram.drawio.png

Ver. 1.1.0 (2023-03-10)

This module provides model classes of feedforward neural networks for supervised learning tasks.

class mlpro.sl.fnn.FNN(p_input_space: ~mlpro.bf.math.basics.MSpace, p_output_space: ~mlpro.bf.math.basics.MSpace, p_output_elem_cls=<class 'mlpro.bf.math.basics.Element'>, p_threshold=0, p_ada: bool = True, p_buffer_size: int = 0, p_metrics: ~typing.List[~mlpro.sl.models_eval.Metric] = [], p_score_metric=None, p_name: str = None, p_range_max: int = 2, p_autorun=0, p_class_shared=None, p_visualize: bool = False, p_logging=True, **p_par)

Bases: SLAdaptiveFunction

This class provides the base class of feedforward neural networks.

C_TYPE = 'Feedforward NN'
forward(p_input: Element) Element

Custom forward propagation in neural networks to generate some output that can be called by an external method. Please redefine.

Parameters:

p_input (Element) – Input data

Returns:

output – Output data

Return type:

Element

_map(p_input: Element, p_output: Element)

Maps a multivariate abscissa/input element to a multivariate ordinate/output element.

Parameters:
  • p_input (Element) – Abscissa/input element object (type Element)

  • p_output (Element) – Setpoint ordinate/output element (type Element)

_optimize()

This method provides provide a funtionality to call the optimizer of the feedforward network.

_calc_loss(p_act_output: Element, p_pred_output: Element)

This method provides provide a funtionality to call the loss function of the feedforward network.

Parameters:
  • p_act_output (Element) – Actual output from the buffer.

  • p_pred_output (Element) – Predicted output by the SL model.

class mlpro.sl.fnn.MLP(p_input_space: ~mlpro.bf.math.basics.MSpace, p_output_space: ~mlpro.bf.math.basics.MSpace, p_output_elem_cls=<class 'mlpro.bf.math.basics.Element'>, p_threshold=0, p_ada: bool = True, p_buffer_size: int = 0, p_metrics: ~typing.List[~mlpro.sl.models_eval.Metric] = [], p_score_metric=None, p_name: str = None, p_range_max: int = 2, p_autorun=0, p_class_shared=None, p_visualize: bool = False, p_logging=True, **p_par)

Bases: FNN

This class provides the base class of multilayer perceptron.

C_TYPE = 'Multilayer Perceptron'
_init_hyperparam(**p_par)

A method to deal with the hyperparameters related to the MLP model.

Hyperparameters

p_update_rate :

update rate.

p_num_hidden_layers :

number of hidden layers.

p_hidden_size :

number of hidden neurons.

p_activation_fct :

activation function.

p_output_activation_fct :

extra activation function for the output layer.

p_optimizer :

optimizer.

p_loss_fct :

loss function.