May 11. All homework solutions until now (hw-3) can be downloaded from this link.

Exam Date: released May 29 10 AM, due May 30 4 PM.

April 9. Please note that all assignments/homeworks have to be done in IPython Notebook environment (using python), with the exception of homework-3, which has to be done in Matlab.

Doodle poll for Exam date, please mark dates that absolutely DO NOT work for you: Exam date.

March 26. Please note that technical questions related to your solution (For example, your code or theoretical solution) will not be answered by email or on Piazza. They will only be answered (discussed with you) during consultations sessions. By email, you can only ask clarification questions regarding the assignments. Or if you spot some mistakes/confusions in the assignment instructions.

HWO: Theoretical question “Setting Hyper parameters” is now a Bonus question. The last line “Confirm that this gives the same values claimed in the lecture” is not valid, as nothing was claimed in the lecture.

Please direct all questions about homework assignments to the TAs. It is recommended to send your questions from piazza for faster answers and to reach all TAs simultaneously.

If you’re not intending to continue with the course, please drop out officially – there are many on the waiting list who would like to get a place in the course!

March 21. If you are still looking for a teammate, please join the class discussion groups on piazza here https://piazza.com/chalmers.se/spring2018/tda231 (Use the access code: suttl), then go to the “Search for teammates” discussions and either create a new post or reply to an existing one. Once you found a teammate, you can mark your search as Done. If you have any issues joining the discussion board, email Aristide.

March 20. Assignment for first week is now online. See below.

March 19. The link to FIRE is now updated and live. Please create an account on it as a student and team up in pairs to solve the assignments.

March 7. Web page for 2018 is live. Stay tuned for updates.

What It’s About

Today we have entered the era of “Big Data” : science, engineering and technology are producing increasingly large data streams, with petabyte and exabyte scales becoming increasingly common. We are flooded with data from the internet, social networks like Facebook and Twitter and high throughput experiments from Biology and Physics labs. Machine Learning is an area of Computer Science which deals with designing algorithms that allow computers to automatically make sense of this data tsunami by extracting interesting patterns and insights from raw data. The goal of this course is to introduce some of the fundamental concepts, techniques and algorithms in modern Machine Learning with special emphasis on Statistical Pattern Recognition. The first few lectures will introduce fundamental concepts, in particular the Bayesian approach, and in the rest we will see them applied to paradigm topics including:

Exam due date: May 30 4 PM. Hand in the exam to Morteza Chahreghani (office no. 6446) at 1600 on May 30th. Direct any questions/clarifications on exam by email to Morteza Chehreghani: morteza.chehreghani@chalmers.se

Prerequisites

Elementary probability, linear algebra and multivariate calculus. You should be able to program in Python and MATLAB. Previous algorithms courses are valuable though not strictly necessary. Here are some refreshers:

Homework assignments

Note that all homework are in Jupyter/IPython Notebook (they are not pdf). This will be used in all our Homework Assignments except for Neural Network assignment which is based on matlab. It is installed in the halls ES61-ES62, E-studio and MT9. You can also use google-colab to open/run these notebooks.

All assignments are to be solved in pairs. If you don’t have a partner, join the class discussion board here (with access code: suttl ) and create a new announcement in “Search for teammate” or reply to one such announcement. If you have any issues with this, please contact Aristide.

Each homework consists of both theoretical and practical problems.

You will need to upload two things to FIRE,

One .pdf-file containing the solutions to the theoretical problems. Optionally, you can write the solutions in the IPython notebook itself, using Latex-math mode for writing equations etc. If you choose to write your solutions to the theoretical problems in the IPython notebook itself, you don’t need to upload the .pdf-file.

Machine learning software

In this course, the practical homework assignments are designed to be solved with IPython notebook environment.

When working with the topics you’ve learned in this course however, you don’t need to write all parts of the implementation yourself. There are many mature libraries to use for applying machine learning in general. Two libraries that strive to be comprehensive, and therefore has many implemented algorithms, are scikit-learn (Python) and Weka (Java).

If you are working in a context that uses the Apache big data tools, e.g. the Hadoop ecosystem, there are machine learning libraries on top of these general processing frameworks. Most notable Mahout, Spark, and FlinkML.

It is important to stress that using these libraries is fairly easy, but without the proper theoretical understanding of what is happening behind the scenes, you will not have the same success applying and extending these tools to your specific problem. This is why we will not use these libraries directly in this course but we will provide pointers for you to try them out if you’re interested.