What is the math behind like?

Class diagram for MLP

How to use it?
- Declare a MLP object
    
mlp = MLP() - Input and target data
    
x = np.linspace(0,1,40).reshape((40,1)) x = (x-0.5)*2 y = np.sin(2*np.pi*x) + np.cos(4*np.pi*x) + np.random.randn(40).reshape((40,1))*0.2 train = x[0::2,:] test = x[1::4,:] valid = x[3::4,:] traintarget = y[0::2,:] testtarget = y[1::4,:] validtarget = y[3::4,:] - Declare layers
    
X = Layer(value = train) target = Layer(value = traintarget) h1 = Layer(rows = X.rows, cols = 3) # first hidden layer h2 = Layer(rows = X.rows, cols = 2) # 2nd hidden layer h3 = Layer(rows = X.rows, cols = 1) # 3rd hidden layer output = Layer(rows = X.rows, cols = target.cols) - Connect layers
    
X.connect(h1) h1.connect(h2) h2.connect(h3) h3.connect(output) - Add layers to MLP and train
    
mlp.addLayers([X, h1, h2, h3, output, target]) mlp.train() - Predict
    
test_x = np.ones((1,1)) output = mlp.predict(x=test_x) print(output)