xerophileshark / nonlinearIdent_MLPandRBF

Repository from Github https://github.comxerophileshark/nonlinearIdent_MLPandRBFRepository from Github https://github.comxerophileshark/nonlinearIdent_MLPandRBF

nonlinearIdent_MLPandRBF

In this simple project, we try to identify a model for a nonlinear dynamical system using RBF and MLP neural networks in MATLAB without using any toolbox.

Dynamics of the system

The system dynamics evolve with the following differential equation

dyn

where

α=0.75 and β=1.5.

Data

The following input is applied to the system in order to generate 201 input-output pairs:

inp,

We use about 80% of the data (161 points) for training purposes and 20% of them (40 points) as test data.

MLP Network

The MLP neural network structure is as follows:

MLP

where the activation function of hidden layer neurons are

activation_hidden

and for output layer we have

activation_output

Also:

X_vect

weight_vects

Training

A simple gradient decent algorithm is implemented to training the network weights.

RBF Network

The MLP neural network structure is as follows:

RBF

With n = 3. Furthermore, gaussian functions are employed as green functions for activation functions in neurons:

green_funcs

where t is the center of green functions.

Training

We used three training methods:

  1. Tikhonov's inverse matrix method.
  2. Pseudo inverse method
  3. A semi-supervised approach: K-means for choosing activation function centers and LMS for training the weights.

About


Languages

Language:MATLAB 100.0%