DSK807: Anvendt Maskinlæring
Intern kursuskode
Indgangskrav
Faglige forudsætninger
- Regressions analyse.
- Basale unsupervised metoder, herunder clustering.
- Sampling teknikker såsom the Bootstrap, cross-validation, og data split (trænings og test), og hvordan (samt hvornår) de skal benyttes.
- Basal forståelse af “moderne” tilgange til statistisk læring, herunder decision trees.
- Anvendelse af ovenstående i et programmeringssprog.
Formål
Formålet med kurset er at gøre den studerende i stand til at anvende moderne machine-learning-metoder til at løse konkrete data science-problemer fra start til slut.
Kurset er gennemgående anvendelsesorienteret: vi fokuserer på, hvordan man vælger, implementerer, træner, tuner og evaluerer modeller på virkelige datasæt, snarere end på den dybtgående matematiske teori bag algoritmerne. Hovedvægten ligger på at opbygge en praktisk værktøjskasse på tværs af både klassisk machine learning og deep learning – med særlig vægt på programmering, eksperimenter og kritisk model-evaluering i praksis.
Undervisningen er case-baseret, og de studerende arbejder løbende med datasæt og problemstillinger inspireret af virkelige anvendelser, fx fra erhvervslivet eller datakonkurrencer. Al programmering foregår i Python, og vi benytter udbredte biblioteker som scikit-learn, TensorFlow og lignende værktøjer til at udvikle, kombinere og sammenligne modeller, så de studerende opnår erfaring med moderne machine learning-workflows i praksis.
Målbeskrivelse
Læringsmålet for kurset er, at den studerende skal kunne demonstrere sine evner til at:
- Omsætte et forretnings- eller forskningsproblem til en konkret machine-learning-opgave (fx klassifikation, regression, tidsrække- eller generativ modellering) og designe en passende end-to-end løsning.
- Konstruere komplette machine-learning-pipelines i Python, herunder dataforberedelse, feature engineering, modeltræning og -validering.
- Implementere, træne og fejlsøge (debugge) et bredt udvalg af modeller – fra klassiske metoder som beslutningstræer og support vector machines til dybe neurale netværk – ved hjælp af moderne Python-baserede frameworks såsom scikit-learn, TensorFlow og beslægtede værktøjer.
- Anvende systematisk eksperimentel praksis (train/validation/test-split, cross-validation, hyperparameter-tuning, regularisering) til at sammenligne modeller og dokumentere resultater.
- Vælge og begrunde relevante evalueringsmål (metrics) og kritisk vurdere en models ydeevne, robusthed og begrænsninger i relation til en konkret anvendelse – herunder afveje præcision, beregningsomkostning og interpretabilitet.
- Kommunikere og visualisere resultater og anbefalinger på en måde, der er forståelig for både tekniske og ikke-tekniske interessenter.
Indhold
De følgende hovedemner vil blive gennemgået i kurset. Ved hvert emne vil fokus være på anvendelse af modellerne og metoderne:
• Klassisk statistical learning værktøjer og deres anvendelse (shallow learners):
- Support vector machines
- Decision trees, boosting, random forests, og gradient boosting
- Ensembling
• Deep Learning metoder og deres anvendelse:
- Fully connected neural networks
- Convolutional neural networks
- Recurrent neural networks
- Modeltræning, regularisering og optimering
- Autoencoders
- Transformers og Generative AI
- Forklarlig AI
Modeller, anvendelser og data vil være inspireret af konkurrencer fra Kaggle og Hugging face.
Litteratur
- Deep Learning with Python af Francois Collet (ISBN: 9781633436589)
Se desuden itslearning for yderligere litteratur.
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Portfolio
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
Alle almindelige hjælpemidler tilladt
ECTS-point
Uddybende information
- Et gruppeprojekt med en kort rapport (max. 3 sider) der beskriver gruppens projekt
- En gruppepræsentation af projektet med efterfølgende gruppediskussion
- En kort individuel mundtlig eksamen med spørgsmål om implementeringsaspekter i projektet (afholdes lige efter gruppediskussionen)
Vejledende antal undervisningstimer
Undervisningsform
Skemalagte undervisningstimer:
Antal undervisningstimer i alt: 60
Heraf:
Fællestimer i klasselokale/auditorium: 40
Holdlektioner (øvelsesklasser) i klasseværelse: 20
Forelæsningerne introducerer de teoretiske grundlag og centrale begreber inden for anvendt maskinlæring gennem forklaringer, diskussioner og illustrative eksempler. Undervisningsmaterialer stilles til rådighed online ved kursets start for at understøtte forberedelse og selvstændigt arbejde. Øvelsestimerne fokuserer på løsning af opgaver samt anvendelse af metoder på virkelighedsnære datasæt. De studerendes aktive deltagelse understøttes gennem et obligatorisk projekt. Feedback på opgaver gives i øvelsestimerne samt efter aftale med underviseren.
Andre planlagte undervisningsaktiviteter:
- Selvstudie af forskellige dele af kursusmaterialet
Ansvarlig underviser
Skemaoplysninger
Administrationsenhed
Team hos Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.