Deep learning Udacity course Prob 2 assignment 1 notMNIST
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
The Udacity Deep Learning course includes several assignments that build foundational skills and understanding of neural networks. An essential part of this program is the `Prob 2 assignment 1`, which deals with a dataset known as notMNIST. This assignment offers hands-on experience working with deep learning techniques and is designed to familiarize students with data preprocessing, model creation, and learning evaluation. In the following sections, we'll explore the technical aspects of this assignment, providing insights and examples where applicable.
Overview of notMNIST Dataset
notMNIST is a collection of images representing the characters 'A' through 'J' from different fonts. This dataset serves a similar purpose to the widely recognized MNIST database but includes more complex and varied typography:
- Dataset Size: Approximately 500,000 images.
- Data Format: Each image is stored in an 28x28 pixel format, grayscale.
- Challenge: Classifying these images into 10 distinct categories, each corresponding to a letter.
The main challenge is that the typography and font variation make it a more complex task compared to the MNIST dataset, necessitating more robust learning models.
Key Technical Concepts
Data Preprocessing
One crucial step in machine learning projects is data preprocessing. In this assignment, preprocessing involves transforming image data into a format suitable for input into a neural network.
Steps in data preprocessing:
- Normalization: Scale the image pixel values from 0-255 to a 0-1 range. This ensures that every input feature has approximately the same scale:
- Feature Extractor: Flatten the 28x28 pixels into a 784-dimension vector.
- Layer Layout: A fully connected layer with 1024 nodes.
- Activation Function: Use ReLU (Rectified Linear Unit) for introducing non-linearity.
- Loss Function: Cross entropy loss is suitable for classification tasks:
- Optimizer: SGD (Stochastic Gradient Descent) or Adam optimizers are common choices. Adam optimizer generally provides faster and more reliable convergence:
- Performance Metrics: Evaluate the model using accuracy or other suitable metrics on both validation and test datasets.

