Kilian Weinberger is an Associate Professor in the Department of Computer Science at Cornell University. He received his Ph.D. from the University of Pennsylvania in Machine Learning under the supervision of Lawrence Saul and his undergraduate degree in Mathematics and Computer Science from the University of Oxford. During his career he has won several best paper awards at ICML (2004), CVPR (2004, 2017), AISTATS (2005) and KDD (2014, runner-up award). In 2011 he was awarded the Outstanding AAAI Senior Program Chair Award and in 2012 he received an NSF CAREER award. He was elected co-Program Chair for ICML 2016 and for AAAI 2018. In 2016 he was the recipient of the Daniel M Lazar ’29 Excellence in Teaching Award. Kilian Weinberger’s research focuses on Machine Learning and its applications. In particular, he focuses on learning under resource constraints, metric learning, machine learned web-search ranking, computer vision and deep learning. Before joining Cornell University, he was an Associate Professor at Washington University in St. Louis and before that he worked as a research scientist at Yahoo! Research in Santa Clara.
Overview and Courses
Machine learning is emerging as today’s fastest-growing job as the role of automation and AI expands in every industry and function.
Cornell’s Machine Learning certificate program equips you to implement machine learning algorithms using Python. Using a combination of math and intuition, you will practice framing machine learning problems and construct a mental model to understand how data scientists approach these problems programmatically. Through investigation and implementation of k-nearest neighbors, naive Bayes, regression trees, and others, you’ll explore a variety of machine learning algorithms and practice selecting the best model, considering key principles of how to implement those models effectively. You will also have an opportunity to implement algorithms on live data while practicing debugging and improving models through approaches such as ensemble methods and support vector machines. Finally, the coursework will explore the inner workings of neural networks and how to construct and adapt neural networks for various types of data.
This program uses Python and the NumPy library for code exercises and projects. Projects will be completed using Jupyter Notebooks.
Machine learning is complex. While you do not need to have machine learning experience in order to take the program, we strongly recommend having prior experience in math, including familiarity with Python, probability theory, statistics, multivariate calculus and linear algebra.
Check your readiness with this free pretest now.
In this course, you will use the Maximum Likelihood Estimate (MLE) to approximate distributions from data. Using the Bayes Optimal Classifier, you will learn how the assumptions you make will impact your estimations. You will then learn to apply the Naive Bayes Assumption to estimate probabilities for problems that contain a high number of dimensions. Ultimately, you will apply this understanding to implement the Naive Bayes Classifier in order to build a name classification system.
The course Problem-Solving with Machine Learning is required to be completed prior to starting this course.
In this course, you are introduced to and implement the Perceptron algorithm, a linear classifier that was developed at Cornell in 1957. Through the exploration of linear and logistic regression, you will learn to estimate probabilities that remain true to the problem settings. By using gradient descent, we minimize loss functions. Ultimately, you will apply these skills to build a email spam classifier.
The courses Problem-Solving with Machine Learning and Estimating Probability Distributions are required to be completed prior to starting this course.
In this course, you will be introduced to the classification and regression trees (CART) algorithm. By implementing CART, you will build decision trees for a supervised classification problem. Next, you will explore how the hyperparameters of an algorithm can be adjusted and what impact they have on the accuracy of a predictive model. Through this exploration, you will practice selecting an appropriate model for a problem and dataset. You will then load a live dataset, select a model, and train a classifier to make predictions on that data.
The courses Problem-Solving with Machine Learning, Estimating Probability Distributions, and Learning with Linear Classifiers are required to be completed prior to starting this course.
In this course, you will investigate the underlying mechanics of a machine learning algorithm’s prediction accuracy by exploring the bias variance trade-off. You will identify the causes of prediction error by recognizing high bias and variance while learning techniques to reduce the negative impacts these errors have on learning models. Working with ensemble methods, you will implement techniques that improve the results of your predictive models, creating more reliable and efficient algorithms.
These courses are required to be completed prior to starting this course:
- Problem-Solving with Machine Learning
- Estimating Probability Distributions
- Learning with Linear Classifiers
- Decision Trees and Model Selection
In this course, you will explore support-vector machines and use them to find a maximum margin classifier. You will then construct a mental model for how loss functions and regularizers are used to minimize risk and improve generalization of a learning model. Through the use of feature expansion, you will extend the capabilities of linear classifiers to find non-linear classification boundaries. Finally, you will employ kernel machines to train algorithms that can learn in infinite dimensional feature spaces.
These courses are required to be completed prior to starting this course:
- Problem-Solving with Machine Learning
- Estimating Probability Distributions
- Learning with Linear Classifiers
- Decision Trees and Model Selection
- Debugging and Improving Machine Learning Models
In this course, you will investigate the fundamental components of machine learning that are used to build a neural network. You will then construct a neural network and train it on a simple data set to make predictions on new data. We then look at how a neural network can be adapted for image data by exploring convolutional networks. You will have the opportunity to explore a simple implementation of a convolutional neural network written in PyTorch, a deep learning platform. Finally, you will yet again adapt neural networks, this time for sequential data. Using a deep averaging network, you will implement a neural sequence model that analyzes product reviews to determine consumer sentiment.
These courses are required to be completed prior to starting this course:
- Problem-Solving with Machine Learning
- Estimating Probability Distributions
- Learning with Linear Classifiers
- Decision Trees and Model Selection
- Debugging and Improving Machine Learning Models
- Learning with Kernel Machines
How It Works
Faculty Author
- Redefine problems using machine learning concepts and terminology
- Create a face recognition system using a simple algorithm
- Estimate probabilities distribution from data and implement the Naive Bayes algorithm to create a name classifier
- Apply convex optimization and implement a linear classifier to create an email spam filter
- Use effective hyperparameter search to select a well-suited machine learning model and implement a machine learning setup from start to finish
- Improve the prediction accuracy of an algorithm using bias variance trade-off
- Extend the applicability of linear classifiers to learn non-linear decision boundaries from more complex datasets
- Choose and train a neural network that achieves cutting-edge accuracy by incorporating appropriate assumptions about your data

Download a Brochure
Not ready to enroll but want to learn more? Download the certificate brochure to review program details.
- Machine Learning Certificate from Cornell Computing and Information Science
- 126 Professional Development Hours (12.6 CEUs)
Who Should Enroll
- Programmers
- Developers
- Data analysts
- Statisticians
- Data scientists
- Software engineers

{Anytime, anywhere.}