This is an assignment for a Data Mining and Machine Learning class which introduces fundamental concepts in neural networks and deep learning, including different network architectures and optimization techniques. Data is loaded from the ISLP (Introduction to Statistical Learning with Python) package.
Topics Covered:
- Neural Networks (NN): Understanding the basic architecture and components of artificial neural networks.
- Convolutional Neural Networks (CNN): Exploring the architecture and application of CNNs, particularly for image processing tasks (demonstrated with testing on a directory of book images).
- Recurrent Neural Networks (RNN): Understanding the architecture and applications of RNNs for sequential data.
- Gradient Descent of a Function: Applying the gradient descent optimization algorithm to find the minimum of a given function (illustrated with a provided graph of the derivative).
- Softmax Function: Understanding and applying the softmax activation function, particularly in the context of multi-class classification (supported by provided proof).
- CNN Convolution Operation: Visualizing and understanding the convolution operation in CNNs (illustrated with a provided diagram).
- Equivalence Proof: Analyzing and understanding a provided mathematical proof related to neural network concepts.
- Data Loading from ISLP: Utilizing the ISLP Python package to load and work with relevant datasets.
- Image Data Handling: Working with image data for testing the CNN model (using images from the
book_images
directory).