Hoofdstuk 1 Inleiding tot de cursus

1.1 In een notedop

In deze cursus zullen we het erg breed domein van artificiële intelligentie (AI) en 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 gemeenschappelijk zijn voor ML en AI om ons daarna specifiek te richten naar het toepassen van AI in een realistische context. We gaan leren om op basis van data en een eenvoudige opdracht zelfstandig een AI-analyse uit te voeren. Deze aangeleerde vaardigheid maakt van een doorsnee IT-er een beginnende data-ingenieur. Gaandeweg zullen we ons echter van bewust moeten maken dat deze vaardigheid ook een aantal verantwoordelijkheden met zich meebrengt. Het gaat dan voornamelijk om het toepassen van ethische 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.

Tabel 1.1: Leerdoelen voor deze cursus
Code Omschrijving
TI_LD577 Beheerst de kunst van data exploratie
TI_LD578 Ontwikkelt zelfstandig een AI toepassing op basis van een probleemstelling
TI_LD579 Rolt een ontwikkelde AI toepassing uit
TI_LD580 Rapporteert op correcte wijze over de onzekerheden van een AI oplossing
TI_LD581 Past de principes toe van Explainable AI
TI_LD582 Beheerst minstens vijf verschillende ML-algoritmen
TI_LD583 Past de regels rond privacy-bescherming en ethical AI toe
TI_LD584 Gebruikt pipelines in een AI oplossing
TI_LD585 Visualiseert complexe data op correcte en verhelderende wijze
TI_LD586 Past het principe van ensemble learning toe
TI_LD587 Configureert een ML algoritme op correcte wijze op basis van de documentatie
TI_LD588 Bouwt een bibliotheek met meest frequent gebruikte functies

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 om 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!

Werking van Markdown. De platte tekst (links) wordt omgezet naar een ander formaat (rechts; hier HTML) door een externe tool als Pandoc. Stijl-regels worden hier automatisch uitgevoerd maar de auteur heeft de mogelijkheid ook deze in detail te configureren. Naast het scheiden van vormgeving en inhoud (hetgeen een merkelijke efficiëntie verbetering met zich meebrengt) ondersteund R Markdown ook meertaligheid, i.e. meerdere programmeertalen in één document. Tussen een aantal talen is er zelfs wederzijdse uitwisseling mogelijk van de actieve variabelen (zie oranje markeringen met pijl). Het voorbeeld met de Mandelbrot fractaal is afkomstig van Li 2017, waarvan de GitHub repository een bondige beschrijving geeft van de Mandelbrot verzameling (eng: Mandelbrot set) met een test die de performantie-winst van Julia t.o.v. R onderzoekt.

Figuur 1.1: Werking van Markdown. De platte tekst (links) wordt omgezet naar een ander formaat (rechts; hier HTML) door een externe tool als Pandoc. Stijl-regels worden hier automatisch uitgevoerd maar de auteur heeft de mogelijkheid ook deze in detail te configureren. Naast het scheiden van vormgeving en inhoud (hetgeen een merkelijke efficiëntie verbetering met zich meebrengt) ondersteund R Markdown ook meertaligheid, i.e. meerdere programmeertalen in één document. Tussen een aantal talen is er zelfs wederzijdse uitwisseling mogelijk van de actieve variabelen (zie oranje markeringen met pijl). Het voorbeeld met de Mandelbrot fractaal is afkomstig van Li 2017, waarvan de GitHub repository een bondige beschrijving geeft van de Mandelbrot verzameling (eng: Mandelbrot set) met een test die de performantie-winst van Julia t.o.v. R onderzoekt.

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 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 (hover met je muis over de tabel voor meer info):

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.6 Verwijzen naar deze cursus

Bibtex-formaat:

@online{dhaese2020ai-principles,
    author = {D’Haese, David;Haddouchi, Hassan},
    title = “AI-Principles,”
    year = “2020,”
    url = “https://hascodi.github.io/Course_AI-Principles/,”
    note = "[Online; accessed

  }

APA-formaat:

D’Haese, D., 2020. AI Principles [WWW Document] [Online; accessed

]. URL https://hascodi.github.io/Course_AI-Principles/