# 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```

``` IN = load('percept.input'); % load input data OUT = 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 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…) 