Commit 7cc1a9a1 authored by Carsten Eie Frigaard's avatar Carsten Eie Frigaard
Browse files

update

parent 0d42d183
COURSE
DEFS
[HOMEHTML] https://itundervisning.ase.au.dk/ITMAL_E21/Html
[HOME] https://itundervisning.ase.au.dk/ITMAL_E21
[FIGS] https://itundervisning.ase.au.dk/ITMAL_E21/Html/Figs
[HOML] <span style='font-family: courier new, courier;'>[HOML]</span>
[GITMAL] <span style='font-family: courier new, courier;'>[GITMAL]</span>
[GITHOML] <span style='font-family: courier new, courier;'>[GITHOML]</span>
[JPYNB] <span style='font-family: courier new, courier;'>[JPYNB]</span>
[OPTIONAL] (OPTIONEL)
[KURSUSINFORMATION] <a href='https://brightspace.au.dk/d2l/le/lessons/27524/units/244588'>kursusinformation</a>
[KURSUSFORKORTELSER] <a href='https://brightspace.au.dk/d2l/le/lessons/27524/topics/254943' rel='noopener' target='_blank'>kursusinformation | kursusforkortelser</a>
[KURSUSINFOGPU] <a href='https://brightspace.au.dk/d2l/le/lessons/27524/topics/244596' rel='noopener' target='_blank'>kursusinformation | GPU Cluster</a>
[SLIDES(arg)] slide arg
[BR] <br>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Litteratur
\sub{Hands-on Machine Learning [HOML]}
\dl{
\dd{\img{[FIGS]/book_homl.jpg, Hands-on Machine Learning with Scikit-Learn (front image)}}
\dd{\i{Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow:[BR] Concepts, Tools, and Techniques to Build Intelligent Systems}}
\dd{[BR]}
\dd{Aurélien Géron}
\dd{O'Reilly / Wiley, 2019, 2.ed.}
\dd{ISBN: 9781492032649}
\dd{\link{O'Reilly link,https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/}}
\dd{[BR]}
\dl{
\dt{\i{NOTE 1:}}
\dd{Dette er anden udgave (Second Edition/2.ed) af Géron's \i{Hands-on},
undgå at bruge førsteudgaven, idet den benytter TensorFlow direkte i stedet for
Keras, og desuden har flere mangler.}
\dt{\i{NOTE 2:}}
\dd{I PDF udgaven (Early Release, June 2019, 2019-04-22: Fifth Release)
svarer sidetal og nogle kapitler ikke til den officielle bog udgave ovenfor!}
}
}
\sub{Deep Learning [DL]}
\dl{
\dd{\img{[FIGS]/book_dl.jpg, Deep Learning (front image)}}
\dd{\i{Deep Learning}}
\dd{[BR]}
\dd{Ian Goodfellow, Yoshua Bengio, Aaron Courville}
\dd{The MIT Press}
\dd{November 18, 2016}
\dd{Hardcover: 775 pages}
\dd{ISBN-10: 0262035618}
\dd{ISBN-13: 978-0262035613}
\dd{\link{http://www.deeplearningbook.org/}}
\dd{[BR]}
\dl{
\dt{\i{NOTE:}}
\dd{Ikke obligatorisk, kun få afsnit og figurer bruges herfra.
(Bog god til videregående Neural Netværks-teori
og meget brugt i ML sammenhænge.)}
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Kursusforkortelser
\dl{
\dt{[\b{AI}]:}
\dd{Artificial intelligence (kunstig intelligens). Generelt bruges udtrykket ML i stedet for AI i kurset.}
\dt{[\b{CNN}]}
\dd{Convolutional Neural Network(s), undersort at NN's, primært til billebehandling.}
\dt{[\b{DL}]}
\dd{Enten bare Deep Learning eller Deep Learning bogen af Ian Goodfellow, et. al.}
\dt{[\b{G}]}
\dd{Group, ITMAL øvelsesgruppe.}
\dt{[\b{GITHOML}]}
\dd{
\dl{
\dt{Github repository til [HOML],}
\dd{\link{https://github.com/ageron/handson-ml2/}}
\dt{Clone via HTTPS}
\dd{\code{git clone https://github.com/ageron/handson-ml2.git}}
\dt{eller via SSH}
\dd{\code{git clone git@github.com:ageron/handson-ml2.git}}
}
}
\dt{[\b{GITMAL}]}
\dd{
\dl{
\dt{Git repository for ITMAL,}
\dd{\link{https://gitlab.au.dk/au204573/GITMAL/}}
\dt{Clone via HTTPS}
\dd{\code{git clone https://gitlab.au.dk/au204573/GITMAL.git}}
\dt{eller via SSH}
\dd{\code{git clone git@gitlab.au.dk:au204573/GITMAL.git}}
}
}
\dt{[\b{HOML}]}
\dd{Hands-on Machine Learning af Aurélien Géron, hovedlitteratur til dette kursus. For klarhedens skyld udtales 'HOML' som Holm i Brian Holm.}
\dd{
[BR]\img{[FIGS]/brian_holm.jpg, Brian Holm (foto fra cdn-ctstaging.pressidium.com)}
[BR]\cite{https://cdn-ctstaging.pressidium.com/wp-content/uploads/2020/12/CORVOS_00000365-066.jpg}
}
\dt{[\b{ITMAL}]}
\dd{IT Machine Learning, kursusnavnet.}
% [J1, J2, .. JN]: En journal opgave/aflevering, f.eks. "Journal 1" (J1). 'Journaler' erstattes af 'opgave afleveringer', O1, O2, osv.
\dt{[\b{JPYNB}]}
\dd{Jypyter Python NoteBook, dvs. Notebook applikationen eller en notebook kildetekst fil (med endelsen .ipynb).}
\dt{[\b{ML}]}
\dd{Machine Learning, det generelle koncept.}
\dt{[\b{NN}]}
\dd{Neural Network(s). Normalt forstået som fully-connected neurale netværk (se også CNN).}
\dt{[\b{O1, O2, O3, O4}]}
\dd{En opgaveaflevering, f.eks. O1 for opgaveaflevering 1.} %(opgave afleveringer hed tidligere journaler).
%\dt{[RNN:]}
%\dd{Recurrent Neural Network(s), undersort at NN's, men med indbygget \i{hukommelse}. }
\dt{[\b{SG}]}
\dd{Super-gruppe, bestående af tre eller fire Grupper [G]'s.}
\dt{[\b{Q}]:}
\dd{Et specifikt spørgsmål (Questions) i en journal opgave, ala Qc for opgave 'c' i et journal spørgsmål.}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Dokumentation og links
\sub{Web sites}
Primære
\dl{
\dt{[GITHOML]:}
\dd{\link{https://github.com/ageron/handson-ml2/}}
\dt{Scikit-learn:}
\dd{\link{https://scikit-learn.org/stable/}}
\dt{Keras:}
\dd{\link{https://keras.io/}}
}
Sekundære
\itemize{
\item{\link{Jupyter: jupyter-notebook.readthedocs.io/en/stable, https://jupyter-notebook.readthedocs.io/en/stable/}}
\item{\link{Anaconda Cloud: anaconda.org, https://anaconda.org/}}
\item{\link{Tensorflow: www.tensorflow.org, https://www.tensorflow.org/}}
}
Datakilder
\itemize{
\item{\link{Kaggle datasæts: www.kaggle.com, https://www.kaggle.com/}}
\item{\i{Sign in with your email} => genbrug gerne min konto, og undgå tidssplid:
\itemize{
\item{user: cef@ase.au.dk}
\item{password: test123}
}
}
}
Dokumentation
\itemize{
\item{Brug den indbyggede hjælp i [JPYNP]}
\img{[FIGS]/Screenshot_jupyter_help.png,}
}
Guides etc.
\itemize{
\item{\link{A Quick Python intro (short), https://www.w3schools.com/python/python_intro.asp}}
\item{\link{A Python tutorial (not so short!), https://docs.python.org/3/tutorial/}}
\item{Jupyter shortcuts quick guide XXX}
\item{Scikit-learn reference XXX}
\item{Scikit-learn cheat sheet XXX}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT GPU Cluster
Der er adgang til en GPU baseret server i forbindelse med kurset. Serveren består af en
'master' som kan tilgås via
\dl{
\dd{\link{http://gpucluster.st.lab.au.dk/}}
}
og fem 'slave' noder med GPU'er via
\dl{
\dd{\link{http://gpucluster.st.lab.au.dk/jhub1}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub2}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub3}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub4}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub4}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub5} (GPU 3090 og ny 4GHz CPU, 3090 har problemer med Tensorflow)}
}
som frit kan benyttes.
\p{Adgang kræver at i er på EDUROAM eller VPN/au access.}
\p{Der er pt. ingen load-balancing på de fire noder så se på gpucluster hjemmesiden, hvilke noder der er mindst belastede (via TOP
dataene).}
\sub{Brug}
\p{Alle grupper har fået deres egen konto, og f.eks. så logger Grp 09 ind som:}
\dl{
\dd{Login: f21mal09}
\dd{Password: f21mal09_123}
}
\p{Dvs. brugernavn/login f21malXX hvor XX er jeres ITMAL gruppe og password sammen som brugernavn med _123
tilføjet.}
\sub{Quick Guide}
\dl{
\dt{GIT via Jupyter:}
\dd{I kan clone git repositoret via en '!'-shell commando i Jupyter notepad'en}
\dd{\code{! git clone https://cfrigaard@bitbucket.org/cfrigaard/itmal}}
\dd{og så herefter pull'e via}
\dd{\code{! cd itmal && git pull}}
\dt{PYTHONPATH}
\dd{NOTE: PYTHONPATH er IKKE sat (som vi gjorde i L03/modules_and _classes.ipynb), men kan simuleres via}
\dd{\code{import sys,os sys.path.append(os.path.expanduser('~/itmal'))}}
}
\p{Hvis du kloner [GITMAL] til itmal som ovenfor er der nu automatisk sat en path op til libitmal, prøv det!}
\sub{GPU Hukommelse}
\p{Ved brug af Keras+GPU allokeres automatisk al GPU hukommelse. Når vi er flere brugere skal i derfor indsætte
følgende i starten af jeres Keras/Tensorflow Jupyter notebook kode:}
\displaycode{
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.05
config.gpu_options.allow_growth=True
set_session(tf.Session(config=config))
}
eller blot
\displaycode{
from libitmal import kernelfuns as itmalkernelfuns
itmalkernelfuns.EnableGPU()
}
\p{så allokeres kun en brøkdel af GPU hukommelsen! Det ser ud til at growth=True ikke virker, så sæt
per_process_gpu_memory_fraction op hvis i har behov.}
\p{Der kører nu et automatisk startup-script når i logger ind/åbner en notebook. Se}
\displaycode{/home/shared/(??)/startup/00_init.py}
\p{der kører StartupSequence_SetPath() og StartupSequence_EnableGPU(), den sidste funktion med følgende default
parametre}
\displaycode{def StartupSequence_EnableGPU(gpu_mem_fraction=0.05, gpus=None, cpus=None)}
\p{Bemærk at jeres jupyter server, beholder all hukommelse, også når i logger af...kun "stop my server"/"start server"
frigiver!}
%\p{Jeg vil slå alle processer ned, der har allokeret over ca. 4Gb GPU hukommelse eller har kørt i en uge...det er en
%automatisk process, der kører med ca. 5. interval!}
\sub{Noter}
\p{Terminal på cluster: brug Jupyter notebooks terminalen. Herefter har du en fin terminal på cluster noden}
\p{SSH til cluster: eller gør det på den klassiske metode via SSH til clusterens 'masternode' via}
\displaycode{> ssh -p 443 gpucluster.st.lab.au.dk}
\p{og herfra videre til 'noder' via ssh node 1 til node 5, f.eks.}
\displaycode{> ssh node3}
\p{Brug ikke 'masternode'en til udregninger, kun node 1 til 5!}
\p{Sæt gerne jeres SSH certifikater på, så i slipper for login/password.}
\p{Password kan kun ændres via SSH og \code{> passwd}}
\p{Se Hvad der kører på CPU}
\displaycode{! top -n1}
\p{Se Hvad der kører på GPU}
\displaycode{! nvidia-smi}
\p{Kill din egne processer}
\displaycode{! kill -9 <pid>}
\p{eller}
\displaycode{! pkill <procesnavn>}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Kriterier for O4
\sub{Kriterier for O4 rapport}
\p{Til den sidst aflevering, O4, skal i præsentere jeres arbejde med jeres eget
projekt.}
\p{I skal samle arbejdet i rapport-form i en PDF, dog maks. 15 sider. Dertil
kan komme evt. bilag/appendices. Hvis i kan lave en velformateret/letlæst
Jupyter Notebook, kan i også aflevere direkte i dette format i stedet for
PDF.}
\p{Der skal være en oversigt over gruppemedlemmernes bidrag til rapporten.
Dvs. at i skal lave en tabel, der viser, hvilke afsnit (eller sider) de
enkelte medlemmer primært har stået for. Er rapportarbejdet evt. fordelt
ligeligt mellem gruppemedlemmerne, skriv i at alle har deltaget i alle dele.}
\p{Herudover følger O4 rapporten de almindelige formelle journal krav fra
O1+2+3, på nær disse to punkter}
\itemize{
\item{Overskrifter på de opgaver, der svares på [..] (MUST)}
\item{Ingen cut-and-paste af tekst fra opgaveteksten.}
}
\p{som for O4 ikke giver mening (der er ingen overskrifter eller opgavetekst
at kopiere fra).}
\p{Rapporten skal opsummere jeres arbejde med jeres problemstilling i et
'end-to-end' perspektiv (hent inspiration i \i{§ 2 End-to-End Machine Learning
Project} [HOML]).}
\p{Følgende hovedpunkter skal beskrives}
\itemize{
\item{\i{Problemstilling:} hvilket problem forsøger i at løse med ML?}
\item{\i{Datasæt:} hvilke data arbejder i med, hvilke features, hvor
stammer det fra osv.}
\subitem{Tag udgangspunkt i eller genbrug jeres analyse/tekst fra
afleveringen "Beskrivelse af eget slutprojekt" fra O2 (dvs. i gerne
må selv-plagiere her!).}
\item{\i{Valg af ML algoritme(r):} beskriv f.eks.}
\subitem{hvilken grundliggende ML algoritmeklasse(r) valgte i
(supervised/unsupervised, regression/klassifikation)?}
\subitem{hvilke kriterier lå til grund for jeres model selection?}
\subitem{hvorfor er jeres valgte algoritme god til netop jeres dataset?}
\subitem{hvad er fordele og ulemper ved den (eller de) valgte
algoritme(r), f.eks. kompleksitet?}
\item{\i{ML data processering:} beskrivelse af hvordan i splitter data i
train-test set, preprocessere, træner og tester.}
\subitem{evt. brug af Scikit-learn pipelines i processings-steps
(direkte brug af Scikit-learn pipelines: COULD!}
\item{\i{Performance metrics:} beskrivelse af, hvordan i måler
'effektiviteten' af jeres træning og test.}
\item{\i{Under- og overfitting:} hvordan sørger i for, at jeres system ikke
under- eller overfitter på jeres data?}
\item{\i{Optimeringer og forbedringer:} hvordan har i forbedret jeres
system via optimeringsparametre (optimizers, regulizers) eller afsøgning af
hyperparameterrummet?}
}
\p{I har frie hænder til at lave jeres egen disposition over opgaven, dvs. at
de nævnte kriterier ovenfor kan komme i den rækkefølge i selv vælger.}
\p{Sørg herudover for at have en indledning og konklusion på opgaven.}
\subsub{NOTE: vdr. sidetal til O4}
\p{Der står maks. 15 sider til O4, og det er ment som at hele O4 skal holdes
til (ca.) 15 sider inklusive figurer og tabeller.}
\p{Det er ikke ment direkte (og formelt) som ’normalsider’ med ”antal anslag,
figurer tæller ikke med..” osv. Så hold jer til ca. 15 sider med en fornuftig
font.}
\p{De 15 siders grænser er primært indført for ikke at gøre O4 for omfattende i
projekt/afleverings tid.}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Journal afleveringsformat
\sub{Journal afleveringsformat [O1,O2,O3]}
\p{I skal uploade opgaverne / journalerne i PDF format.}
\p{Journalen skal være en 'komplet' aflevering, dvs. at i gerne må vedhæfte
bilag, men journal skal indeholde al nødvendig information vdr. print/test af
kode. Journal-resultater bør dokumenteres til den grad de kan gentages (af
andre eller jer selv senere..!).}
\p{Dvs. at journalen skal bestå af forklarende tekst, figurer, kode og
test-output, så den danner et forståeligt billede af, hvordan i har løst
opgaven.}
\p{Men i behøver ikke at inkludere alt kode eller test-output, kun det
vigtigste, så man via journalen kan forstå og gentage jeres 'forsøg'.}
\p{Som alternativ til PDF kan man aflevere i direkte i Jupyter Notebooks format,
se note nederst, dog anbefales PDF over \code{.ipynb}.}
\sub{Almindelige formelle journal krav}
\itemize{
\item{Forside med information om opgaven (MUST)}
\subitem{kursus og opgaveafleveringsnavn,}
\subitem{dato,}
\subitem{ITMAL gruppe nummer,}
\subitem{liste af studerende, der bidrager (med studienummer).}
\item{Sidetal på alle sider (PDF aflv.: MUST; Jupyter Notebooks aflv.:
DONT or COULD).}
\subitem{Evt. indholdsfortegnelse (COULD).}
\item{Overskrifter på de opgaver, der svares på, ala "Qa - Lineær
regressions parametre og R2 scoren." (MUST)}
\item{Ingen cut-and-paste af tekst fra opgaveteksten (opsummer eller
omformuler i stedet opgaven med jeres egen ord i stedet) (MUST).}
\subitem{Ingen direkte genbrug af overskrifter ala "Qa - The Θ
parameters and the R2 score"(MUST), omformuler overskrifterne og gør
dem til jeres egen overskrifter, sammenfald af tekststykker dog OK.}
\subitem{Genbrug og cut-and-paste af formler og figurer fra
opgaveteksten dog OK! (COULD)}
\subitem{Essentielle plots og formler bør kopieres fra opgaveteksten og
indsættes i jeres journal (SHOULD).}
\subitem{Genbrug af enkelte kode stumper fra opgaveteksten også OK
(COULD).}
\item{Indsættelse af relevant Pyton-kode og output i figurer eller lister,
samt ref. til disse i teksten,}
\subitem{Sørg for at kode er læsbar, specielt ved rå screendumps
(MUST).}
\subitem{Forklarende figurtekster til alle figurer/lister (MUST).}
\item{En 'fornuftig' forklarende journaltekst, så resultater kan genskabes
(MUST).}
\item{Vælg mellem dansk eller engelsk journal sprog (eller norsk eller
svensk hvis du/I er nordisk(e) studerende) (MUST).}
\subitem{Skriv kun på eet sprog igennem hele journalen, dvs. bland
ikke f.eks. dansk og engelsk (MUST).}
\subitem{Brug af MANGE engelske fagudtryk, begreber og låneord i den
danske tekst: no-problem!}
}
\sub{Journal skrivning}
\p{Husk at det er en journal, ikke en rapport, der afleveres. Tekst og figurer
skal være læsbare, og indeholde tilstrækkelig information, så resultater kan
genskabes, men det behøver ikke at blive en lang udførlig rapport.}
\p{Foruden de alm. formelle journal-krav ovenfor, skal der svares på alle opgaver
undervejs. Skriv i journal, hvis i ikke kan komme igennem en delopgave, og
beskriv omhyggeligt, hvad i har forsøgt og undersøgt. Ved evt.
gen-aflevering}
\p{Mangler der en væsentlig mængde svar til underopgaver (to eller flere) eller er
journal for mangelfuldt udført (f.eks. ved generelt manglende tekst eller at
en eller flere punkter i de formelle krav er udeladt), sendes journal til
gen-aflevering.}
\sub{Genafleveringsfrist}
\p{Der er som udgangspunkt ingen tidsfrist for en gen-aflevering. Dog skal
alle journaler være godkendt til en kursusdeadline for at kurset kan
godkendes/bestås (lige omkring O4 afleveringen).}
\subsub{Note vdr. Jupyter Notebooks aflevering}
\p{Som alternativ til en almindelig PDF aflevering kan i også
aflevere direkte i \code{.ipynb} format. Dvs. at i kan lave en Jupyter
Notebook som kvalitetsmæssigt er lig en PDF afleveringen.}
\p{Med 'kvalitetsmæssigt er lig PDF' menes: overskrifter til afsnit, velformateret
tekst i markdown celler, ikke alt for store mængder kode celler direkte i
'hovedrapport', kun få korte output celler (f.eks. ingen lange listninger af
trænings iterationer), gerne plots og andre interne (embeddede i Notebook),
evt. eksterne figurer som html billeder (læg billeder på en server, så der er
public adgang, se html embedding metode i f.eks. L01/intro.ipynb). Bilag kan
placeres i slutning af Notebook, og her gælder disse kvalitetskrave ikke.}
\p{Ved aflevering i Jupyter Notebooks skal AL tekst fra opgavebeskrivelse
fjernes...og i skal skrive jeres helt egen tekst.}
\p{Brug IKKE den indbyggede PDF konverter, men aflever en kørt Notebook, og
bemærk at indlejring af eksterne billeder (png/jpg) via. html kan være
problematisk, se min metode i opgaverne.}
\p{Bemærk at det anbefales at lave en normal PDF aflevering, da det kan være
svært af få nok typografisk 'kvalitet' i en Jupyter Notebook aflevering.}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CONTENT Ekstra video materiale
Offline lektioner
Nedenfor er tilføjet ekstra lektions-materiale. Dette materiale vil ikke blive gennemgået til online lektioner.
Offline lektioner:
MMLS recap og matrix vektor notation:
opsummering af matrix og vektor notationen fra 1. semester kurset 'matematisk modellering af lineære systemer'.
Hypothesis funktionen og samling af data:
Hvordan ser en ML 'black-box' ud, hvad er input, output og navngivning generelt.
The Design matrix:
hvordan data nemmere beskrives og behandles i matrix notation.
Lineær regressor:
Mere om en simple hypothesis algoritme; en lineær regressor funktion.
Træning:
Hvordan sættes data, hypothesis funktionen, dens interne parametre og tabs-funktionen (loss/cost/objective) sammen i en simple trænings/optimerings algoritme.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\sub{Formål} %\header{Forberedelse inden kursusstart}
\p{\i{Gruppe tilmelding:} tilmeld dig til en ITMAL gruppe (find link i Brightspace!).}
\itemize{
\item{Antal studerende per grupper er = 3.}
\item{Grupper med 2 eller 1}
\item{studerende vil blive sammenlagt. Skriv til undervisere, hvis du har en gyldig grund til at være SOLO i en gruppe.}
}
\p{\i{Installation}: de obligatoriske værktøjer til ITMAL inden kursusstart (dvs.
L01).}
\p{\i{Forberedelse til L01:} Hent GIT repositories til litteraturen [GITHOML],
prøv at kører et par Jupyter Notebooks [JPYNB], og læs mere om pythons NumPy
bibliotek.}
\p{\i{Ekstra materiale til forberedelse:} optionelle python opgaver, hvis du
vil sætte dig mere ind i sproget.}
\sub{Installation}
\itemize{
\item{Installer Anaconda på din PC:}
\subitem{\link**{www.anaconda.com/products/individual, https://www.anaconda.com/products/individual}}
\subitem{vælg 'Download' (downloader direkte for Windows),}
\subitem{eller vælg Linux eller Mac, 32 eller 64 bit (dit valg),}
\subitem{nuværende nyeste Anaconda3 version er \b{2021.05}}
\item{ALTERNATIV 1:}
\subitem{brug vores ASE GPU Cluster som jupyter hub server,}
\subitem{se info in [KURSUSINFOGPU].}
\item{ALTERNATIV 2:}
\subitem{Lav en konto på Google's Colaboratory,}
\subitem{\link{https://colab.research.google.com}}
\item{Test at du kan køre jupyter notebooks [JYPYNB] fra [GITHOML], prøv f.eks. \ipynb{index.ipynb}}
}
\sub{Forberedelse til Lektion 01}
\itemize{
\item{Læs materiale i [KURSUSINFORMATION],}