Introduction to Machine Learning: Supervised Learning

Brought by: Coursera

Overview

In this course, you’ll be learning various supervised ML algorithms and prediction tasks applied to different data. You’ll learn when to use which model and why, and how to improve the model performances. We will cover models such as linear and logistic regression, KNN, Decision trees and ensembling methods such as Random Forest and Boosting, kernel methods such as SVM.

Prior coding or scripting knowledge is required. We will be utilizing Python extensively throughout the course. In this course, you will need to have a solid foundation in Python or sufficient previous experience coding with other programming languages to pick up Python quickly.

We will be learning how to use data science libraries like NumPy, pandas, matplotlib, statsmodels, and sklearn. The course is designed for programmers beginning to work with those libraries. Prior experience with those libraries would be helpful but not necessary.

College-level math skills, including Calculus and Linear Algebra, are required. Our hope for this course is that the math will be understandable but not intimidating.

This course can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Data Science: https://www.coursera.org/degrees/master-of-science-data-science-boulder

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Syllabus

  • Introduction to Machine Learning, Linear Regression
    • This week, we will build our supervised machine learning foundation. Data cleaning and EDA might not seem glamorous, but the process is vital for guiding your real-world data projects. The chances are that you have heard of linear regression before. With the buzz around machine learning, perhaps it seems surprising that we are starting with such a standard statistical technique. In "How Not to Be Wrong: The Power of Mathematical Thinking", Jordan Ellenberg refers to linear regression as "the statistical technique that is to social science as the screwdriver is to home repair. It's the one tool you're pretty much going to use, whatever the task" (51). Linear regression is an excellent starting place for solving problems with a continuous outcome. Hopefully, this week will help you appreciate how much you can accomplish with a simple model like this.
  • Multilinear Regression
    • This week we are building on last week's foundation and working with more complex linear regression models. After this week, you will be able to create linear models with several explanatory and categorical variables. Mathematically and syntactically, multiple linear regression models are a natural extension of the simpler linear regression models we learned last week. One of the differences that we must keep in mind this week is that our data space is now 3D instead of 2D. The difference between 3D and 2D has implications when considering how to do things like creating meaningful visualizations. It is essential to understand how to interpret coefficients. Machine learning involves strategically iterating and improving upon a model. In this week's lab and Peer Review, you will identify weaknesses with linear regression models and strategically improve on them. Hopefully, as you progress through this course specialization, you will get better and better at this iterative process.
  • Logistic Regression
    • Even though the name logistic regression might suggest otherwise, we will be shifting our attention from regression tasks to classification tasks this week. Logistic regression is a particular case of a generalized linear model. Like linear regression, logistic regression is a widely used statistical tool and one of the foundational tools for your data science toolkit. There are many real-world applications for classification tasks, including the financial and biomedical realms. In this week's lab, you will see how this classic algorithm will help you predict whether a biopsy slide from the famous Wisconsin Breast Cancer dataset shows a benign or malignant mass. We also advise starting the final project that you will turn in Week 7 of the course this week. This week, find a project dataset, start performing EDA and define your problem. Use the project rubric as a guide, and don't be afraid to look at a few datasets until you find one well-suited to the project.
  • Non-parametric Models
    • This week we will learn about non-parametric models. k-Nearest Neighbors makes sense on an intuitive level. Decision trees are a supervised learning model that can be used for either regression or classification tasks. In Module 2, we learned about the bias-variance tradeoff, and we've kept that tradeoff in mind as we've moved through the course. Highly flexible tree models have the benefit that they can capture complex, non-linear relationships. However, they are prone to overfitting. This week and next, we will explore strategies like pruning to avoid overfitting with tree-based models. In this week's lab, you will make a KNN classifier for the famous MNIST dataset and then build a spam classifier using a decision tree model. This week we will once again appreciate the power of simple, understandable models. Keep going with your final project. Once you've finalized your dataset and EDA, start on the initial approach for your main supervised learning task. Review the course material, read research papers, look at GitHub repositories and Medium articles to understand your topic and plan your approach.
  • Ensemble Methods
    • Last week, we learned about tree models. Despite all of the benefits of tree models, they had some weaknesses that were difficult to overcome. This week we will learn about ensembling methods to overcome tree models' tendency to overfit. The winner utilizes an ensemble approach in many machine learning competitions, aggregating predictions from multiple tree models. This week you will start by learning about random forests and bagging, a technique that involves training the same algorithm with different subset samples of the training data. Then you will learn about boosting, an ensemble method where models train sequentially. You will learn about two essential boosting algorithms: AdaBoost and Gradient Boosting. This week, work on the main analysis of your final project. Iterate and improve on your models. Compare different models. Perform hyperparameter optimization. Sometimes this part of a machine learning project can feel tedious, but hopefully, it will be rewarding to see your performance improve.
  • Kernel Method
    • This week we will be exploring another advanced topic, Support Vector Machines. Don't let the name intimidate you. This week, we will work through understanding this powerful supervised learning model. Hopefully, you will build an intuitive understanding of essential concepts like the difference between hard and soft margins, the kernel trick, and hyperparameter tuning. Next week, you will submit the three deliverables for your final project: the report, video presentation, and a link to your GitHub repository. Suppose you aim to finish iterating on your models, hyperparameter optimization, etc., this week. In that case, next week, you can polish your report, make sure your GitHub repository is ready for Peer Review, and give an excellent presentation of your work.

Taught by

Geena Kim

Introduction to Machine Learning: Supervised Learning
Go to course

Introduction to Machine Learning: Supervised Learning

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Available at any time
  • intermediate
  • English, Arabic, French, Portuguese, German, Thai, Indonesian, Spanish, Kazakh, Hindi, Russian, Swedish, Korean, Greek, Italian, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish