I’m trying to figure out the meaning of the decision boundary graphs. Wanted to understand if the lines were a function of the model parameters or something imagined by the function def plot_decision_boundary(model, X, y):. So I ran the function after initializing the parameters to random numbers but before the first pass through the NN model. It still gave me a decision boundary even with random numbers in W1, W2 and zeros in b1, b2.

Please help explain where those boundaries come from.