Course overview
Machines learn from data. In this course you find out how, and build the programs yourself.
This course takes you through the main ways a computer can learn from experience:
- decision trees, which ask a series of questions;
- Bayesian learning, which reasons with probabilities;
- neural networks and genetic algorithms, which adjust numbers until the results improve;
- rule learning and analytical learning, which work with logic and prior knowledge;
- reinforcement learning, which learns from rewards.
Every topic page explains the idea in plain words, works through an example, and gives Python programs that run right on the page. Press Run, change something, and run it again. You don't need to install anything to start.
Course outcomes
| CO | You will be able to | Level |
|---|---|---|
| CO1 | Apply machine learning techniques using decision trees to solve real-world problems. | Apply |
| CO2 | Build Bayesian models for solving classification and prediction problems. | Analyse |
| CO3 | Apply neural network and genetic algorithm techniques to solve classification and prediction problems. | Apply |
| CO4 | Demonstrate learning first-order rules, analytical learning, explanation-based learning and reinforcement learning. | Understand |
| CO5 | Implement machine learning techniques using the Python language. | Evaluate |
Syllabus
- Introduction: well-posed learning problems; designing a learning system (training experience, target function, representation, approximation algorithm, final design); perspectives and issues in machine learning.
- Decision tree learning:
- representation and appropriate problems;
- the basic algorithm: choosing the best attribute, with an example;
- hypothesis space search and inductive bias (restriction and preference biases, why prefer short hypotheses);
- issues: overfitting, continuous values, alternative attribute measures, missing values and attribute costs.
- Bayesian learning:
- Bayes theorem and concept learning, brute-force learning, MAP and consistent learners;
- maximum likelihood and least-squared error, predicting probabilities, gradient search in a neural net;
- minimum description length, Bayes optimal classifier and Gibbs algorithm;
- the naive Bayes classifier and learning to classify text;
- Bayesian belief networks: conditional independence, representation, inference and learning;
- the EM algorithm: means of k Gaussians, the general statement, and deriving k-means.
- Artificial neural networks: representations, appropriate problems, perceptrons, multilayer networks and backpropagation, remarks, an illustrative example and advanced topics.
- Genetic algorithms: motivation, an illustrative example, hypothesis space search, genetic programming, and models of evolution and learning.
- Learning sets of rules: sequential covering, first-order rules, FOIL, induction as inverted deduction and inverting resolution.
- Analytical and reinforcement learning: inductive and analytical learning problems, learning with a perfect domain theory, and Q-learning.
Textbooks
Topic pages refer to these books by number.
- Textbook 1: Machine Learning, McGraw Hill, 1997.
- Textbook 2: Machine Learning: An Algorithmic Perspective, CRC Press, 2009.
- Textbook 3: Core Python Programming, 2nd edition, Pearson, 2007 reprint.
Reference books:
- Introduction to Machine Learning, The MIT Press, 2010.
- Programming Python, O'Reilly.
Free online courses
- Coursera: Machine Learning Specialization.
- Artificial Intelligence Foundations: Machine Learning.