This web page gives information on the lecture 'Machine Learning' which is held during winter term 2017/2018 by Andreas Nürnberger. It will be constantly updated during the course.
The course provides an introduction to the principles, techniques, and applications of Machine Learning. Topics covered include among others:
- value functions
- concept spaces and concept learning
- instance based learning
- decision trees
- neural networks
- Bayesian learning
- reinforcement learning
- association rule learning
- genetic algorithms
There will be NO possibility to acquire an extra credit point!
Course Schedule and Room Assignments
|Lecture||Tue, 17:00 - 19:00
|Exercises (1st group)||Mon, 13:00 - 15:00||16.10.2017||G22A-120
|Exercises (2nd group)||Wed, 13:00 - 15:00
|Exercises (3rd group)||Tue, 15:00 - 17:00||17.10.2017||G22A-203|
|Exam||Fri, 13:00 - 15:00||16.02.2017||Hörsaal 1|
There will be no lecture on the 12th of December!
Registration for the individual groups is done via LSF!
If you have any questions concerning the lectures or assignments please contact (if possible by email):
All students are required to participate in the exercise classes. Every week, there will be an assignment sheet that will be handed out one week in advance. This sheet has to be prepared by every student and will be discussed in class. There are two different types of assignments: questions of understanding and programming assignments. The programming assignments can be solved in small groups of up to three students and must be sent in before the respective deadline. Prerequisites for a written exam and a 'Schein' is fulfillment of the following criteria:
- Gaining at least 1/2 of all programming points
- Solving at least 2/3 of all questions of understanding
- Presenting at least 1 solution in class.
The exam will be written. For the 'Schein', you have to write the exam as well. The time and date of the exam will be announced later in the course of the semester.
A general reminder: In accordance with the examination rules, we offer each student exactly one examination date (oral or written) each term. The registration for a follow-up examination is only possible in the next term (i.e. after 6 months). As soon as a student has registered for an exam, either by using the LSF for written exams or by filling in the information on an examination list for oral exams (or filling out a registration form), this is counted as the agreed examination date. If it is cancelled, the rule above applies.
General remarks concerning the exam:
- The main focus will be on the topics, that were also discussed in the exercises.
- Theoretical questions (knowledge and understanding) will be from all parts of the lecture.
- Practical tasks will be similar to the exercise assignments.
- Course Information
- Concept Learning
- Decision Tree Learning
- Artificial Neural Networks
- Bayesian Learning
- Instance-based Learning
- Cluster Analysis
- Reinforcement Learning
- Association Rule Learning
- Assignment Sheet 1 (TicTacToe scheme) (due by the 16th/18th of October)
includes Programming Assignment 1, deadline 5th of November
- Assignment Sheet 2 (due by the 23rd/25th of October)
- Assignment Sheet 3 (due by the 6th/8th of November)
includes Programming Assignment 2, deadline 19th of November
- Assignment Sheet 4 (due by the 13th/15th of November)
- Assignment Sheet 5 (due by the 20th/22nd of November)
- Assignment Sheet 6 (due by the 27th/29th of November)
- Assignment Sheet 7 (due by the 4th/6th of December)
includes Programming Assignment 3, deadline is the same as the sheet! (voting!)
- Assignment Sheet 8 (due by the 11th/13th of December)
includes Programming Assignment 4, deadline 7th of January
- Assignment Sheet 9 (due by the 18th/20th of December)
includes Programming Assignment 5, deadline 14th of January
- Assignment Sheet 10 (due by the 8th/10th of January)
includes Programming Assignment 6, deadline 21st of January
- Assignment Sheet 11 (due by the 15th/17th of January)
- Assignment Sheet 12 (due by the 22nd/24th of January)
Seminar (only for students doing the seminar!)
- Scoring of Programming Assignments
- TicTacToe Environment v1.3.0 + Source Code
- Car Data (see also the UCI Machine Learning Repository)
- Machine Learning
- Artificial Intelligence: A Modern Approach
S. Russel and P. Norvig
Prentice Hall, Englewood Cliffs, 2003
- Introduction to Artificial Intelligence (German version: Grundkurs Künstliche Intelligenz)
Springer-Verlag London, 2011 (German version: Springer Vieweg, 2013)
- Pattern Recognition and Machine Learning
Christopher M. Bishop
Springer-Verlag New-York, 2006
- Question: Do I have to register for the course? If so, where?
Answer: Yes, you have to register for one of the exercises in the LSF! Please make sure to register for the exercise, that you would like to attend, since the capacity (30 per exercise date) is limited!
- Question: I can not be there for the first exercise! What should I do?
Answer: Missing the first exercise usually is not that big of a problem. You should inform me (Marcus Thiel) about this circumstance though, since I will give unused slots to people on the waiting list otherwise.
- Question: Do I really have to do the first assignment for the FIRST exercise?
Answer: Yes, of course. The questions are easy enough to be handled without having heard the lecture.
- Question: What is that thing about "voting"?
Answer: It means, that you have to prepare the assignments BEFORE the exercise, in which they are discussed in. A sheet will be given around, where you have to mark all assignments, that you were able to solve. Marking an assignment means, that you are able to present your solution in front of the class. I expect everyone to at least present once, but twice would be best. Your solution does not have to be correct, but if you are not able to explain the assignment at all, all marked tasks for the particular exercise will be removed from your votings.
- Question: How many "votings" do I need in order to get my exam admission?
Answer: Please try to solve 2/3 of the tasks. Every task on each assignment sheet basically counts as a single point. I also expect active involvement in the class. If you have shown active involvement, but could NOT solve at least 2/3 of the tasks, we can talk about making an exception. (Hint: There will be about 35 tasks throughout the semester. So you would need 23 solved tasks at least. The total number may change though and is NOT binding.)
- Question: I can not solve 2/3 of the tasks, since I can not be there for all exercises. What should I do?
Answer: The short answer would be: Please try to be there at least enough times, so that you can actually reach the 2/3. The course highly rests on understanding the concepts and just learning by yourself (or only visiting the lecture) might not be enough.
The longer answer: We can always try to work something out. If you try really hard and show an active involvement in the classes, that you can actually attend, we can make some exception to the rule. Remember though, that you will still get way less feedback, especially on the tasks that you may have solved. I do not have the time to look over all your assigments individually, therefore I would highly advise to prioritize attending the exercises.
- Question: Is this all I need for my admission?
Answer: No! There also the programming assigments, that you have to solve during the semester. Exact information on that will be given at the beginning of the semester.
- Question: What exactly are these programming assignments?
Answer: They will focus on the application and understanding of the different methods, that you will learn in the course. A basic understanding of programming is therefore required.
- Question: But I'm not from a Computer Science background / I can't program! Can I do something else instead?
Answer: No, sorry. Now would be the best time to learn a bit about programming. You will need that anyways.
- Question: I have never heard anything about Data Mining and/or Machine Learning before. Should I visit this course?
Answer: That is totally fine. This course is intended to be a basic course for Machine Learning. You only need some basic knowledge about math (e.g. vectors, matrices, derivations).
- Question: My math skills are very rusty, do I need them for this course?
Answer: You need to have basic skills (e.g. derivations, matrices, vectors) in order to understand this course. Those things will only partially be explained again, so you should be ready to fill the gaps yourself.
- Question: I really, really like Machine Learning, but the assignments are way too difficult and time consuming! Could we please reduce the amount of work?
Answer: At the moment: No. The assignments may change depending on the feedback though.
- Question: How will the exam look like? Will it be oral or written?
Answer: The exam will be written. It will be offered at the end of the semester, probably in mid-February. A follow-up exam will then be again in summer, some time in July or beginning of August.