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.teachIN = load('percept.input'); % load input dataOUT = load('percept.teach'); % load target outputs[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 matrixfor 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); endend
see how it solves the logical AND problem and fails on XOR !! (ooh... aah...)