Intermediate Machine Learning

Posted By: ELK1nG

Intermediate Machine Learning
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.