DAT158 Maskinlæring og vidaregåande algoritmer

Emneplan for studieåret 2020/2021

Innhald og oppbygging

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 objekter i bilder og videoer har gått fra å være omtrent ubrukelig til å nå et "menneskelig" nivå; fra svært begrenset evne til å forstå 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 og programvareutvikling som i dag.

Kurset utforsker maskinlæring på et praktisk, prosjektbasert, 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 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
  • Kan forklare hvordan maskinlæring brukes til å lage "intelligente" applikasjoner.
  • 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 og utvikle "intelligente" applikasjoner ved hjelp av maskinlæring.
  • 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 forkunnskapar

Ingen

Tilrådde forkunnskapar

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

Forelesninger, lab, elæringsressurser.

Arbeidskrav

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.

Hjelpemiddel ved eksamen

Ingen

Meir om hjelpemiddel

Fagleg overlapping

  • DAT157 (1) - Nevrale nett og avanserte algoritmer - Reduksjon: 5 studiepoeng