class_docstr: Multilayer Perceptron classifier. A fully-connected neural network with one hidden layer.
  Unrolled to display the whole forward and backward pass.
  
  Parameters:
  -----------
  n_hidden: int:
      The number of processing nodes (neurons) in the hidden layer. 
  n_iterations: float
      The number of training iterations the algorithm will tune the weights for.
  learning_rate: float
      The step length that will be used when updating the weights.
class_docstr_tok: ["Multilayer","Perceptron","classifier",".","A","fully-connected","neural","network","with","one","hidden","layer",".","Unrolled","to","display","the","whole","forward","and","backward","pass",".","Parameters",":","--","--","--","--","--","-","n_hidden",":","int",":","The","number","of","processing","nodes","(","neurons",")","in","the","hidden","layer",".","n_iterations",":","float","The","number","of","training","iterations","the","algorithm","will","tune","the","weights","for",".","learning_rate",":","float","The","step","length","that","will","be","used","when","updating","the","weights","."]
code: def _initialize_weights(self, X, y):
      n_samples, n_features = X.shape
      _, n_outputs = y.shape
      # Hidden layer
      limit = 1 / math.sqrt(n_features)
      self.W = np.random.uniform(
          -limit, limit, (n_features, self.n_hidden)
      )
      self.w0 = np.zeros((1, self.n_hidden))
      # Output layer
      limit = 1 / math.sqrt(self.n_hidden)
      self.V = np.random.uniform(
          -limit, limit, (self.n_hidden, n_outputs)
      )
      self.v0 = np.zeros((1, n_outputs))
  
file_path: ML-From-Scratch/mlfromscratch/supervised_learning/multilayer_perceptron.py
imports: from __future__ import print_function, division
  import numpy
  import math
  from sklearn import datasets
  from mlfromscratch.utils import train_test_split, to_categorical, normalize, accuracy_score, Plot
  from mlfromscratch.deep_learning.activation_functions import Sigmoid, Softmax
  from mlfromscratch.deep_learning.loss_functions import CrossEntropy
label_desc: Use image node_id 2 for calling the MultilayerPerceptron obj's underlying member method code with example usage: obj._initialize_weights(X, y) without return types