Machine Learning and AI: Support Vector Machines in Python (Udemy.com)

Artificial Intelligence and Data Science Algorithms in Python for Classification and Regression

Created by: Lazy Programmer Inc.

Produced in 2021

icon
What you will learn

  • Apply SVMs to practical applications: image recognition, spam detection, medical diagnosis, and regression analysis
  • Understand the theory behind SVMs from scratch (basic geometry)
  • Use Lagrangian Duality to derive the Kernel SVM
  • Understand how Quadratic Programming is applied to SVM
  • Support Vector Regression
  • Polynomial Kernel, Gaussian Kernel, and Sigmoid Kernel
  • Build your own RBF Network and other Neural Networks based on SVM

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100

icon
Course Description

Support Vector Machines (SVM) are one of the most powerful machine learning models around, and this topic has been one that students have requested ever since I started making courses.
These days, everyone seems to be talking about deep learning, but in fact there was a time when support vector machines were seen as superior to neural networks. One of the things you'll learn about in this course is that a support vector machine actually is a neural network, and they essentially look identical if you were to draw a diagram.
The toughest obstacle to overcome when you're learning about support vector machines is that they are very theoretical. This theory very easily scares a lot of people away, and it might feel like learning about support vector machines is beyond your ability. Not so!
In this course, we take a very methodical, step-by-step approach to build up all the theory you need to understand how the SVM really works. We are going to use Logistic Regression as our starting point, which is one of the very first things you learn about as a student of machine learning. So if you want to understand this course, just have a good intuition about Logistic Regression, and by extension have a good understanding of the geometry of lines, planes, and hyperplanes.
This course will cover the critical theory behind SVMs:
  • Linear SVM derivation
  • Hinge loss (and its relation to the Cross-Entropy loss)
  • Quadratic programming (and Linear programming review)
  • Slack variables
  • Lagrangian Duality
  • Kernel SVM (nonlinear SVM)
  • Polynomial Kernels, Gaussian Kernels, Sigmoid Kernels, and String Kernels
  • Learn how to achieve an infinite-dimensional feature expansion
  • Projected Gradient Descent
  • SMO (Sequential Minimal Optimization)
  • RBF Networks (Radial Basis Function Neural Networks)
  • Support Vector Regression (SVR)
  • Multiclass Classification


For those of you who are thinking, "theory is not for me", there's lots of material in this course for you too!
In this course, there will be not just one, but two full sections devoted to just the practical aspects of how to make effective use of the SVM.
We'll do end-to-end examples of real, practical machine learning applications, such as:
  • Image recognition
  • Spam detection
  • Medical diagnosis
  • Regression analysis
For more advanced students, there are also plenty of coding exercises where you will get to try different approaches to implementing SVMs.
These are implementations that you won't find anywhere else in any other course.

Thanks for reading, and I'll see you in class!

Suggested Prerequisites:
  • Calculus
  • Matrix Arithmetic / Geometry
  • Basic Probability
  • Logistic Regression
  • Python coding: if/else, loops, lists, dicts, sets
  • Numpy coding: matrix and vector operations, loading a CSV file


TIPS (for getting through the course):
  • Watch it at 2x.
  • Take handwritten notes. This will drastically increase your ability to retain the information.
  • Write down the equations. If you don't, I guarantee it will just look like gibberish.
  • Ask lots of questions on the discussion board. The more the better!
  • The best exercises will take you days or weeks to complete.
  • Write code yourself, don't just sit there and look at my code. This is not a philosophy course!


WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
  • Check out the lecture "What order should I take your courses in?" (available in the Appendix of any of my courses, including the free Numpy course)
Who this course is for:
  • Beginners who want to know how to use the SVM for practical problems
  • Experts who want to know all the theory behind the SVM
  • Professionals who want to know how to effectively tune the SVM for their application

icon
Instructor Details

placeholder

Today, I spend most of my time as an artificial intelligence and machine learning engineer with a focus on deep learning, although I have also been known as a data scientist, big data engineer, and full stack software engineer.
I received my masters degree in computer engineering with a specialization in machine learning and pattern recognition.
Experience includes online advertising and digital media as both a data scientist (optimizing click and conversion rates) and big data engineer (building data processing pipelines). Some big data technologies I frequently use are Hadoop, Pig, Hive, MapReduce, and Spark.
I've created deep learning models to predict click-through rate and user behavior, as well as for image and signal processing and modeling text.
My work in recommendation systems has applied Reinforcement Learning and Collaborative Filtering, and we validated the results using A/B testing.
I have taught undergraduate and graduate students in data science, statistics, machine learning, algorithms, calculus, computer graphics, and physics for students attending universities such as Columbia University, NYU, Hunter College, and The New School.
Multiple businesses have benefitted from my web programming expertise. I do all the backend (server), frontend (HTML/JS/CSS), and operations/deployment work. Some of the technologies I've used are: Python, Ruby/Rails, PHP, Bootstrap, jQuery (Javascript), Backbone, and Angular. For storage/databases I've used MySQL

icon
More courses by Lazy Programmer Inc.

Deep Learning: Convolutional Neural Networks in Python

$11.99

Data Science: Natural Language Processing (NLP) in Python

$11.99

Deep Learning Prerequisites: Linear Regression in Python

$11.99

Bayesian Machine Learning in Python: A/B Testing

$11.99

Deep Learning Prerequisites: The Numpy Stack in Python (V2+)

$11.99

Unsupervised Machine Learning Hidden Markov Models in Python

$11.99

icon
Reviews

4.5

12 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

The_introductory_material_gave_me_the_impression_that_the_topic_is_outdated

Great explanations of how kernels are used in SVMs.

It is absolutely by far the best organized and explained course on the theoretic aspect of SVM I could find online. As far as my knowledge is concerned it is far more difficult to learn the mathematical in and out about how SVM works from other resources such as online technical documents and papers. I myself as a machine learning research scientist was astonishingly impressed by clarity of logistics from Lazy Programmer. The course is a must for anyone who is interested in underlying math of SVM.

good course, even if very challenging;
detailed and precise explanations

The concepts are taught in a fast and concise way and the instructor knows his field, showing consistently without gaps how to arrive at certain steps, which helps greatly to develop an intuition for the presented material, even for the novice.

I've attended quite a few courses in Machine Learning from different teachers (including Lazy Programmer) and this is by far the best one. First off, differently from Lazy's other courses, there are a couple of sections devoted to use the SVM API without having to deep dive into the theory with lots of practical advice (this is a really welcome idea for future courses). Secondly, If you want to know (like myself) every details about the algorithm there are a whole bunch of sections devoted only to theory. Though, be warned that you need a solid background in Probabilities and Advanced Linear Algebra (and patience) to get a grasp of SVM. Finally, Lazy uses storytelling to make engaging presentations. The format of this course is really great!

Excelente! Muito didático e bem completo. | Excellent! Very didactic and very complete.

It covers the SVM from every angle and starts at the beginning with how to start using SVMs for different projects. It's an amazing course for understanding SVMs in an advanced level. I used this course for my own regression modeling.

Loved this course. It provides a detailed cover of the theory with applications in practice and in code. I presented a strong lecture to my colleagues at work, of which a sizeable section was based on SVMs. I really felt I grasped the concepts intuitively after completing this course :)

Thanks Lazy P

The contents of the course are excellent and mathematically driven. Little of intuition and graphical presentation would help the learning process. I would say I have grabbed 50 to 60% of the total course, therefore I need to revisit some of the lessons again to digest the meat. I highly recommend this course for those who want to deepen their understanding into SVM.

Deep and very clear explanations about SVM. Great support by the instructor in Q&A section.