Hoofdstuk 1 Inleiding tot de cursus
1.1 In een notedop
In deze cursus zullen we het erg breed domein van machinaal leren (ML; eng: machine learning) aansnijden. Omdat de discipline zo breed is, kunnen onmogelijk alle topics aan bod komen. In plaats daarvan is er gekozen om eerst een brede basis te verschaffen rond de begrippen en principes die belangrijk zijn voor ML om ons daarna specifiek te richten op deep learning. We gaan leren hoe computers beelden kunnen herkennen en gaan zelf aan de slag om zulke algoritmes te configureren en te gebruiken. Deze aangeleerde vaardigheid maakt van een doorsnee IT-er een beginnende datawetenschapper. Gaandeweg zullen we ons echter van bewust moeten maken dat deze vaardigheid ook een aantal verantwoordelijkheden met zich meebrengt. Het gaat dan voornamelijk om ethisch ML en ethische artificiële intelligentie (AI).
1.2 Leerdoelen
Hieronder, in Tabel 1.1, staan de leerdoelen opgesomd zoals ze vermeld staan in de ECTS fiches voor dit opleidingsonderdeel. In de cursus zal er naar deze leerdoelen verwezen worden met vermelding van de bijhorende code.
Code | Omschrijving |
---|---|
EA_LD751 | Begrijpt de basis principes van machine learning |
EA_LD752 | Herkent de verschillen tussen supervised, unsupervised en reinforcement learning |
EA_LD753 | Begrijpt de fundamenten achter deep learning |
EA_LD754 | Onderkent de basisprincipes van data training & Cross-validatie |
EA_LD755 | Ontwikkelt het vermogen om zelfstandig technisch-uitdagende online workshops uit te voeren |
EA_LD756 | Analyseert zelfstandig een probleemstelling met het oog op het bieden van een AI-gerelateerde oplossing |
EA_LD757 | Ontwikkelt de correcte AI strategie op basis van een probleemstelling |
EA_LD758 | Past de juiste principes toe tijdens het exploreren, hanteren en opkuisen van data |
EA_LD759 | Herkent de risico’s van onvolledige en inaccurate data |
EA_LD760 | Gebruikt een diagnostische toolset om de performantie van ML modellen te meten |
EA_LD761 | Beeld complexe data uit door middel van hedendaagse visualisatie tools |
EA_LD762 | Evalueert op gepaste wijze de performantie van een algoritme. |
EA_LD763 | Rapporteert op correcte wijze de resultaten van een ML analyse |
1.3 Cursus vorm
Deze cursus is geschreven in een versie van Markdown. Markdown is een familie van zogenaamde opmaaktalen (eng: mark-up languages) die ervoor zorgen dat inhoud van het document in verscheidene formaten weergegeven kan worden: PDF, HTML, …. Het loskoppelen van inhoud betekent enerzijds dat de auteur zich kan focusseren op de inhoud in plaats van de vorm. Anderzijds betekent het dat de lezer in staat is zijn de vorm van de uitvoer te bepalen, bijvoorbeeld, beter leesbaarheid, donkere achtergrond, …. Voor meer technische documenten biedt Markdown nog veel belangrijkere voordelen. Het maakt het mogelijk om code in de ene of andere taal tussen de lyrische tekst te plaatsen en uit te voeren. Met de juiste IDE (Integrated Development Environment), betekent dit dat de auteur én de lezer in staat zijn om in meerdere programmeertalen tegelijkertijd te werken!
1.4 Bekijken van deze Cursus
Deze cursus kan je het best bekijken door gebruik te maken van je browser. Voor een betere ervaring zijn je de browser het best op volledig scherm. Er is een sneltoets om wisselen tussen gewoon en volledig-scherm modus (Chrome, Firefox: F11
, Safari: Control + ⌘ + F
). Heb je meerdere tabs open en vind je het vervelend navigeren in volledig-scherm-modus, is er voor Chrome een leuke extension: QuicKey..
1.5 Code uit de cursus uitvoeren
Via deze github repository krijg je toegang tot de broncode van deze cursus.
Opgelet: De inhoud van de cursus kan mogelijk nog wijzigen. Om steeds de laatste versie te hebben maak je gebruik van
git clone
.
Je kan met deze broncode alle code blokken uit de RMarkdown-bestanden (*.Rmd
) rechtstreeks lokaal uitvoeren. Maar opgelet, sommige code-blokken zijn specifiek voor Bookdown bedoeld en zijn er alleen voor de vormgeving van de cursus. Let er ook op dat je alle variabelen en bibliotheken in scope hebt door de nodige bovenliggende code-blokken eerst uit te voeren.
1.6 Oefeningen maken
Her-en-der verspreid in de cursus zullen er oefeningen voorzien worden. Deze zou je ook rechtstreeks in de broncode van de cursus moeten kunnen uitvoeren. Wanneer je tevreden bent van je oefening, kan je deze via Digitap indienen.
1.7 Licentie voor deze cursus
De inhoud van deze cursus valt onder een GNU Affero General Public v3.0 licentie. Wat er toegelaten is en onder welke voorwaarden staat hieronder opgesomd:
Je mag… | Onder voorwaarde dat… | Je mag niet… |
---|---|---|
Commercieel gebruik | Ontsluit bron | Aansprakelijk stellen |
Verspreiden | Licentie en copyright notice mee verspreiden | Garantie |
Aanpassen | Netwerk verspreiding | |
Patenteren | Zelfde licentie | |
Privé gebruiken | Bekendmaking wijzigingen |
1.8 Verwijzen naar deze cursus
@online{dhaese2020machine-learning,
author = {D’Haese, David},
title = “Machine Learning”,
year = “2020”,
url = “https://ddhaese.github.io/machine-learning/”,
note = "[Online; accessed
}
D’Haese, D., 2020. Machine learning [WWW Document] [Online; accessed yyyy-mm-dd]. URL https://ddhaese.github.io/machine-learning/
Bronvermelding
Li, C., 2017. Improve r’s performance using juliacall with mandelbrot set example [WWW Document] [Online; accessed 2020-09-14]. URL https://github.com/Non-Contradiction/JuliaCall/tree/master/example/mandelbrot