# It’s Alive!

for my final year project i am attempting to teach a computer to think like a three month old baby..

obviously it must must lie around drooling a bit before it can gurgle and play hidey-peep with me but we’ve passed the first hurdle. I built a completely general purpose Perceptron. (yes, look impressed)

what’s more i’ve done on practically my first attempt at playing with Matlab.. I’m rather proud.. here’s the code.

% perceptron delta rule solution script
% data files :
% percept.input
% percept.teach

[datarows, inelem]=size(IN); % find size of data arrays
[testrows, outelem]=size(OUT);

nepochs = 1000;
gamma = 0.2;
TotError = zeros(nepochs*datarows,2);

W = 0.05* randn(inelem,outelem); % initialise random weight matrix

for n = 1:nepochs
for p = 1:datarows
% get appropriate input & target rows
A = IN(p,1:inelem);
T = OUT(p,1:outelem)';

% feedforward
O = activation(A*W,1,0);

% calculate & apply the delta adjustments
dW = gamma * (T - O) .* d_activation(A*W,1,0) * A';
W = W + dW;

% running count of total error
totsweep = (n-1)*datarows+p;
TotError(totsweep,1) = totsweep;
TotError(totsweep,2) = SumSquaresError(T,O);
end
end

see how it solves the logical AND problem and fails on XOR !! (ooh… aah…)