This web page gives information on the lecture 'Machine Learning' which is held during winter term 2018/2019 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 (subject to change):
- value functions
- concept spaces and concept learning
- instance based learning
- decision trees
- neural networks
- Bayesian learning
- reinforcement learning
- association rule learning
- genetic algorithms
This course does not offer the possibility to acquire an extra credit point.
Course Schedule and Room Assignments
Doodle for exam preparation dates: Link
|Lecture||Tue, 17:00 - 19:00
|Exercises (1st group / 4th group)||Mon, 13:00 - 15:00||15.10.2018 / 05.11.2018||G22A-120 / G16-250
|Exercises (2nd group)||Wed, 13:00 - 15:00
|Exercises (3rd group)||Tue, 15:00 - 17:00||16.10.2018||G22A-203|
|Exercises (5th group)||Wed, 15:00 - 17:00||07.11.2018||G05-118|
Registration for the individual groups is done via LSF! Registrations are closed.
If you have any questions concerning the lectures or assignments please contact (if possible by email):
Requirements for the Written Exam and the 'Schein'
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 (due by 15th/16th/17th of October)
- Assignment Sheet 2 (due by 22nd/23rd/24th of October)
- Assignment Sheet 3 (due by 5th/6th/7th of November)
- Assignment Sheet 4 (due by 12th/13th/14th of November)
- Assignment Sheet 5 (due by 19th/20th/21th of November)
- Assignment Sheet 6 (due by 26th/27th/28th of November)
- Assignment Sheet 7 (due by 3rd/4th/5th of December)
- Assignment Sheet 8 (due by 10th/11th/12th of December)
- Assignment Sheet 9 (due by 17th/18th/19th of December)
- Assignment Sheet 10 (due by 7th/8th/9th of January 2019)
- Assignment Sheet 11 (due by 14th/15th/16th of January 2019)
- Assignment Sheet 12 (due by 21st/22nd/23rd of January 2019)
- Programming Assignment 1 (due by 28th of October)
- Programming Assignment 2 (due by 25th of November)
- Programming Assignment 3 (due by 9th of December)
- Programming Assignment 4 (due by 6th of January 2019)
- Programming Assignment 5 (due by 13th of January 2019) Updated!
- Programming Assignment 6 (due by 20th of January 2019)
Seminar (only for students doing the seminar!)
- The paper deadline is the 7th of January 2019 (until midnight).
- Paper Template
- Examples for Topics + Requirements
- For seminar topics and guidance please contact:
- Linear Regression Data Sets (for Programming Assignment 1)
- Decision Tree Data Sets (for Programming Assignment 2)
- Perceptron Data Sets (for Programming Assignment 3)
- Fuzzy C-Means: Results + Plot
- Naive Bayes Data Sets (for Programming Assignment 4)
- kNN Data Sets (for Programming Assignment 5) Updated!
kNN Data Sets
- kMeans Data Sets (for Programming Assignment 6)
- 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
Frequently Asked Questions
- 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 (about 40 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.