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 __init__(self, n_hidden, n_iterations=3000, learning_rate=0.01):
      self.n_hidden = n_hidden
      self.n_iterations = n_iterations
      self.learning_rate = learning_rate
      self.hidden_activation = Sigmoid()
      self.output_activation = Softmax()
      self.loss = CrossEntropy()
  
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 1 to create a new MultilayerPerceptron object  with example: obj = MultilayerPerceptron(n_hidden, n_iterations, learning_rate)