def exercise1_3(N=200,P=50,tests=100): print "Exercise 1.3:" h = HopfieldNetwork() error = zeros((P,tests),float) for p in range(P): for q in range(tests): if p > 0: r = np.random.randint(0,p) else: r = 0 error[p,q]=(h.run(N, P=p+1, mu=r, flip_ratio=0.1, bPlot=False)) print error; stdev=np.std(error,axis=1) meanvalues=np.mean(error,axis=1) fig = figure() ax1 = fig.add_subplot(111) lp = errorbar(range(1,P+1),meanvalues,stdev,color='g') bp = boxplot(transpose(error)) axhline(y=0.02,linewidth=1, color='r') xticks(arange(0,P+1,P/10)) setp(lp,color='black') ax1.set_ylim(0,0.5) ax1.yaxis.grid(True,linestyle='-',which='major', color=(0.2,0.2,0.2),alpha=0.5) ax1.set_axisbelow(True) ax1.set_title('Mean retrieval error over different' 'network realizations (N=%d, tests=%d)' % (N,tests) ) ax1.set_ylabel('Mean retrieval error') ax1.set_xlabel('Dictonary size P') savefig('../tex/dat/ex1_3-error_avg-N%d-P%d-Q%d.png' % (N,P,tests)) close()
def exercise1_1(N=200,P=5,c=0.2): print "Exercise 1.1:" h = HopfieldNetwork() h.run(N=N, P=P, flip_ratio=c, bPlot=True) savefig('../tex/dat/ex1_1-energy_overlap-N%d-P%d-c%d.png' % (N,P,c*100)) close()