Voor de beste ervaring schakelt u JavaScript in en gebruikt u een moderne browser!
Je gebruikt een niet-ondersteunde browser. Deze site kan er anders uitzien dan je verwacht.
Why choose this course?

Learn what's under the hood

Gain in-depth knowledge about the workings of machine learning algorithms

Hands-on course

Possibility to attend weekly seminars and tutorials to master the material

Societal impact

Discuss the societal impact and risks of machine learning algorithms

For whom? 

Anyone wishing to better understand what machine learning algorithms are, and where and how they can be applied. For example, this could be developers looking to expand their skill set, technical managers deciding where to apply machine learning, or PhD students wanting to apply machine learning in their own research. 

Required prior knowledge
A large part of this course consists of programming machine learning algorithms for yourself, so it is absolutely necessary you can write basic Python code. This includes writing your own functions, using list, dictionaries and tuples, and debugging a solution that doesn’t work. The courses Scientific Programming 1 and 2 cover all the  programming skills required for this course.

The course will also cover the mathematical foundations of these machine learning algorithms. This will require a very basic understanding of calculus, linear algebra, probability theory and statistics. Optional self-study modules for these topics are included in the course. If you need to brush up all of the mathematics required for the course, expect to spend an additional 2 hours each week.

About the programme
  • Course description

    The core of this course revolves around programming machine learning algorithms for yourself, as a way to truly understand what exactly they are learning. Each of the different modules will focus on programming a different algorithm, understanding the math required for that algorithm, and discussing a philosophical question or a societal impact related to applying this algorithm in practice.
    Specifically, we’ll cover the following algorithms:

    • k-Nearest Neighbours
    • Naive Bayes
    • Gradient Descent
    • (Multivariate) Linear Regression
    • Polynomial Regression

    Note: This explicitly does not include Neural Networks, as that is too large a topic to also include here. However, the foundational concepts covered are also all applied within Neural Networks, and so this does provide the necessary basis to study Neural Networks in a follow-up course.
     

  • After this course, you will:
    • Know the main types of  machine learning algorithms, and when to apply each
    • Know how to train a simple machine learning model using your own data set
    • Know how to detect underfitting or overfitting, and select the best model complexity for a task
    • Understand the foundational mathematics that allow all ML algorithms to learn from large amounts of data
    • Understand some of the important societal risks when applying ML in practice
    • Understand what it means for an algorithm to “learn” something, and the capabilities and limitations this implies
  • Mode of study, materials and laptop

    Weekly on-site classes and self-study. In total, this will average around 8 hours per week. For the even weeks of the course there will be a seminar with mandatory attendance, while on the odd weeks there will be a tutorial session where you can ask questions and get help with your assignments.

    The study materials included in the course consist of reading materials, theory videos, and optional self-study modules for mathematics.

    You will need to bring your own laptop to program on for the assignments (make sure you have rights to install software on the device).  

  • Assessment
    • 4 programming assignments
    • 4 writing assignments
    • a final exam
Important dates

Start date: Week of 30 September 2024

On-site classes: Every Friday from 14:00-16:00. On even weeks this will be a seminar with mandatory attendance (see below for dates). On odd weeks this will be an optional tutorial (starting from October 4th) to ask questions about the material you may have, and to get help with assignments.   

Mandatory seminars:
• 11 October 2024, 14:00-16:00 
• 25 October 2024, 14:00-16:00
• 8 November 2024, 14:00-16:00
• 22 November 2024, 14:00-16:00
• 6 December 2024, 14:00-16:00

Exam date:
• TBD

Optional installation session: 27 September 2024, 14:00-16:00. This session is meant for help with installation of the required software in case of issues, and getting started with the course. 

Contact 

Do you have further questions about this programme? 

Please contact: Liza Lambert Project Manager Lifelong Learning (Informatics Institute)
E: professionaleducation-ivi@uva.nl