ACM Machine Learning team lesson slides and projects for 2023
🤖 Lesson 1: Introduction to Machine Learning 16/03/2023
Chapter 1: What is Machine Learning?- Overview of machine learning and its applications
- Basic concepts: data, model, prediction
Chapter 2: Types of Machine Learning
- Supervised learning: regression, classification
- Unsupervised learning: clustering, dimensionality reduction
- Reinforcement learning: reward-based learning, Q-learning
Chapter 3: Key Concepts in Machine Learning
- Data preparation: cleaning, normalization
- Model training: loss function, optimization algorithm
- Model evaluation: validation, testing
Chapter 4: Tools and Technologies for Machine Learning
- Programming languages: Python, R, Julia
- Machine learning frameworks: TensorFlow, PyTorch, scikit-learn
- Data visualization tools: Matplotlib, Seaborn, Plotly
Project 1: Setting Up Your Machine Learning Environment
- Install Python on your local machine
- Choose an IDE (e.g., PyCharm, VS Code) and install it on your local machine
- Create a new Python project in your IDE
- Setup virtual environment and import libraries
🤖 Lesson 2: Data Preparation and Preprocessing 23/03/2023
Chapter 1: Exploring Data- Understanding the data and its characteristics
- Load datasets using pandas
- Visualizing data using plots and charts
Chapter 2: Data Cleaning and Preprocessing
- Removing duplicates and irrelevant data
- Identifying missing values and dealing with them
- Feature scaling and normalization
Chapter 3: Data Sampling and Splitting
- Introduction to data sampling and splitting
- Types of sampling and splitting our data
Project 2: Data Preprocessing and Visualization Project
- Load dataset into a pandas Dataframe and explore it to understand its structures and features
- Visualize data on a barplot using seaborn or Matplotlib
- Preprocess the data, remove all the NaN's from specific columns
- Sample the data using stratified sampling
- Split the data into a 80% training, 10% validation and 10% testing sets format
🤖 Lesson 3: Supervised/Unsupervised Learning 06/04/2023
Chapter 1: Introduction to Supervised Learning - Regression and Classification- Define supervised learning
- Define regression and its applications
- Define classification and its applications
- Discuss common evaluation metrics used for supervised learning
Chapter 2: Introduction to Unsupervised Learning - Clustering
- Define unsupervised learning
- Define clustering and its applications
- Discuss common techniques used for clustering, such as k-means, hierarchical clustering, and DBSCAN
- Discuss common evaluation metrics used for clustering
Chapter 3: Brief introduction to Deep learning and Neural Networks
- Brief introduction to Deep Learning
- Brief introduction to Neural Networks
- What are Convolutional Neural Networks (CNNs)?
Project 3: Deep image classification project
- Acquire a dataset of images
- Preprocess the images by resizing them to a common size, normalizing pixel values, and splitting the data
- Build a convolutional neural network using TensorFlow/Keras
- Train the model using the training set, adjusting the hyperparameters
- Evaluate the final model on the testing set to measure its accuracy and other performance metrics
🤖 Lesson 4: Deep Learning - Neural Networks 04/05/2023
Chapter 1: Introduction to Deep Learning- Overview of Deep Learning
- Deep Learning Frameworks
- Setting up a Deep Learning Environment
Chapter 2: Introduction to Neural Networks
- What are Neural Networks?
- Types of Neural Networks
- Learning in Neural Networks
- Overfitting and Regularization
Chapter 3: Convolutional Neural Networks (CNNs)
- Convolutional layers
- Transfer learning
- Applications of CNNs
Chapter 4: Recurrent Neural Networks (RNNs)
- Recurrent layers
- Training Recurrent Neural Networks
- Applications of Recurrent Neural Networks
Chapter 5: Generative Adversarial Networks (GANs)
- GAN Components
- Common GAN Architectures
- Applications of GANs
🤖 Lesson 5: Generative Adversarial Network project 10/05/2023
- Acquire the MNIST dataset from tensorflow_datasets
- Preprocess the dataset images
- Build the generator and discriminator networks
- Build a custom training loop
- Train the GAN model
- Evaluate the final model on the testing set to measure its accuracy and other performance metrics