Algemeen¶
In dit OLOD maak je kennis met de basisconcepten van Machine Learning (ML) en hun realisatie binnen verschillende AI toepassingsdomeinen. Je zal via diverse voorbeelden met echte data en echte problemen, een breed beeld krijgen van de belangrijkste ML principes.
In de theorielessen bespreken we de basisconcepten binnen een bepaald toepassingsdomein aan de hand van eenvoudige, vaak ook gesimuleerde, datasets. In de labo’s verdiepen we ons dan in een echte case.
Alle voorbeelden worden uitgewerkt in Python.
We focussen ons in dit vak op de concepten. In het vak Mathematical foundations ga je dieper in op de wiskundige achtergrond en zullen er expliciete links gelegd worden naar deze cursus.
Uiteraard kunnen niet alle domeinen in volle detail aan bod komen. Daarenboven evolueren de specifieke technieken razend snel. Je zal via een individuele opdracht zelf een recente case kiezen waar je zelf een analyse uitvoert en documenteert in functie van de basisconcepten.
Doorheen de cursus zal je ook leren over industrie-standaarden rond specifieke tools en workflows.
De bedoeling is om je een degelijke “bagage” te geven om aan de slag te gaan als ML engineer. Het is mogelijk dat je in een professionele context niet per se zelf met het trainen van modellen geconfronteerd zal worden. De kennis die je hier opdoet zal echter cruciaal zijn om te begrijpen wat er “onder de motorkap” van bestaande ML modellen gebeurt (om bv. probleemgedrag op te lossen), mee te blijven met nieuwe ontwikkelingen, te communiceren met data-scientists, enz..
Korte omschrijving¶
Leer hoe machines patronen ontdekken in data en slimme voorspellingen kunnen maken.
In ML Principles duik je stap voor stap in hoe AI-systemen opgebouwd worden, hoe data voorbereid en geanalyseerd wordt, en hoe eenvoudige machine learning-modellen werken.
We leggen de nadruk op praktische vaardigheden zoals het omgaan met datasets, het kiezen van de juiste datarepresentaties en het begrijpen van de belangrijkste concepten achter AI.
OLR-Leerdoelen (lijst)¶
Communiceren¶
Rapporteert op correcte wijze de resultaten van een ML analyse.
Schrijft een verslag met conclusies en metrieken over een ML model.
Ontwerpen¶
Herkent de verschillende gegevenstypes en beschrijft de verbanden tussen de wiskundige meetschalen met de datatypes uit de informatica.
Evalueert ontwikkelingsmethodologieën.
Onderkent de basisprincipes van data training & Cross-validatie.
Begrijpt de basisprincipes van machine learning
Beschrijft op correcte wijze de afhankelijkheden tussen twee of meerdere variabelen.
Hanteert de principes en methodologieën van stochastisch programmeren om een realistisch vraag- en aanbod probleem op te lossen.
Herkent de tekenen van over- of onderfitting.
Selecteert het correcte algoritme voor een taak.
Lost problemen op met Python.
Documenteert een kleinschalig AI project en maakt hiervoor gebruik van de ontwikkelomgeving van Python.
Optimaliseren¶
Test en beoordeelt kritisch een getraind statistisch model.
Lost eenvoudige numerieke optimalisatie problemen op aan de hand van een statistisch programma.
Realiseren¶
Beargumenteert welk type ML van toepassing is voor een bepaalde applicatie.
Neemt de nodige voorzorgen om over- en onderfitting te voorkomen.
Traint een algoritme op basis van een dataset.
Werkt met een afzonderlijke test dataset om de score van een algoritme te kunnen schatten.
Leerinhoud¶
ML Project Lifecycle
Python libraries voor ML (scikit-learn, pandas, )
Supervised/Unsupervised ML/RL
ML algorithms: Classificatie en regressie, Clustering
Discriminative ML vs generative ML
Basis Algoritmes: Lineaire regressie, Logistische regressie, Beslissingsbomen
Onder- en overfitten: bias vs variantie, regularisatie, hyperparameters, model selectie
Validatie van een model: splitsen van data in train/validatie/test, cross validatie, metrieken
Feature selectie
Feature engineering
Baseline
Missing values
Skewed/unbalanced data
Datalek
Data Kwaliteit
Data labelling
Training acceleration: GPU, TPU, distributed training
Programma¶
| Week | Datum | Onderdeel | Labo |
|---|---|---|---|
| 1 | 16/09 | Basisprincipes #1 | Setup |
| 2 | 23/09 | Basisprincipes #2 | Uber: Data-Exploratie met Pandas en Plotly |
| 3 | 30/09 | Gestructureerde data | Airbnb: prijsvoorspellingen met XGBoost |
| 4 | 07/10 | Beeldanalyse #1 | TACO: Zwerfvuildetectie |
| 5 | 14/10 | Beeldanalyse #2 | TACO: Zwerfvuildetectie |
| 6 | 21/10 | Natuurlijke taal #1 | mini GPT |
| Herfstvakantie | |||
| 7 | 04/11 | Natuurlijke taal #2 | mini GPT |
| Wapenstilstand | |||
| 8 | 18/11 | Beeldgeneratie | Nieuwe vlinders met een diffusion model |
| 9 | 25/11 | Actieplanning | Reinforcement Learning basis |
| 10 | 02/12 | Voorbereiding examen #1 | |
| 11 | 09/12 | Presentaties | |
| 12 | 16/12 | Voorbereiding examen #2 | |
| Kerstvakantie |
Evaluatie¶
| 20% | Permanente Evaluatie | Zie “Opdracht” sectie in de “Afspraken” pagina |
| 30% | Kennistoets | Gesloten boek, Leerstof: Cursus (online), Eigen notities, Labo’s - Zie “Leerstof” sectie in de “Afspraken” pagina |
| 50% | Vaardigheidstoets | Oefeningen in Jupyter notebook, Open boek |