Principles of Machine Learning (B-KUL-H0E98A)

Aims
After taking this course, the students
- understand the basic principles underlying machine learning
- know a wide range of concrete machine learning approaches and techniques
- can apply these approaches and techniques in concrete situations
- can build software that includes machine learning techniques
Previous knowledge
This course is reserved for students in the ‘master of computer science'. Students from other study programmes are NOT allowed to take this course.
Students must have an advanced knowledge of the field of Computer Science prior to taking this course. Moreover, the course assumes advanced background knowledge on the topics below, at the level on which it is introduced by the courses listed. Students who have finished the Bachelor in de informatica (Leuven) or Bachelor in de ingenieurswetenschappen (Leuven) with a major in Computer Science have had all these courses. Students Bachelor in de ingenieurswetenschappen (Leuven) with a different major should familiarize themselves with “Artificiële intelligentie” before taking this course.
- Calculus: multivariate functions, gradient, basic principles of numerical optimization - Analyse, deel 1, Analyse, deel 2 or Wiskunde I
- Discrete mathematics: sets, predicate logic - Toegepaste discrete algebra or Bewijzen en redeneren voor informatici, Logica voor informatici
- Linear algebra: matrix algebra, matrices as linear transformations, matrix decompositions - Toegepaste Algebra or Lineaire algebra
- Probability theory: discrete and continuous probability distributions, multivariate distributions - Kansrekenen en statistiek or Kansrekenen I
- Statistics: parameter estimation, linear regression, hypothesis tests, Bayesian statistics - Kansrekenen en statistiek or Statistiek & data-analyse
- Programming - Methodiek van de informatica or Beginselen van programmeren
- Artificial Intelligence: discrete search spaces, constraint solving, clausal logic, resolution, bayesian networks, Markov processes - Artificiële intelligentie
Order of Enrolment
This course unit is a prerequisite for taking the following course units:
H05N0A : Capita Selecta Computer Science: Artificial Intelligence
H00Y4A : Big Data Analytics Programming
H0T25A : Machine Learning: Project
H0O23A : Reinforcement Learning
Identical courses
This course is identical to the following courses:
H0E96A : Beginselen van machine learning
Is included in these courses of study
Activities
4 ects. Principles of Machine Learning: Lecture (B-KUL-H0E98a)
Content
The course consists of four parts.
Part 1: Introduction: basic terminology and concepts; nearest neighbor approaches, evaluation
Part 2: Learning based on discrete search spaces
- decision trees: basic algorithm, heuristics, pruning strategies, missing value handling, multi-target trees
- rule learning and inductive logic programming: search in a refinement lattice, subsumption, least general generalization
- ensemble methods: boosting, bagging, random forests, bias-variance tradeoff in ensembles
- automata, learning theory: algorithms for learning automata, sample complexity, VC-dimension, Rademacher complexity
Part 3: Learning based on numerical optimization and search in continuous spaces
- Concepts of statistical learning: learning as optimization, loss functions, regularization
- Artificial neural networks: basic principles, specific network structures, convolutional neural nets, recurrent neural nets, auto-encoders, generative adversarial networks
- support vector machines: basic principles, SMO algorithm, kernels, sequence / tree / graph kernels
- dimensionality reduction
- methods based on matrix factorization
Part 4: Probabilistic models
- overview of PGMs
- inference and learning in these models
- statistical relational learning: Problog, Markov logic, ...
- Reinforcement learning: state-action spaces, problem setting, Q-learning, deep reinforcement learning
Course material
Slides, reader with book chapters and research articles.
Sources that may be used for the reader include:
- Elements of statistical learning (Hastie, Tibshirani, Friedman)
- Machine Learning and Pattern Recognition (Bishop)
- Machine Learning (Flach)
- Deep Learning (Goodfellow, Bengio, Courville)
- Machine learning: a probabilistic perspective (Murphy)
- Introduction to Statistical Learning (James, Witten, Hastie, Tibshirani)
2 ects. Principles of Machine Learning: Exercises (B-KUL-H0E99a)
Content
- Pen-and-paper exercises, mostly oriented at gaining a more thorough understanding of algorithmic and mathematical elements of machine learning.
- Some practical exercises with machine learning tools and libraries (Weka, Scikit-learn, TensorFlow, ...).
Course material
A selection of recommended exercises, partially from the reader, will be made available to students via Toledo. Example solutions will be provided for some exercises.
Format: more information
"flipped classroom" exercises sessions