Name: Anonymous 2013-07-29 21:09
Do not reply.
data = [0,1,0,1; 1,0,1,0];
sigmoid = @(x) 1.0 ./ (1.0 .+ e.^-z);
n = size(data, 1);
m = size(data, 2);
neurons = 3;
weights = [];
weights(1:m, 1:neurons) = 0;
weights = randn(size(weights)) ./ 6.0;
pdata = [];
for(iter=1:500)
insig1b = data * weights;
sig1b = sigmoid(insig1b);
pos = data' * sig1b; %'
insig2a = sig1b * weights'; %'
sig2a = sigmoid(insig2a);
insig2b = sig2a * weights;
sig2b = sigmoid(insig2b);
neg = data' * sig2b; %'
weights = weights .+ ((pos .- neg) ./ n);
hold on;
pdata(iter) = sum(abs(data(:) .- sig2a(:)) ./ n);
endfor;
plot(pdata, '-g')