ann = ANN(math.tanh, tprime, weights, True) ann.populate(sampled_data) #Part a max_itr = 1000 print "Training ANN with no lambda for", max_itr,"iterations" print "Actual grad, no lambda", ann.calc_err_grad()[0] print "Numerical grad, no lambda", ann.num_grad() Eins_a, itr_a = ann.train(max_itr) print "Finished training" plot.plot(range(len(Eins_a)), Eins_a, color='r') plot.savefig("ann-nolamb.png") plot.clf() print datetime.datetime.now() print "Plotting Decision Boundary for ANN with no lambda after", max_itr, "iterations" ann.decision(savename="ann_nolamb_dec.png") print datetime.datetime.now() #----- lamb = 0.01/len(sampled_data) ann.reset() ann.set_weights(weights) print "Training ANN with lambda", lamb, "for", max_itr, "iterations" print datetime.datetime.now() ann.set_lamb(lamb) print "Actual lambda grad", ann.calc_err_grad()[0] print "Numerical lambda grad", ann.num_grad() Eins_b, itr_b = ann.train(max_itr) print "Finished training"