CHANGED: Machine Learning (ML)
Course content
The amount and complexity of available data is steadily increasing. To make use of this wealth of information, computing systems are needed that turn the data into knowledge. Machine learning is about developing algorithms for analysing data for making predictions, categorizations, and recommendations. Machine learning algorithms are already an integral part of today's computing systems  for example in search engines, recommender systems, or biometrical applications. Machine learning provides a set of tools that are widely applicable for data analysis within a diverse set of problem domains, such as data mining, search engines, digital image and signal analysis, natural language modeling, bioinformatics, physics, economics, biology, etc.
The purpose of the course is to introduce students to the basic theory and most common techniques of statistical machine learning. The students will obtain a working knowledge in statistical machine learning.
This course is relevant for computer science students as well as for students from others studies with sufficient mathematical background and programming skills (e.g., Statistics, MathEconomics, Actuarial Math, Physics, Bioinformatics, …).
The course covers the following tentative topic list:
 Foundations of statistical learning.
 Occam’s razor bound for generalization performance.
 VapnikChervonenkis (VC) analysis of generalization performance.
 Classification methods, such as: Linear models, KNearest Neighbor, kernelbased methods (e.g., support vector machines), and neural networks.
 Linear and nonlinear regression methods.
 Basic Clustering, dimensionality reduction and visualisation techniques, such as principal component analysis (PCA).
MSc Programme in Computer Science
MSc Programme in Bioinformatics
MSc Programme in Statistics
At course completion, the successful student will have:
Knowledge of
 the general principles of machine learning;
 basic probability theory for modeling and analysing data;
 the theoretical concepts underlying classification, regression, and clustering;
 the mathematical foundations of selected machine learning algorithms;
 common pitfalls in machine learning.
Skills in
 proving generalization bounds for expected prediction quality;
 applying linear and nonlinear techniques for classification and regression;
 performing elementary dimensionality reduction;
 elementary data clustering;
 implementing selected machine learning algorithms;
 visualising and evaluating results obtained with machine learning techniques;
 using software libraries for solving machine learning problems;
 identifying and handling common pitfalls in machine learning.
Competences in
 recognising and describing possible applications of machine learning;
 formalising and rigorously analysing machine learning problems;
 comparing, appraising and selecting machine learning methods for specific tasks;
 solving realworld data mining and pattern recognition problems by using machine learning techniques.
Lecture and exercise classes.
See Absalon when the course is set up.
Knowledge of and experience in programming is required.
Participants must be able to implement algorithms described in
pseudo code.
Knowledge of linear algebra corresponding to an introductory
undergraduate course on the topic is expected (in particular:
vector spaces; matrix inversion; eigenvalue decomposition; linear
projections). This knowledge can be acquired/refreshed using any
introductory book on linear algebra (e.g., Gilbert Strang,
"Introduction to Linear Algebra").
Knowledge of basic calculus at an advanced highschool level is
also expected (in particular: rules of differentiation; simple
integration). This knowledge can be acquired/refreshed using any
introductory book on calculus (e.g., Stephen Abbott,
"Understanding Analysis"; Michael Spivak, "The
Hitchhiker's Guide to Calculus"). There is a free online
textbook and course "Calculus" by Gilbert Strang
available at MIT OpenCourseWare,
http://ocw.mit.edu . The most
relevant chapters/sections in this book are 13.4, 4.1, 56.4, 10,
11, and 13.
Knowledge of basic statistics and probability theory is a plus (in
particular: discrete and continuous random variables; independence
of random variables and conditional distributions; expectation and
variance of random variables; central limit theorem and the law of
large numbers). This knowledge can be acquired/refreshed using any
introductory book on these topics. We recommend the first four
chapters of "Probability and Computing" by Mitzenmacher
and Upfal.
Students with weaknesses in one or more of the above areas should
check the "Remarks" below or be prepared to spend some
extra study time on their own, either before or during the
course.
The course is mandatory for Computer Science students. Students from other study programs that do not have the necessary math and programming prerequisites are advised to check the "Introduction to Data Science" course, which teaches basic machine learning, but assumes less background in math and programming.
As
an exchange, guest and credit student  click here!
Continuing Education  click here!
PhD’s can register for MSccourse by following the same procedure as creditstudents, see link above.
 ECTS
 7,5 ECTS
 Type of assessment

Written assignment, 5 daysCHANGED IN 2018/2019
One written takehome assignment.  Aid
 All aids allowed
 Marking scale
 7point grading scale
 Censorship form
 External censorship
Criteria for exam assessment
See Learning Outcome.
Single subject courses (day)
 Category
 Hours
 Lectures
 28
 Preparation
 14
 Practical exercises
 57
 Theory exercises
 57
 Exam Preparation
 25
 Exam
 25
 English
 206
Kursusinformation
 Language
 English
 Course number
 NDAK15007U
 ECTS
 7,5 ECTS
 Programme level
 Full Degree Master
 Duration

1 block
 Schedulegroup

C
 Capacity
 No limit
 Studyboard
 Study Board of Mathematics and Computer Science
 Department of Computer Science
Course Coordinator
 Yevgeny Seldin (675676e666b7042666b306d7730666d)
Teacher
Christian Igel
Se skema
Er du BA eller KAstuderende?
Kursusinformation for indskrevne studerende