can but it is often more computationally efficient to use smaller deep neural network to achieve the same task that would require shallow network with exponentially more hidden units shallow neural networks also often encounter overfittingwhere the network essentially memorizes the training data that it has seenand is not able to generalize the knowledge to new data this is why deep neural networks are more commonly usedthe multiple layers between the raw input data and the output label allow the network to learn features at various levels of abstractionmaking the network itself better able to generalize other elements of the neural network that need to be defined here are the hyperparameters unlike the parameters that will get updated during trainingthese values are set initially and remain constant throughout the process in your fileset the following variables and valuesmain py learning_rate - n_iterations batch_size dropout the learning rate represents how much the parameters will adjust at each step of the learning process these adjustments are key component of trainingafter each pass through the network we tune the weights slightly to try and reduce the loss larger learning rates can converge fasterbut also have the potential to overshoot the optimal values as they are updated the number of iterations refers to how many times we go