It is proposed here a project to develop a Matlab code that implement an autoassociative (autoencoder) neural network without the use of any functionality from matlab NN toolbox.
Entirely programmed in matlab code functions, NO TOOLBOX, no gui.
Simple structured basic matlab code.
You could use any imaginable method or algorithm to develop the autoencoder and to its training.
IT MUST IMPLEMENT AN AUTOENCODER NN! Just one, with 39 Inputs, a bottleneck and 39 outputs
The bottleneck can be done with any number of hidden layers, as much as you want, but it must have at least one of them with LESS THAN 30 neurons.
Train MUST be done with the 50000 patterns training data supplied (X or Y in [url removed, login to view]).
Test MUST be done with the 10000 patterns test data supplied (TstX in [url removed, login to view]).
The one who gives me the best answer, according to the following equation, to the 10000 pattern TEST data will win the project:
TestResult=sum( mse(TestOutput-TstZ) * ( 1 + mae(TestOutput-TstZ) ) ) for the 10000 test patterns.
The data is composed of:
Z = true data to be compared in the training 39x50000 (desired output);
Y = raw noisy data if wanted to the training 39x50000 (Z plus white noise);
X = raw noisy data and with gross error values to be used as input in the training 39x50000 (Y plus errors, INPUT);
TstX = data to the test phase 39x10000 (input);
TstZ = true values to compare in the test phase 39x10000 (desired output).
Trainig could take any needed time, as long as you want.
However, the autoencoder must be applied thinking in a real-time application (max of hundreds of milliseconds) in a single Intel i3 or similar desktop PC. No metaheuristics or other than autoencoder method, no external trick, ONLY THE AUTOENCODER.
The system must accept the noisy and erroneous data (X or TstX) and supply the best possible answer, i.e. as close as it can get to the correct values (Z or TstZ).
It must have comments of the important line codes and about the methods, techniques and algorithms used to acheive the result.
Do you accept the challenge?
Tell me your TestResult number and price (<=250 USD).
-*-*- Must be an autoencoder artificial neural network, ONE autoencoder -*-*-
-*-*- Must be implemented in matlab code (.m) -*-*-
-*-*- Must not use any toolbox -*-*-
-*-*- Must have the supplied 39 inputs and 39 outputs (output=input) -*-*-
-*-*- Must have a hidden bottleneck layer with less than 30 neurons -*-*-
-*-*- Must be trained only with data from [url removed, login to view] (input: X or/and Y) -*-*-
-*-*- Must be tested only with data from [url removed, login to view] (input: TstX) -*-*-
It will be paid in two steps:
1) After the classified candidate won: Half
2) After check for the expected and correct answer and code verification: Other Half