Intermediate Machine Learning
Published 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.64 GB | Duration: 14h 24m
Published 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.64 GB | Duration: 14h 24m
Understanding, designing and implementing machine learning solutions for basic to intermediate problems.
What you'll learn
Recognize the various important steps within data pipelines
Identify the common pitfalls when conducting data collection for machine learning projects
Examine the collected data to find any potential feature relationships and data quality concerns
Create data visualizations that will assist with exposing any patterns that could be exploited
Select features that are likely to be informative
Clean datasets by addressing potential data quality issues
Organize datasets such that they will be ready for model ingestion
Differentiate between supervised, unsupervised, semi-supervised and self-supervised learning
Contrast conventional machine learning and deep learning
Discuss various popular supervised and unsupervised learning models
Use Scikit-learn to solve basic to intermediate machine learning problems
Explain what neural networks are
Contrast the different variants of neural networks
Implement basic to intermediate deep learning solutions using PyTorch
Requirements
Programming experience is not required to follow the course or the concepts that are being discussed. However, if you want to be able to do the homework and to implement models yourself, you will need to know how to program in Python.
Foundational knowledge of derivatives and statistics will be beneficial, but is not required. As far as possible we aim to avoid unnecessary mathematical and statistical details when discussing the various concepts in this course.
Description
This course will introduce students to the field of machine learning by providing a broad overview of all of the various aspects of a machine learning pipeline, as well as the various types and subfields of machine learning models. We will explain various aspects of the data pipeline, such as what to consider during data collection, how to analyze and interpret your datasets, how to create meaningful visualizations of your data and how to clean and prepare your datasets for training machine learning models. These discussions will also provide students with insights regarding how the various aspects of the data pipeline changes for different types of data, such as tabular, image, text and time series data. Students will then learn about the various subfields of machine learning, with a particular focus on the most popular supervised and unsupervised machine learning models, as well as a few deep learning architectures. We will also discuss semi-supervised and reinforcement learning to a lesser extent. Lectures regarding specific models will aim to teach students what the core idea behind the models are, what the main differences between the various models are and what is considered to be their pros and cons. We will not provide detailed mathematical explanations regarding these models, but certain discussions provide some insights into aspects of the underlying mathematics that influence how the models work and what problems they are suitable for.Apart from discussing data pipelines and the various types of machine learning models, this course will also provide students with the necessary information to be able to build their own machine learning solutions for basic to intermediate problems. This includes discussions of the popular machine learning frameworks in Python (Scikit-learn, PyTorch, Tensorflow and Jax), the steps that should be considered when designing a machine learning project, how to train, finetune and evaluate machine learning models in a way that will provide robust performance estimations as well as a few practical examples where machine learning models are applied to some demonstrative datasets.There is considerable overlap between our Introduction to Machine Learning course and this course, but we discuss the various topics in more detail in this course with the aim to enable students to be able to implement their own machine learning solutions by the end of the course.
Overview
Section 1: Introduction
Lecture 1 Introducing Machine Learning
Lecture 2 A Brief History
Lecture 3 Motivating the use of Machine Learning
Lecture 4 Machine Learning Applications
Lecture 5 Machine Learning Pipeline Overview
Section 2: Data Exploration and Visualization
Lecture 6 Data Collection
Lecture 7 Data Exploration
Lecture 8 Data Visualization
Lecture 9 Feature Importance
Lecture 10 Demonstration
Section 3: Data Preprocessing
Lecture 11 Cleaning Tabular Data
Lecture 12 Cleaning Image Data
Lecture 13 Cleaning Textual Datasets
Lecture 14 Cleaning Time Series Data
Lecture 15 Preparing Tabular Data
Lecture 16 Preparing Image Data
Lecture 17 Preparing Textual Data
Lecture 18 Dimensionality Reduction
Lecture 19 Feature Engineering
Lecture 20 Data Pipeline Homework
Section 4: Machine Learning Taxonomy
Lecture 21 Supervised Learning Overview
Lecture 22 UnsupervisedLearningOverview
Lecture 23 Supervised vs Unsupervised Learning
Lecture 24 Semi-supervised Learning
Lecture 25 Reinforcement Learning
Lecture 26 Deep Learning
Section 5: Supervised Learning
Lecture 27 Linear and Logistic Regression
Lecture 28 Support Vector Machines
Lecture 29 K Nearest Neighbours
Lecture 30 Decision Trees
Lecture 31 Ensembles
Lecture 32 Tree-based Ensembles
Section 6: Model Training
Lecture 33 Understanding under- and overfitting
Lecture 34 Creating Dataset Splits
Lecture 35 Data Leakage
Lecture 36 Optimisation Strategies
Lecture 37 Performance Metrics
Lecture 38 Hyperparameter Optimisation
Lecture 39 Model Comparison and Selection
Section 7: Unsupervised Learning
Lecture 40 Similarity Metrics
Lecture 41 K-Means
Lecture 42 Hierarchical Clustering
Lecture 43 Gaussian Mixture Models
Lecture 44 DBSCAN
Lecture 45 Association Rules
Lecture 46 Anomaly Detection
Section 8: Scikit-learn
Lecture 47 Datasets
Lecture 48 Preprocessing
Lecture 49 Model API
Lecture 50 Model Evaluation
Lecture 51 Model Performance
Lecture 52 Model Persistence
Lecture 53 SKLearn Demonstration
Lecture 54 Homework
Section 9: Deep Learning
Lecture 55 Introduction to Deep Learning
Lecture 56 Perceptron
Lecture 57 Artificial Neural Networks
Lecture 58 Convolutional Neural Networks
Lecture 59 Recurrent Neural Networks
Lecture 60 Autoencoders
Section 10: Deep Learning Frameworks
Lecture 61 PyTorch
Lecture 62 PyTorch Lightning
Lecture 63 Tensorflow
Lecture 64 Jax
Lecture 65 Model libraries
Lecture 66 Tools for Deep Learning
Lecture 67 PyTorch Demonstration
Lecture 68 Deep Learning Homework
Section 11: Transfer learning and End-to-End Design
Lecture 69 Transfer Learning
Lecture 70 Pretraining Tasks
Lecture 71 Dataset Design
Lecture 72 Model Design
Lecture 73 Framework Selection
Section 12: Practical Examples
Lecture 74 Estimate Vessel Time of Arrival Practical Problem
Lecture 75 Network Intrusion Anomaly Detection Practical Problem
This course is intended for engineers and developers that want to learn more about machine learning and want to potentially move into a data science or machine learning engineer role. We will not discuss the underlying mathematical principles, but you will know enough by the end of this course to be able to use existing implementations to solve basic to intermediate machine learning problems.,This course will benefit students that are considering pursuing a career as a data scientist or machine learning engineer. This course will provide you with a strong foundational knowledge regarding most of the core aspects of a machine learning project and will provide you with a strong basis on which to continue building your understanding of the field.,This course will also be useful for managers that want to be able to understand what the important aspects are of machine learning projects and what they will need to consider when pursuing such a project. It will also provide them with enough knowledge to participate in discussions regarding machine learning and to know which questions are important to ask.,This course could be beneficial for someone that has completed our introduction to machine learning course and wants to continue learning about the various models and how one can implement them in Scikit-learn or PyTorch. However, there is some overlap between the material in the two courses and thus some information will be repeated (although we will generally provide more information in this course).,This course is not intended for anyone that already has a strong foundational understanding of machine learning, nor for anyone that wants to learn about the mathematical/statistical underpinnings on which machine learning models were built.