Neural Network Pattern Recognition
. This exercise is a logical continuation of the pattern recognition
done in HW 10.
You will execute both a Matlab version of the neural net and one written for this class
which you can examine and edit for your own use and understanding.
The files needed are:
The data are all in
The training data are the principal component projection values (two
per action potential waveform) and are in a data set called
, but apparently
is a keyword).
The test data are similar, but taken from the second half of the spike waveforms, and are
in a file called
The target (correct class) data are stored in
, which have the same
If you get stuck, intermediate values have been stored in
%normalized training data
% normalized test data
% reformatted training class id data
% reformatted test class id data
eta, beta, tol, itermax
%default parameters for class neural net
R, Q, S1, S2
% sizes for Matlab neural net functions
disp_freq,max_epoch, err_goal, lr, momentum, err_ratio, TP
% default parameters for Matlab NN fct.
Between HW10 and HW11, the row/column nature of the data matrices had to be changed for
compatibility with the Matlab neural network functions.
In HW11, the data
element matrices, as compared to the 82x2 element matrix
from which they are taken.
were to use the data from
(82x35), the new
would be 35x41 element matrices.)
Hopefully there are sufficient notes to keep you from too many mistakes with the dimensioning of the
Neural net data need to be normalized:
this will be done later by a custom function named
It is also necessary to change the format so that, where each row of
(41*1) has a single integer
), a new variable matrix,
(4*41) has a four element column vector of which one element
is 1 (e.g.
0 0 1 0
represents class #3).
is the number of different classes possible.
The algorithm is standard backpropagation.
is the ith input. y
jth hidden layer output. z
The forward propagation equations are: