This course is a lead-in to deep learning and neural networks - it covers a popular and fundamental technique used in machine learning, data science and statistics: logistic regression. We cover the theory from the ground up: derivation of the solution, and applications to real-world problems. We show you how one might code their own logistic regression module in Python.
This course does not require any external materials. Everything needed (Python, and some Python libraries) can be obtained for free.
This course provides you with many practical examples so that you can really see how deep learning can be used on anything. Throughout the course, we'll do a course project, which will show you how to predict user actions on a website given user data like whether or not that user is on a mobile device, the number of products they viewed, how long they stayed on your site, whether or not they are a returning visitor, and what time of day they visited.
Another project at the end of the course shows you how you can use deep learning for facial expression recognition. Imagine being able to predict someone's emotions just based on a picture!
If you are a programmer and you want to enhance your coding abilities by learning about data science, then this course is for you. If you have a technical or mathematical background, and you want use your skills to make data-driven decisions and optimize your business using scientific principles, then this course is for you.
This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.
- calculus (taking derivatives)
- matrix arithmetic
- 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!
- Realize that most exercises will take you days or weeks to complete.
- Write code yourself, don't just sit there and look at my code.
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)
This lecture will outline what will be learned in the course. I explain the importance of knowing the math, and provide short descriptions of each section later covered. Feel free to skip it and jump right into the 3rd video.
Difference between supervised and unsupervised learning. Difference between classification and regression. Feel free to skip this one if you already know this.
- Derivatives, matrix arithmetic, probability
- You should know some basic Python coding with the Numpy Stack
- program logistic regression from scratch in Python
- describe how logistic regression is useful in data science
- derive the error and update rule for logistic regression
- understand how logistic regression works as an analogy for the biological neuron
- use logistic regression to solve real-world business problems like predicting user actions from e-commerce data and facial expression recognition
- understand why regularization is used in machine learning
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.