samples = np.zeros((n1+n2,2)) samples[:n1] = ring(n=n1, radius=(0.25,0.50)) samples[n1:] = ring(n=n2, radius=(0.00,0.25)) print 'Dynamic Self-Organizing Map 2' np.random.seed(123) dsom2 = DSOM((n,n,2), elasticity=1.25, init_method='fixed') dsom2.learn(samples,epochs) n1 = int(area_1*10000) n2 = int(area_2*40000) samples = np.zeros((n1+n2,2)) samples[:n1] = ring(n=n1, radius=(0.25,0.50)) samples[n1:] = ring(n=n2, radius=(0.00,0.25)) print 'Dynamic Self-Organizing Map 3' np.random.seed(123) dsom3 = DSOM((n,n,2), elasticity=1.25, init_method='fixed') dsom3.learn(samples,epochs) fig = plt.figure(figsize=(21,8)) fig.patch.set_alpha(0.0) axes = fig.add_subplot(1,3,1) dsom1.plot(axes) axes = fig.add_subplot(1,3,2) dsom2.plot(axes) axes = fig.add_subplot(1,3,3) dsom3.plot(axes) fig.savefig('density.png',dpi=150) # plt.show()
print 'Self-Organizing Map' np.random.seed(12345) som = SOM((size,size,2)) som.learn(samps,epcs) print 'Dynamic Self-Organizing Map' np.random.seed(12345) dsom = DSOM((size,size,2), elasticity=2) dsom.learn(samps,epcs) fig = plt.figure(figsize=(16,7)) fig.patch.set_alpha(1.0) axes = plt.subplot(1,2,1) som.plot(axes) axes = plt.subplot(1,2,2) dsom.plot(axes) fig.savefig('dynamicA.png',dpi=150) fig.clf() axes = plt.subplot(1,2,1) som.plot_dist(axes) axes = plt.subplot(1,2,2) dsom.plot_dist(axes) fig.savefig('dynamicB.png',dpi=150) #plt.show()
samples = np.zeros((N, 2)) #samples[:,0] = np.array([0.1, 0.1, 0.5, 0.9]) #samples[:,1] = np.array([0.1, 0.9, 0.5, 0.9]) samples[:, 0] = np.array([0.1, 0.1, 0.5, 0.9, 0.9]) samples[:, 1] = np.array([0.1, 0.9, 0.5, 0.1, 0.9]) print 'Neural Gas' np.random.seed(2) ng = NG((n, n, 2)) ng.learn(samples, epochs) print 'Self-Organizing Map' np.random.seed(2) som = SOM((n, n, 2)) som.learn(samples, epochs) print 'Dynamic Self-Organizing Map' np.random.seed(2) dsom = DSOM((n, n, 2), elasticity=1.0, lrate=0.1) #dsom = DSOM((n,n,2), elasticity=1.75) dsom.learn(samples, epochs) fig = plt.figure(figsize=(21, 8)) fig.patch.set_alpha(0.0) axes = plt.subplot(1, 3, 1) ng.plot(axes) axes = fig.add_subplot(1, 3, 2) som.plot(axes) axes = fig.add_subplot(1, 3, 3) dsom.plot(axes) fig.savefig('false.png', dpi=150)
n2 = int(area_2 * 10000) samples = np.zeros((n1 + n2, 2)) samples[:n1] = ring(n=n1, radius=(0.25, 0.50)) samples[n1:] = ring(n=n2, radius=(0.00, 0.25)) print 'Dynamic Self-Organizing Map 2' np.random.seed(123) dsom2 = DSOM((n, n, 2), elasticity=1.25, init_method='fixed') dsom2.learn(samples, epochs) n1 = int(area_1 * 10000) n2 = int(area_2 * 40000) samples = np.zeros((n1 + n2, 2)) samples[:n1] = ring(n=n1, radius=(0.25, 0.50)) samples[n1:] = ring(n=n2, radius=(0.00, 0.25)) print 'Dynamic Self-Organizing Map 3' np.random.seed(123) dsom3 = DSOM((n, n, 2), elasticity=1.25, init_method='fixed') dsom3.learn(samples, epochs) fig = plt.figure(figsize=(21, 8)) fig.patch.set_alpha(0.0) axes = fig.add_subplot(1, 3, 1) dsom1.plot(axes) axes = fig.add_subplot(1, 3, 2) dsom2.plot(axes) axes = fig.add_subplot(1, 3, 3) dsom3.plot(axes) fig.savefig('density.png', dpi=150) # plt.show()