
Explore the background mathematics behind machine learning algorithms and learn to design them from scratch using basic Python without external libraries.
Explore one of the most used principles in machine learning regression, and extend the idea to a multivariate regression model.
Explore rss in bivariate regression by predicting values from x and y and minimizing the squared differences between predicted and actual values to improve the model.
Explore graphical intuition for bivariate regression by drawing a fitted line and minimizing the sum of squared errors.
Differentiate the function to minimize with respect to variables using first principles, chain rule, and product rule, then simplify summations to derive means and expressions for X in bivariate regression.
Code along bivariate regression by building a machine learning algorithm from scratch, computing sums, means, and the products x*y and x^2, applying regression formulas, and testing with code.
Explore how multivariate regression predicts outcomes using multiple parameters, form predictions with a design matrix X and coefficient vector via matrix multiplication, and compare to actual values.
Formulate a regression model for a given set of data points and fit a line on the plane, minimizing the sum of squares of these errors.
Minimise the rss in multivariate regression by using the error matrix e = Y − Xβ, computing e^T e, and applying matrix differentiation to obtain the final matrix expression.
Follow along as we implement matrix operations for multivariate regression, including scalar multiplication, transpose, matrix multiplication, determinant, and cofactors, and finally the matrix inverse.
Explore how support vector machines, a widely used linear classification algorithm, separate data points into categories and apply to linear models within this course.
Examine drawing parallel lines between data points to classify them. Use three sets of parallel lines as a barometer for judging classification, then apply the concepts to other planes.
classify data using the margin line with the weight vector w via dot products, and minimize the magnitude of w to yield the margin with support vectors.
The lecture demonstrates minimizing W under support constraints using Lagrange multipliers, derives the multiplier values, and shows how to obtain the equation of the optimal line.
code along svm builds an svm algorithm from scratch by implementing core matrix operations, scalar multiplication, transpose, vector multiplication, and inverse, to compute dot products with support vectors.
Explore extending support vector machines to non linearly separable data points and streamline finding support vectors with sequential minimal optimization, reducing manual effort.
Explore a clustering algorithm called Genya, a simple and useful tool in machine learning that labels unlabeled data.
See how k-nearest neighbors predicts a data point's label using nearby data points. The approach works across different dimensions, illustrated with a three-dimensional dataset.
Form a distance matrix using euclidean distance between points and labels, arrange distances in ascending order, and examine the top three entries for a new data point.
Learn to implement k-nearest neighbors from scratch by coding a Euclidean distance function, building a distance list, selecting k neighbors, and predicting the label for a new point.
Discover how to implement algorithms and how a strong mathematical background enables tweaking them and updating the course as knowledge advances in machine learning and mathematics.
This course is for students who are looking for logic behind the myriad of machine learning algorithms they use every day. When I started my journey with machine learning, it was really difficult for me to intuitively understand the code I was writing. However, after watching multiple videos and reading millions of articles, I finally understood the fundamentals of machine learning algorithms. In this course, I'll walk you through the mathematical concepts you need to know to understand and implement a machine learning algorithm. Other than that. you'll also learn how to build the same algorithms from scratch using python. No kind of libraries will be imported during the course. This will help you in understanding the algorithm properly as none of the work will be taking place in the background. This course does not feature high-level machine algorithms instead it focuses on the most basic ones: bivariate regression, multivariate regression, support vector regression, k-nearest neighbors. The scope of this course will gradually expand and soon it will feature tutorials on techniques like deep neural networks. This course is a condensed version of my knowledge which I gained through multiple resources. You are free to drop in your queries in the Q&A section, I will be glad to resolve them. Happy coding ;)