This repository is my work that follows through UC Berkley's Introduction to Machine Learning course CS189. I do not attend UC Berkley, however there are mutliple reasons why I decided to self-learn the material in this class.
- This was one of the courses that had public lecture videos that were available to the public.
- The homework and class consisted of a strong balance between theoretical homework and practical. I believe that theoretical homework is important because I want to learn the underlying math behind each concept and not just utilizing libraries to omit the complexities.
Please note that these answers are not all correct. While I do try to check my work, the course page does not post the answers publicly. If you do catch any mistakes in the homework, please let me know.
A lot of my coding answers in the homework are not EXACTLY the way that the course wants you to solve it. For some problems, I wanted to add my own twist to understand the material better.
This is an accumulation of all the questions that I have while working through this class. Some of these questions I tried searching online, however do not really provide a sufficient explanation but despite this I'll keep them hear.
- How can you use sklearn to train on a GPU? If it's not possible, why is it limited to only CPU usage? Is there any way to use external libraries that integrate NVIDIA GPU training?
For those who are trying to self study this course without any linear algebra and probability theory knowledge it will be very difficult. For me, I have taken a linear algebra course in high school and I have only taken AP Statistics. This was already tough as I have forgotten a lot of the linear algebra knowledge and AP Statistics does not go as deep into vector random variables. I do plan on to retake linear algebra to brush up and fill in any gaps in my understanding. A lot of the math concepts you need to know for the class are in homework 2.
Homework 1 took a while for me as it was one of my first deep introduction to machine learning. These were some of the resources that I utilized that got me through homework 1.
Support Vector Machines is complicated. Despite it's simplicity from the outside, oftentimes the simplicity omits the complexity behind them. These were some of the videos that got me to understand the material better.
Support Vector Machines Part 1 (of 3): Main Ideas!!!
Support Vector Machines : Data Science Concepts
SVM (The Math) : Data Science Concepts
SVM Dual : Data Science Concepts
Understanding Lagrange Multipliers Visually
Most importantly, it is CRUCIAL in my opinion to understand the math behind SVM's. This lecture slides from San Jose State University really helped me to understand the deriviation behind SVM's. MATH 251
Homework 2 was essentially a deep review of the mathematical and pre-requisites for the class. Although some of the questions were relatively straight forward, many of the questions required me to review back on important concepts. And for some, I had to learn what the terms even meant. These were some of the videos that helped through the homework.
Positive Definite and SemiDefinite Matricies
Visualizing Positive Definite and Semidefinite Matrices
This repo is not completed yet and I will continiously update this while I go through the course.