### Navigation

- index
- modules |
- next |
- previous |
- NeuroLab v0.0.9 documentation »
- Examples »

# Feed Forward Multilayer Perceptron (newff)

Use `neurolab.net.newff()`

    import neurolab as nl
    import numpy as np

    # Approximation function: 1/2 * sin(x)
    x = np.linspace(-7, 7, 20)
    y = np.sin(x) * 0.5

    size = len(x)

    inp = x.reshape(size,1)
    tar = y.reshape(size,1)

    # Create network with 2 layers and rendom initialized
    net = nl.net.newff([[-10, 10]],[5, 1])

    # Train network
    error = net.train(inp, tar, epochs=500, show=100, goal=0.02)

    # Simulate network
    out = net.sim(inp)

    # Plot result
    import pylab as pl
    pl.subplot(211)
    pl.plot(error)
    pl.xlabel('Epoch number')
    pl.ylabel('error (default SSE)')

    x2 = np.linspace(-6.0,6.0,150)
    y2 = net.sim(x2.reshape(x2.size,1)).reshape(x2.size)

    y3 = out.reshape(size)

    pl.subplot(212)
    pl.plot(x2, y2, '-',x , y, '.', x, y3, 'p')
    pl.legend(['train target', 'net output'])
    pl.show()

Result: |

### Navigation

- index
- modules |
- next |
- previous |
- NeuroLab v0.0.9 documentation »
- Examples »