To be a good data scientist, you need to know how to use data science and machine learning libraries and algorithms, such as Scikit-learn, TensorFlow, and PyTorch, to solve whatever problem you have at hand.
To be an excellent data scientist, you need to know how those libraries and algorithms work under the hood. This is where our Mathematical Foundations of Machine Learning comes in.
Led by deep learning guru Dr. Jon Krohn, this course provides a firm grasp of the mathematics — namely the linear algebra and calculus — that underlies machine learning algorithms and data science models.
The course is broken down into the following sections:
Linear Algebra Data Structures
Tensor Operations
Matrix Properties
Eigenvectors and Eigenvalues
Matrix Operations for Machine Learning
Limits
Derivatives and Differentiation
We have finished filming additional content on calculus (Sections 8 through 10), which will be edited and uploaded by Summer 2021. At that point, the Mathematical Foundations of Machine Learning course could be considered complete, but we will continue adding related bonus content — on probability, statistics, data structures, and optimization — as quickly as we can. Enrollment now includes free, unlimited access to all of this future course content — over 25 hours in total.
Throughout each of the sections, you’ll find plenty of hands-on assignments, Python code demos, and practical exercises to get your math game up to speed!
Are you ready to become an outstanding data scientist? See you in the classroom.
Course Prerequisites
Programming: All code demos will be in Python so experience with it or another object-oriented programming language would be helpful for following along with the code examples.
Mathematics: Familiarity with secondary school-level mathematics will make the class easier to follow along with. If you are comfortable dealing with quantitative information — such as understanding charts and rearranging simple equations — then you should be well-prepared to follow along with all of the mathematics.
This is the first video in the course that makes heavy use of hands-on code demos. As described in the video, the default approach we assume for executing this code is within Jupyter notebooks within the (free!) Google Colab environment.
Pro tip: To prevent abuse of Colab (for, say, bitcoin mining), Colab sessions time out after a period of inactivity -- typically about 30 to 60 minutes. If your session times out, you'll lose all of the variables you had in memory, but you can quickly get back on track by following these three steps:
Click on the code cell you'd like to execute next.
Select "Runtime" from the Colab menubar near the top of your screen.
Select the "Run before" option. This executes all of the preceding cells and then you're good to go!
While detailing how to determine the inverse of a matrix is outside the scope of this course, if you're keen to learn more on the topic, a clear tutorial can be found here: https://www.mathsisfun.com/algebra/matrix-inverse.html
Welcome to the final section of videos on linear algebra! In these videos, we cover the last key pieces of essential linear algebra you need to know to understand machine learning algorithms, including Singular Value Composition, Moore-Penrose Pseudoinversion, the Trace Operator, and Principal Component Analysis.
With a focus on hands-on code demos in Python, in this video I introduce the theory and practice of singular value decomposition, a common linear algebra operation in the field of machine learning.
In this video, we take advantage of the singular value decomposition theory that we covered in the preceding video to dramatically compress data within a hands-on Python demo.
This video introduces Moore-Penrose pseudoinversion, a linear algebra concept that enables us to invert non-square matrices. The pseudoinverse is a critical machine learning concept because it solves for unknown variables within the non-square systems of equations that are common in machine learning. To show you how it works, we’ll use a hands-on code demo.
This is one of my favorite videos in the entire Machine Learning Foundations series! In it, we use Moore-Penrose pseudoinversion to solve for unknowns, enabling us to fit a line to points with linear algebra alone. When I first learned how to do this, it blew my mind -- I hope it blows your mind too!
This is a quick video on the Trace Operator, a relatively simple linear algebra concept, but one that frequently comes in handy for rearranging linear algebra equations, including ones that are common in machine learning.
Via highly visual hands-on code demos in Python, this video introduces Principal Component Analysis, a prevalent and powerful machine learning technique for finding patterns in unlabeled data.
Welcome to the final linear algebra video of my Machine Learning Foundations series! It’s a quick one to leave you with my favorite linear algebra resources so that you can dig deeper into the topics that pique your interest the most, if desired.