# Machine Learning Skills – Update Yours This Summer

The process of mastering new knowledge often requires multiple passes to ensure the information is deeply understood. If you already began your journey into machine learning and data science, then you are likely ready for a refresher on topics you previously covered. This eight-week self-learning path will help you recapture the foundations and prepare you for future success in applying these skills.

*Photo by Nick Morrison on Unsplash.*

Many of you have started machine learning for some time, maybe a year or two. There are chances that if you would evaluate yourself now, in the theoretical aspects of machine learning, even the things that were very clear when you were learning, you might have forgotten those due to either not using them in practice or relying too much on high-level frameworks.

This 2 months curriculum is for those who are already in the field for some time and will help them in revising all the core concepts.

## Machine Learning Skills Week 1: Mathematical Foundations

This week aims to make sure that you revise all the core mathematical concepts required for beginners to grasp Machine Learning.

**Days 1–3: Linear Algebra**

Stanford University has really good quick notes on Linear Algebra that are 30 pages long, i.e., made for revision and cover all the essential topics. You can find them here. Additionally, you can watch videos on the topics in the notes if you want, but these notes are enough to revise the concepts.

**Days 3–6: Probability and Statistics**

Probability and Statistics are the backbones of Machine Learning, and this short video by Edureka can be helpful in a quick refresher of Probability and Statistics. Alongside this video, you check these slides for probability refresher and this pdf by Stanford for quick revision.

## Machine Learning Skills Weeks 2–3: Machine Learning and Deep Learning Intuition

I will follow the latest explanation of Professor Andrew Ng (CS229 Autumn 2018) from Stanford University for understanding the mathematics and working behind the Machine Learning Algorithms. Professor Andrew Ng is an adjunct professor at Stanford, but he has many other activities, so he is best described as a “Leading AI Researcher and Founder of Deeplearning.ai, Coursera, and other startups.”

For Deep Learning algorithms, I will be following CS231n by Professor Andrej Karpathy, who has done his Ph.D. from Stanford and has taught the famous CS231n in 2016, which is one of the most-watched courses on Deep Learning for Vision Systems. Andrej is now the senior director of AI at Tesla.

Some lectures are also given by Professor Fei Fei Li, who is the inaugural Sequoia Professor in the Computer Science Department at Stanford University and Co-Director of Stanford’s Human-Centered AI Institute.

**Day 1: Linear Regression**

One of the most common Machine Learning algorithms. It has been explained well by Andrew Ng, and you can find the lecture video on YouTube and course notes by Stanford University here.

**Day 2: Logistic Regression**

Logistic Regression is the most basic classification algorithm, explained really well by Andrew Ng, and the complete lecture can be found on YouTube here. Course notes for logistic regression are present in the pdf for Linear Regression shared in the linear regression section.

**Day 3: Naive Bayes**

Naïve Bayes is a well-known classification algorithm that works purely on the probabilistic background. It is a difficult algorithm if you have not studied probability. Luckily Andrew Ng has taught this algorithm in his latest course release (2019), and you can find the video here. This algorithm is not present in his Coursera course.

You can find the course notes here.

The video and the notes also explain GDA, which is Gaussian Discriminant Analysis.

**Days 4–5: Support Vector Machines**

SVMs are one of the hardest machine learning algorithms for beginners. Especially when it involves kernels. Andrew Ng has separate videos for

which can give you a good mathematical intuition on how this algorithm works.

**Day 6: Decision Trees and Ensemble Methods**

Decision Trees, Random Forest, and other ensemble methods such as XGBoost are very commonly used. CS229 covers the topic of Decision Trees and Ensemble methods and explains the mathematics behind these algorithms in a very easy-to-understand way. You can find the lecture video here.

**Day 7: Unsupervised Learning**

Unsupervised Learning is an important part of Machine Learning, and it is widely used in a lot of applications. Andrew Ng covers important algorithms of Unsupervised Learning in this lecture, which you can find here.

**Day 8: Data Splits, Models, and Cross-Validation**

Splitting the dataset appropriately, choosing the correct algorithm, having the correct cross-validation set is important. Andrew Ng focuses on this important aspect and covers it in this video.

**Day 9: Debugging Machine Learning Models and Error Analysis**

It is important, as well as difficult, to know that what are the problems in your machine learning model and how to improve them. In this lecture, Andrew Ng discusses it in detail.

**Days 10–12: Introduction to Neural Networks**

Neural Networks are a very important aspect and widely used aspect of AI. 3Blue1Brown is a very famous channel on YouTube that has a short playlist that can help you understand the basics of NN.

Then for the in-depth understanding, you can follow these 4 lectures:

- Kian Ktanfrosh CS229 Introduction to Neural Networks
- Neural Networks 1 by Andrej Karpathy
- Neural Networks 2 by Andrej Karpathy
- Neural Networks 3, Introduction to ConvNets by Andrej Karpathy

**Day 13: Convolutional Neural Networks**

CNN is very important and widely used in industry. You have learned the basics of it in the 4th lecture. In this lecture, Andrej Karpathy dives deeper into CNN and explains it beautifully.

**Day 14: Recurrent Neural Networks**

RNN is an important and widely used Deep Learning algorithm that is very famous for sequential and language tasks. In this lecture, Andrej Karpathy goes through RNN and LSTMs, and some of the applications that you can build using them, such as Image Captioning.

## Machine Learning Skills Week 4: Computer Vision Theory

**Day 1: ConvNets in Practice**

This lecture deals with most of the details that make ConvNets very powerful, especially in the industry. Topics like Data Augmentation, Transfer Learning, Arranging Convolutions, Bottlenecks and distributed training, and more.

**Day 2: Localization and Detection**

Object Localization and detection is a very cool and important feature, widely used in industry in several applications. Andrej Karpathy explains the mathematics behind it in detail in this lecture.

**Day 3: Working with Videos in DL and Unsupervised Learning**

This lecture by Andrej Karpathy will explain how to deal with video data and use Unsupervised Learning to get the most out of it.

*Lecture Link:*

**Day 4: Segmentation and Attention**

Segmentation is a very core task that is used in Computer Vision. This lecture dives deeps into two different kinds of Segmentation. Attention is also a very famous task where we want our model to give attention to the specific parts of the image that are relevant.

*Lecture link:*

**Day 5: Generative Models**

Models that can generate new things are really cool. These days, GANs and DeepFakes are really famous. In this lecture, Fei-Fei Li dives deep into the mathematics and theory behind Generative Models.

*Lecture Link:*

You can also watch the lecture by MIT Intro to Deep Learning series.

*Lecture Link:*

**Day 6: 3D Content Creation with AI**

This lecture by MIT dives into how to create 3D content using AI and Deep Learning.

*Lecture Link:*

**Day 7: Pose Estimation**

Pose Estimation is a famous task that is widely used in industry in several applications. There are not many good explanations for how it works, but I have tried to gather some of the resources that will give you an intuition on how Pose Estimation works.

*Lecture Link:*

*Blogs:*

- Pose Estimation Guide
- A 2019 guide to Human Pose Estimation with Deep Learning
- An Overview of Human Pose Estimation with Deep Learning

## Machine Learning Skills Weeks 5–6: Practical Computer Vision

**Day 1: Image Classification using TensorFlow/PyTorch**

**Days 2–5: Object Detection using TensorFlow**

*Tutorials:*

- RCNN in TensorFlow
- Yolo Object Detection with OpenCV
- Bounding Box Regression with Keras
- Yolo with Keras

*Practice datasets:*

**Days 6–9: Object Segmentation**

*Tutorials:*

- Keras Mask-R-CNN
- Segmentation using Mask-RCNN & Open CV
- Instance Segmentation with OpenCV
- Semantic Segmentation using OpenCV

*Practice Datasets:*

**Days 10–12: GANs**

*Tutorials:*

**Days 13–14: Neural Style Transfer**

*Tutorials:*

## Machine Learning Skills Week 7: Practical Natural Language Processing

**Day 1: Sentiment Analysis**

*Tutorials:*

*Practice Datasets:*

**Day 2: Text Generation**

*Tutorials:*

**Day 3: Pre-trained word embeddings**

*Tutorials:*

**Day 4: Text Classification with BERT**

*Tutorials:*

**Day 5: Text Translation**

*Tutorials:*

**Days 6–7: Model Deployment**

*Tutorials:*

- Deploy Sentiment Analysis Model using FastAPI and Heroku
- Deploying Keras models using TensorFlow Serving and Flask

## Machine Learning Skills: Week 8

**Structuring Machine Learning projects**

This week is course 3 in Deep Learning Specialization, where you will learn how to structure your Deep Learning Projects, what are the best ways and practices to execute them, how to improve the model, how to carry out error analysis, and much more.

You can find it on YouTube Playlists here and on Coursera if you want a certificate here.

**Related:**