示例#1
0
    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()
    
示例#3
0
    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)
示例#4
0
    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()