Introduction: Basic concepts. Supervised learning setup: Least means squares, logistic regression, perceptron, exponential family, generative learning algorithms, Gaussian discriminant analysis, naïve Bayes, support vector machines, model selection and feature selection. Learning theory: bias/variance tradeoff, union and Chernoff/Hoeffding bounds, VC dimension, worst case (online) learning. Unsupervised learning: clustering, k-means, expectation maximisation, mixture of Gaussians, factor analysis, principal components analysis, independent components analysis. Reinforcement learning and control: Markov decision processes, Bellman equations, value iteration and policy iteration, Q-learning, value function approximation, policy search, reinforce, partially observable Markov decision problems.