Describe how you would implement a 5-node MLP with backpropagation in NumPy. Implement train_mlp(X, y, epochs, learning_rate, seed) using one hidden layer with exactly five tanh units and one sigmoid output. X is a list of numeric rows, y is a list of binary labels, and the function must return predicted labels as a list of integers after full-batch gradient descent. Initialize parameters deterministically from seed, use binary cross-entropy gradients, and make the implementation work for any positive number of input features.
def train_mlp(X, y, epochs, learning_rate, seed):