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.
The system dynamics evolve with the following differential equation
where
α=0.75 and β=1.5.
The following input is applied to the system in order to generate 201 input-output pairs:
We use about 80% of the data (161 points) for training purposes and 20% of them (40 points) as test data.
The MLP neural network structure is as follows:
where the activation function of hidden layer neurons are
and for output layer we have
Also:
A simple gradient decent algorithm is implemented to training the network weights.
The MLP neural network structure is as follows:
With n = 3. Furthermore, gaussian functions are employed as green functions for activation functions in neurons:
where t is the center of green functions.
We used three training methods:
- Tikhonov's inverse matrix method.
- Pseudo inverse method
- A semi-supervised approach: K-means for choosing activation function centers and LMS for training the weights.