DAT158 Maskinlæring og videregående algoritmer
Emneplan for studieåret 2022/2023
Innhold og oppbygning
Kurset er todelt, hver del har omfang på 5 studiepoeng.
Maskinlæring:
I løpet av de siste årene har det skjedd en dramatisk utvikling innen en rekke områder knyttet til kunstig intelligens. Datamaskiners evne til å gjenkjenne og klassifisere objekter i bilder og videoer har gått fra være relativt unyttig til å bli brukt i en lang rekke sammenhenger og teknologier; fra svært begrenset evne til å prosessere og syntetisere tekst og tale til utstrakt bruk av personlige digitale assistenter; fra amatørnivå i sjakk, poker, Go og Dota til verdens beste; fra kjøreassistanse til selvkjørende biler.
Årsaken til dette er gjennombrudd innen maskinlæring. Feltet består av en rekke teknikker som gjør datamaskiner i stand til å avdekke kompliserte mønstre og sammenhenger i store datasett. Maskinlæring har hatt mange viktige anvendelser opp gjennom årene, men har aldri vært så gjennomgripende innen teknologi, vitenskap og programvareutvikling som i dag.
Kurset utforsker maskinlæring på et praktisk, prosjektbasert, ingeniør-fokusert, hands-on vis, med fokus på å løse problemer fra den virkelige verden.
Innen kurset er omme vil du ha en solid forståelse av de fundamentale ideene i feltet. Du vil ha erfaring med å takle virkelig-verden-problemer ved bruk av standard arbeidsflyt og moderne verktøy og rammeverk fra data-analyse, programvareutvikling og maskinlæring. Du vil også kjenne til feltets begrensninger, når det kan anvendes og ikke, og hvordan det er relatert til ultimate målsettinger innen kunstig intelligens.
Videregående algoritmer:
I kurset gis det en innføring i avanserte og velkjente algoritmer innenfor ulike områder. Ulike typer problemløsning og rekursiv tenkning vil også bli gjennomgått. I tillegg vil det bli gjennomgått ulike aspekter av kompleksitetsteori med vekt på klassene P og NP samt mulige approksimative løsninger av NP-komplette problem.
Eksempler på algoritmer som blir gjennomgått er evolusjonære algoritmer og simulering av disse, splitt og hersk algoritmer og dynamisk programmering, tilnærmingsalgoritmer, randomiserte algoritmer, grafalgoritmer, heuristiske algoritmer, og algoritmer for tekstprosessering.
Læringsutbytte
Kunnskaper
- Kan beskrive fundamentale maskinlærings-konsepter og -algoritmer, samt deres implementasjon
- Kan forklare hvordan maskinlæring kan brukes til å løse praktiske problemer fra et bredt spekter av områder, og hvordan maskinlæring kan brukes til å utvikle «intelligente» applikasjoner.
- Ha forståelse for at praktisk maskinlæring er en dataingeniørdisiplin ("machine learning engineering" og MLOps)
- Gjøre rede for hvordan videregående algoritmer virker
- Forklare hvordan teori for videregående algoritmer kan utnyttes innenfor computer science og ingeniørfag
- Gjøre rede for hvordan videregående algoritmer kan brukes til å løse praktiske problemer av ulik type
Ferdigheter
- Kan utvikle løsninger på konkrete, praktiske problemer ved hjelp av maskinlæring
- Kan utvikle, finne og bruke moderne, «state-of-the-art» programvaresystemer og rammeverk for data-analyse, visualisering og rapportering.
- Kan designe, utvikle og sette i drift maskinlærings-applikasjoner.
- Utvikle applikasjoner for løsning av problem innenfor ulike områder
- Designe og utvikle applikasjoner for hvordan teori for videregående algoritmer kan brukes til å bygge mer intelligente applikasjoner
- Konstruere effektive algoritmer for algoritmiske problemer
Generell kompetanse
- I stand til å formulere og utføre et maskinlæringsprosjekt.
- I stand til å presentere ens arbeid, både skriftlig og muntlig.
- Evne til samarbeid.
- Å håndtere komplekse algoritmiske problemer, enten ved å konstruere en eksakt eller en tilnærmingsalgoritme, eller ved å lage en heuristisk løsning.
- Å vurdere ulike algoritmiske løsninger opp mot hverandre.
Krav til forkunnskaper
Ingen
Anbefalte forkunnskaper
Anbefalte forkunnskaper: Grunnleggende kunnskaper i programmering og matematikk svarende til første studieår i studieprogrammene dataingeniør og informasjonsteknologi. I tillegg bør man ha bakgrunn i algoritmer tilsvarende DAT102 Algoritmer og datastrukturer. Kjennskap til Python, Numpy og Pandas er en stor fordel. Det vil gis en kjapp innføring i Python i kurset, og du vil få tilgang til en rekke nettressurser som kan brukes til å tilegne seg anbefalt bakgrunnskunnskap ved kursstart.
Undervisnings- og læringsformer
I Bergen blir forelesninger og lab gitt fysisk i tillegg til elæringsressurser.
I Førde blir det tilbudt et nettbasert undervisningsopplegg fra Bergen.
Obligatorisk læringsaktivitet
Fire obligatoriske øvinger må være gjennomført til fastsatte frister og godkjent før eksamen kan avlegges. Vurderes som godkjent/ikke-godkjent.
Godkjente øvinger gir også adgang til eventuell utsatt eksamen påfølgende semester. Ved utsatt og ny eksamen neste gang faget undervises, må nye øvinger leveres.
Vurderingsform
Muntlig eksamen, men om det blir mer enn 50 studenter kan det bli 4 timer skriftlig eksamen.
Karakterskala A-F, der F tilsvarer ikke bestått.
Hjelpemidler ved eksamen
Ingen
Mer om hjelpemidler