import("lib.nas"); rand(time(0)); var new_neuron=func() { return { in:0, out:0, w:[], bia:0, diff:0 }; } var sigmoid=func(x) { return 1/(1+math.exp(-x)); } var diffsigmoid=func(x) { x=sigmoid(x); return x*(1-x); } var inum=2; var hnum=4; var onum=1; var lr=0.1; var training_set=[[0,0],[0,1],[1,0],[1,1]]; var expect=[[0],[1],[1],[0]]; var hidden=[]; for(var i=0;i0.0005) { error=0; for(var i=0;i<4;i+=1) { forward(i); error+=get_error(i); backward(i); } cnt+=1; show+=1; if(show==350) { show=0; print('epoch ',cnt,':',error,'\r'); } } print('finished after ',cnt,' epoch.\n'); foreach(var v;training_set) { run(v); print(v,': ',output[0].out,'\n'); }