diff --git a/Etc/CourseBuilder/ITMAL_E21/course.tex b/Etc/CourseBuilder/ITMAL_E21/course.tex
index d6b38b7a124c2665979335e63d17347db19d752f..90db042cb9b62a60301036e31dcb7e55ef4ace34 100644
--- a/Etc/CourseBuilder/ITMAL_E21/course.tex
+++ b/Etc/CourseBuilder/ITMAL_E21/course.tex
@@ -40,7 +40,7 @@ CONTENT Litteratur
 	\dd{[BR]}
 	\dl{
 		\dt{\i{NOTE 1:}} 
-			\dd{Dette er anden udgave (Second Edition/2.ed) af Géron's " Hands-on",	
+			\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 istedet for
 			Keras, og desuden har flere mangler.}
 
@@ -220,7 +220,8 @@ CONTENT GPU Cluster
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-Der er adgang til en GPU baseret server ifbm kurset. Serveren består af en 'master' som kan tilgås via
+Der er adgang til en GPU baseret server ifbm kurset.  Serveren består af en
+'master' som kan tilgås via
 
 \dl{
 	\dd{\link{http://gpucluster.st.lab.au.dk/}}
@@ -293,8 +294,8 @@ eller blot
 		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{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 nodebook. Se}
 
@@ -345,6 +346,232 @@ frigiver!}
 
 	\displaycode{! pkill <procesnavn>}
 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+CONTENT Kriterier for O4
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\sub{Kriterier for O4}
+
+\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 direkete 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{Heruover 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 elleropgavetekst
+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 førsø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/classifikation)?}
+        
+        \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 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,
+figure 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}
+
+\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 istedet opgaven med jeres egen ord istedet) (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 puntker 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.}
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -359,6 +586,15 @@ CONTENT L00
 
 \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 sammelagt.  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).}
 
@@ -502,11 +738,12 @@ lektioner..}
 
 \sub{Litteratur}
 
-	\displaystyle{§ Preface, p. xv [HOML] (eksklusiv fra Using Code Examples...og resten af intro	kapitlet)}
+	\displaystyle{\i{§ Preface}, p. xv [HOML] (eksklusiv fra \i{Using Code Examples}...og resten af
+	intro kapitlet)}
 	
-	\displaystyle{§ 1 The machine Learning Landscape [HOML]}
+	\displaystyle{\i{§ 1 The machine Learning Landscape} [HOML]}
 
-	\displaystyle{§ 2 End-to-End Machine Learning Project [HOML]}
+	\displaystyle{\i{§ 2 End-to-End Machine Learning Project} [HOML]}
 
 \p{Dette kapitel indeholder mange nye koncepter og en del kode.  Vi vender
 senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overblik
@@ -514,9 +751,9 @@ senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overbl
 
 \p{NÃ¥r du har installeret anaconda (se L00):}
 
-	\displaystyle{§ Scientific Python tutorials: NumPy}
+	\displaystyle{\i{§ Scientific Python tutorials: NumPy}}
 	
-	\displaystyle{tools_numpy.ipynb [GITHOML]}
+	\displaystyle{\indent{\ipynb{tools_numpy.ipynb} [GITHOML]}}
 
 \p{Læs blot, hvad du finder relevant så som 'iteration', men spring blot over
 emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og
@@ -535,7 +772,7 @@ emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og
 \enumerate{
 	\item{Diskussion om ML (indlejret i forelæsningen).}
 	\item{\b{Opgave} (introduktion): \link**{[HOME]/L01/intro.ipynb}}
-	\subitem*{HUSK DATA til intro'en (download og udpak så "dataset" dir ligger sammen med intro.ipynb): \link**{[HOME]/L01/datasets.zip}}
+	\subitem*{HUSK DATA til intro'en (download og udpak så dataset dir ligger sammen med intro.ipynb): \link**{[HOME]/L01/datasets.zip}}
 	\item{\b{Opgave} (python introduktion): \link**{[HOME]/L01/modules_and_classes.ipynb}}
 }
 
@@ -618,16 +855,19 @@ læring den pågældende algoritme har opnået på de pågældende data.}
 \sub{Litteratur}
 
 \displaystyle{
-	\i{§ 2 "End-to-End Machine Learning Project"} kapitel \i{"Select a
-	Performance Measure"}, [HOML]
+	\i{§ 2 End-to-End Machine Learning Project}, \i{Select a Performance Measure}, [HOML]
 
-	[BR] Genlæs KUN "Select a Performance Measure" (pp.39-41)
+	[BR]
+	
+	\indent{Genlæs KUN \i{Select a Performance Measure} (pp.39-41)} 
 }
 \displaystyle{
-	\i{§ 3 Classification} [HOML]}
-
-	[BR] Skim eller spring over: \i{"The ROC Curve"} (pp.97-1o0) \i{"Multilabel
-	Classification"} og \i{"Multioutput Classification"} (pp.106-108).
+	\i{§ 3 Classification} [HOML]
+	
+	[BR]	
+	
+	\indent{Skim eller spring over: \i{The ROC Curve} (pp.97-1o0) \i{Multilabel
+	Classification} og \i{Multioutput Classification} (pp.106-108).}
 }
 
 \sub{Forberedelse inden lektionen}
@@ -651,6 +891,8 @@ læring den pågældende algoritme har opnået på de pågældende data.}
 	\link**{[HOME]/L02/lesson02.pdf}
 }
 
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -663,18 +905,20 @@ CONTENT L03
 
 \sub{Formål}
 
-\p{Opsamlingslektion: vi tager et genblik på \i{§ 2 "End-to-End Machine Learning Project"}, og samler op på dette brede
-kapitel.}
+\p{Opsamlingslektion: vi tager et genblik på \i{§ 2 End-to-End Machine Learning
+Project}, og samler op på dette brede kapitel.}
 
-\p{Vi går først igang med at gennemgå \i{K-fold Cross-validation} (eller K-fold CV), for derefter at bruge \link{"The
-Map", [HOME]/Etc/ml_supervised_map.pdf} til at komme igennem alle grundliggende koncepter i \i{§ 2}.}
+\p{Vi går først igang med at gennemgå \i{K-fold Cross-validation} (eller K-fold
+CV), for derefter at bruge "\link{The Map, [HOME]/Etc/ml_supervised_map.pdf}"
+til at komme igennem alle grundliggende koncepter i \i{§ 2}.}
 
-\p{Da alle kerne-koncepter i supervised ML nu kendes, kan det hele konkret sammensættes i en samlet
-processerings-\i{pipeline}.  Programmerings-teknisk ser vi derfor til sidst på Scikit-learns Pipelines.}
+\p{Da alle kerne-koncepter i supervised ML nu kendes, kan det hele konkret
+sammensættes i en samlet processerings-\i{pipeline}.  Programmerings-teknisk
+ser vi derfor til sidst på Scikit-learns Pipelines.}
 
 \displaystyle{
 	\link{\img{[FIGS]/ml_supervised_map.png, Supervised map image.}, [HOME]/Etc/ml_supervised_map.pdf}
-	[BR] \i{Figur: \link*{Oversigtskortet for Supervised learning.,  [HOME]/Etc/ml_supervised_map.pdf}}
+	[BR] \i{Figur: \link*{Oversigtskortet for Supervised learning (The Map).,  [HOME]/Etc/ml_supervised_map.pdf}}
 }
 
 \sub{Indhold}
@@ -688,8 +932,8 @@ processerings-\i{pipeline}.  Programmerings-teknisk ser vi derfor til sidst på
 \sub{Litteratur}
 
 \enumerate{
-	\item{Genlæs: § 2 "End-to-End Machine Learning Project" [HOML]}
-		\subitem*{(eksklusiv "Create the Workspace" og "Download the Data")}
+	\item{Genlæs: \i{§ 2 End-to-End Machine Learning Project} [HOML]}
+		\subitem*{(eksklusiv \i{Create the Workspace} og \i{Download the Data})}
 	\item{Scikit's dokumentations-side vdr. k-fold CV}
 		\subitem*{\link{https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.KFold.html}}
 }
@@ -716,4 +960,454 @@ processerings-\i{pipeline}.  Programmerings-teknisk ser vi derfor til sidst på
 	\link**{[HOME]/L03/lesson03.pdf}
 }
 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+CONTENT L04 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%\header{Regression og SGD}
+
+\sub{Formål}
+
+\p{sdf}
+
+\sub{Indhold}
+
+\itemize{
+	\item{Generel genlæsning og repetition af § 2}
+	\item{K-fold Cross-validation}
+	\item{Pipelines}
+}
+
+\sub{Litteratur}
+
+\enumerate{
+	\item{\i{§ 4 End-to-End Machine Learning Project} [HOML]}
+		\subitem*{(eksklusiv \i{Create the Workspace} og \i{Download the Data})}
+}
+
+\sub{Forberedelse inden lektionen} 
+
+\itemize{
+	\item{Læs litteraturen.}
+}
+
+\sub{PÃ¥ klassen}
+
+\itemize{
+    \item{Almindelig forelæsning}
+		\subitem*{ekstra materiale: \link**{[HOME]/L03/Extra/k-fold_demo.ipynb}}
+    \item{\b{Opgave} (pipelines): \link**{[HOME]/L03/pipelines.ipynb}}
+   		\subitem*{Data til pipelines opgaven (bør lige i L03/Data/): \link**{[HOME]/L03/itmal_l01_data.pkl}}
+		\subitem*{(Du har allerede denne data-fil, hvis du pull'er fra [GITMAL])}
+}
+
+\sub{Slides}
+
+\displaystyle{
+	\link**{[HOME]/L04/lesson04.pdf}
+}
+
+
+
+
+
+
 END
+
+Formål :
+
+Vi skal se på lineær og logistisk regression, som er to helt basale metoder til
+regression og klassifikation.  De danner byggestenene for mange andre metoder,
+så det er en god start at få en grundig forståelse af begge metoder.  Metoder
+såsom SVM, neural netværk, generaliserede lineær modeller, ..  er udvidelser
+til disse to metoder.
+
+
+Emner :
+
+Lineær (til regression) og logistisk regression (til klassifikation)
+
+Cost function, closed-form vs. iterative solutions, gradient descent, learning rate
+
+
+Litteratur :
+
+Kap. 4  s. 111 - 123 + s. 142 - 148
+
+
+
+Dataanalyse
+
+Formål
+
+En vigtig forudsætning for at kunne vælge den rette machine learning metode til at løse et problem er data analyse, dvs. at få en forståelse af data ved at se på statistikker såsom middelværdi, median, varians, .. og plotte data og histogrammer. Der kan også være korrupte data som skal fjernes eller data værdier, som mangler - det skal håndteres på fornuftig vis, ellers vil man få forkerte/dårlige modeller efterfølgende.
+Emner
+
+Basale termer fra statistik (middelværdi, median, varians, histogram, korrelationskoefficient, percentiler), indledende analyse af data med plots
+
+Data cleaning, standardization / normalisation (feature scaling)
+
+Test-, trænings- og validerings-sæt
+Litteratur
+
+Kap. 2  s. 47 - 70 (især de emner der forelæses omkring) 
+
+
+
+
+
+L07: Generalisering 
+
+Modelkapacitet, under- og overfitting og generalisering
+Formål
+
+Der begyndes med at se på eksisterende ML-systemer, og vi diskuterer om
+løsningerne via ML-systemerne er veldesignede og velgennemtestede.  Herudover
+kommer der en kort "filosofisk" diskussion af ML overordnet set...(kræver ingen
+formel forberedelse fra jeres side)!
+
+Herefter gennemgår vi koncepterne under- og overfitting, der har sammenhæng med
+en ML-models såkaldte kapacitet og dens evne til at generalisere.
+
+    Generelt om ML-systemer, og klasse diskussion vdr. ML
+    Model Capacity
+    Under/overfitting
+    Generalization Error
+
+Der relateres til træning af NN's i \i{§ 11} i [HOML], som vi læser videre i til
+næste lektion...  
+
+Litteratur
+
+\i{§ Overfitting the Training Data} og \i{Underfitting the Training Data},
+pp.27-29 [HOML] i \i{§ 1} (genlæsning).
+
+\i{§ Polynomial Regression} og \i{Learning Curves}, pp128-134 [HOML] i \i{§
+4}, \i{Training Models}.
+
+\i{§ Training Deep Neural Networks} til og eksklusivt \i{Batch Normalization},
+pp 331-338 [HOML] i \i{§ 11}.
+
+[OPTIONAL]: læs videre i \i{§ 11}.  Næste gang går vi i dybden med \i{Fast
+Optimizers}, og \i{Avoiding Overfitting Through Regularization} (mens vi
+springer en del af de meget tekniske sub-kapitler over i \i{§ 11}).
+
+[OPTIONAL]: læs  \i{GPT-3 er ikke stærk AI} på Version2.dk 
+
+Opgaver Forberedelse
+
+inden lektionen
+
+Læs litteraturen
+PÃ¥ klassen
+
+        Demos + diskussion vdr ML (ingen forberedelse).
+        Exercise:
+            capacity_under_overfitting.ipynb Click for more options
+        Exercise:
+            generalization_error_v2.ipynb (v2 fixer krydshenvisningsfejl)
+
+Slides
+
+lesson07.pdf 
+
+
+
+
+L06: Neurale Net
+
+Kunstige neurale netværk
+Attached Files:
+
+    File L06_files.zip Click for more options (749.237 KB) 
+
+Formål
+
+Kunstige neurale netværk (Artificial Neural Networks, ANN) er en af de mest
+kendte machine learning modeller og har en historisk baggrund med inspiration i
+hjernen.  Vi skal se på modellen for det allermest udbredte neural netværk
+(Multi-Layer Perceptron) og se hvorledes det blot er en udvidelse af lineær og
+logistisk regression.  Vi taler også lidt om træning af neurale netværk, som
+igen er basalt set magen til de tidligere metoder (gradient descent-baseret) vi
+har set.
+
+Vi starter med øvelser i Scikit learn framework, da det er simplere og
+velkendt.  I senere uger og til jeres slutprojekt, vil det oftest give mening
+at skifte til framework Keras.  Emner
+
+Kunstige neurale netværk - model og historie, træning af netværk (cost
+function, optimeringsmetoder), grafisk illustration af netværk,
+backpropagation, Keras / Tensorflow Litteratur
+
+\i{§ 10 Introduction to Artificial Neural Networks with Keras} [HOML]
+
+fra s. 289 til s. 307 (dvs. til og eksklusiv kapitel Building a Regression MLP Using the Sequential API).
+
+
+
+
+
+L09: Deep learning og CNN's
+Content
+
+    Item
+    Deep Learning: Convolutional Neural Networks
+    Formål
+
+    Vi slutter behandlingen af neurale net af med at kigge på 'Deep-learning' og de meget populære Convolutional Neural Networks; meget brugt til processering af billeder.
+
+    Der kommer også en introduktion til brug af hardware (GPU'er og andet) i forbindelse med CNNs.
+    Indhold
+        Deep-learning,
+        CNNs (Convolutional Neural Networks),
+        Intro til GPU og andet hardware til Deep Learning.
+    Litteratur
+
+    \i{§ 14 Deep Computer Vision Using Convolutional Neural Networks} [HOML]
+
+    Spring meget gerne over kapitler med TensorFlow kode og gennemgang af meget specifikke  Net's.
+
+    Dvs.  skim eller spring over:
+
+    \i{§  TensorFlow Implementation},  pp. 453-455 [HOML]
+
+    \i{§  GoogLeNet , VGGNet, ResNet, "Xception, SENet, Implementing a
+    ResNet-34 CNN Using Keras}, pp.  463-481 [HOML]
+
+    \i{§ You Only Look Once (YOLO)} og resten af § 14, pp.489-496 [HOML].
+    
+    Opgaver
+    Forberedelse inden lektionen
+
+    Læs litteraturen.
+    PÃ¥ klassen
+
+    INGEN opgaver.
+    Slides
+
+     lesson09.pdf 
+
+
+ L10: Probabilistiske modeller
+Content
+
+    Item
+    Probabilistiske modeller
+    Attached Files:
+        File L10_filer.zip Click for more options (976.494 KB) 
+
+    Formål :
+
+    Sandsynlighedsteori danner et meget solidt fundament for machine learning og indgår i rigtigt mange sammenhænge. Selvom man godt kan bygge machine learning modeller uden særligt kendskab til sandsynlighedsregning, får I her lidt introduktion til emnet. Det vil sætte jer lidt bedre i stand til at forstå mange af de beskrivelser, som findes i fx. Scikit dokumentation og på nettet. Derudover er mange modeller direkte "probabilistiske modeller" - dvs. at de direkte modellerer data med funktioner fra sandsynlighedsteorien (såkaldte sandsynlighedsfordelinger).
+
+
+    Emner :
+
+    Introduktion til sandsynlighed i machine learning, probabilistiske classifiers, LDA/QDA, decision theory
+
+
+    Litteratur :
+
+    Følgende links kan være nyttige :
+
+    https://en.wikipedia.org/wiki/Probabilistic_classification
+
+    https://en.wikipedia.org/wiki/Naive_Bayes_classifier
+
+    https://machinelearningmastery.com/how-to-calculate-joint-marginal-and-conditional-probability/
+
+    https://machinelearningmastery.com/how-to-develop-an-intuition-for-probability-with-worked-examples/
+
+    https://scikit-learn.org/stable/modules/lda_qda.html#lda-qda 
+
+
+
+
+     
+     
+ L11: Unsupervised I - PCA
+Content
+
+    Item
+    Unsupervised learning 1 - PCA
+    Attached Files:
+        File L11_filer.zip Click for more options (2.577 MB) 
+
+    Formål :
+
+    Vi skal især se på måder at få færre features / dimensioner i vores data. Det ønsker vi fx. for at undgå overfitting af en model eller for bedre at kunne visualisere data (i 2D/3D). Det kan også være for at komprimere data mængden. Vi skal især se på metoden Principal Component Analysis (PCA).
+
+    Emner :
+
+    Supervised vs. unsupervised learning, Curse of dimensionality, dimensionsreduktion, manifold (mangfoldighed)
+
+    Principal Component Analysis (PCA)
+
+    Anvendelser - præprocessering, visualisering og kompression
+
+
+    Litteratur :
+
+    Kap. 8  s. 213- 225
+
+
+ L12: Unsupervised II - Kmeans og GMM
+Content
+
+    Item
+    Unsupervised learning 2 - Kmeans og GMM
+    Attached Files:
+        File L12_filer.zip Click for more options (840.417 KB) 
+    Yderliger i denne lektion (CEF):
+
+    ITMAL AU-kursus-evaluering...husk at svare på evalueringen inden lektionsgangen.
+
+
+    Formål :
+
+    To hovedkategorier i machine learning er unsupervised og supervised learning. Regression og klassifikation er eksempler på supervised learning - dvs. vi kan træne en model da vi har både input data (feature værdier) og output data (= target data = labels for klasser). I nogle tilfælde har vi ikke output/target data - fx.  kunne en virksomhed opsamle data fra en masse brugere af deres udstyr og være interesserede i at vide om der er nogle mønstre i disse data, som fx. nogle "clusters" (sammenhængende områder/klumper) af brugere, men uden at vide det med sikkerhed. Denne form for machine learning kaldes unsupervised learning. Vi vil især se på de to meget almindelige metoder - Kmeans og Gaussian Mixture Models (GMM), som kan benyttes til clustering af data.
+
+
+    Emner :
+
+    Clustering, distance metrics, K-means og Gaussian Mixture Model algoritmerne
+
+    Anvendelser - clustering, anomaly detection / outlier detection, density estimation
+
+
+    Litteratur :
+
+    Kapitel 9, om clustering - og især læs om K-means (s. 238-249).
+
+    Optional : Gaussian Mixture Model - s. 260-269
+
+    https://en.wikipedia.org/wiki/Cluster_analysis 
+
+    https://en.wikipedia.org/wiki/K-means_clustering
+
+    https://scikit-learn.org/stable/modules/mixture.html
+
+    https://scikit-learn.org/stable/modules/clustering.html#k-means 
+    
+    
+LXX: Poster-session
+Content
+
+    Item
+    Poster-session
+    Poster session aflyst, forår 2021!
+    Sted
+
+    Foregår på Zoom og Discord i ITMAL E20 gruppen. Først kursus-evaluering på Zoom (se link ovenfor) og derefter poster session på Discord - dvs. ren online undervisning.
+
+    Poster-session foregår ved at Carsten og Peter "går rundt" til de forskellige grupper på Discord. Hver gruppe fortæller lidt om deres arbejde udfra poster (uformelt). De andre studerende opfordres til at "følge med rundt" og høre om de andre gruppers projekter.
+    Indhold
+    i) Fælles kursusevaluering
+
+    Kursus evaluering på 'klassen': 8:15 til ca. 8:45
+    ii) Poster-session
+
+    Poster-session på 'klassen'  fra ca. 8:45.
+
+    (ca. 10 til 15 min per gruppe: Peter tager ITMAL Grp01+02+..., Carsten tager med ITMAL Grp30+29+...)
+
+    Kriterier for poster - se menupunkt om Poster 
+
+    Husk at det er obligatorisk at deltage i poster-session.
+    Forberedelse
+        Upload en JPEG (eller lign) af jeres poster på Discorden, ITMAL, i jeres #Gruppe tekst kanal.Hav en eller flere personer i gruppen klar på at give en (uformel) mundtlig præsentation af posteren.
+            Husk at jeres upload skal være i høj opløsning, f.eks. 2048 x 1048 eller højere.
+            Discord viser et formindsket billede, men der er en "Åbn original" link nede i venstre hjørne, så man kan se billede i fuld opløsning!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+O4 mundtlig præsentation og evaluering
+O4 mundtlig præsentation og evaluering
+
+Hver gruppe skal vælge en dato, og i kan vælge i dato-listen nedenfor. I skal emaile til Carsten (cef@ase.au.dk) eller Peter  (pah@ase.au.dk) om jeres valg af dato, og vi tilføjer herefter til rækkefølge-listen (med et tilføjet tidspunkt).
+
+Den mundlige evaluering foregå på Zoom. Mød gerne op i god tid på Zoom: vi bruger breakout-room til evalueringen, så i kan snakke med de andre studerende 'på gangen udenfor breakout-room' inden i 'kommer ind'.
+
+Hver gruppe vil 'komme ind' og skulle præsentere deres projekt. Det er kun underviser og gruppe som er til stede i 'lokalet' og det er her afgørende at ALLE deltagere i hver gruppe præsenterer deres individuelle bidrag til projektet.
+
+Der er afsat ialt 15 minutter til hver gruppe, hvoraf jeres egen fremlæggelse forventes at være ca 6-8 min. - herefter har underviser tid til at stille spørgsmål. 
+
+I skal ikke forberede en power point præsentation - I skal derimod hver især kort forklare om en del af projektet, som I har arbejdet med (fx. hvilken metode blev valgt, hvilke udfordringer var der, hvorfor blev denne metode valgt, noget om data analysen, etc.).
+
+Efter hver gruppes præsentation og dialogen, vil hver enkelt gruppemedlem få at vide om kurset er "bestået/ikke bestået" samt feedback på O4 rapporten. 
+
+HUSK: Check at video udstyr/webcam og mikrofon virker - det er krav for at deltage.
+Dato-listen
+
+PAH:
+
+    Fredag d. 21/5 - 8.00 - 12.00
+    Tirsdag d. 25/5 - 12.00 - 16.00
+
+CEF:
+
+    torsdag d. 20/5   (tidsrum 08:30 til 11:30) FYLDT OP
+    fredag d. 21/5      (tidsrum 10:00 til 13:00)
+    tirsdag d. 25/5    (tidsrum 08:30 til 16:00)
+    onsdag d. 26/5    (tidsrum 08:30 til 14:00)
+    torsdag d. 27/5   (tidsrum 08:30 til 16:00)
+
+Rækkefølgeliste 
+
+PAH :
+
+(ZOOM LINK for begge PAH dage :  https://aarhusuniversity.zoom.us/j/69161795618)
+
+Fredag d. 21/5 :
+
+    Kl. 8:00 - Grp 29
+    Kl. 8:15 - Grp 24
+    Kl. 8:30 - Grp 31
+    Kl. 8:45 - Grp 27
+    Kl. 9:00 - Grp 13
+    Kl. 9:15 - Grp 2
+    Kl. 9:30 - Grp 34  
+    Kl. 10:00 - Grp 7
+
+Tirsdag d. 25/5 :
+
+    Kl. 12:00 - Grp 4 
+    Kl. 12:15 - Grp 33
+    Kl. 12:30 - Grp 15
+    Kl. 12:45 - Grp 30
+    Kl. 13:00 - Grp 6  
+    Kl. 13:15 - Grp 16
+    Kl. 13:30 - Grp 41
+    Kl. 13:45 - Grp 12
+    Kl. 14:00 - Grp 3
+    Kl. 14:15 - Grp 20
+    Kl. 14:30 - Grp 35    
+
+(CEF: se nedenfor)
\ No newline at end of file
diff --git a/Etc/CourseBuilder/ITMAL_E21/plan.txt b/Etc/CourseBuilder/ITMAL_E21/plan.txt
index 8f863ee360b9611cd427861a5924b5993bb3c2d5..6f46cc7cc778c15e1edb27c9e66ad40654000371 100644
--- a/Etc/CourseBuilder/ITMAL_E21/plan.txt
+++ b/Etc/CourseBuilder/ITMAL_E21/plan.txt
@@ -13,8 +13,8 @@ CONTENT
 	43		|29/10-2021	|L08		|Neurale netværk (NN)					|			|
 	44		|05/11-2021	|L09		|Deep learning (CNN)					|			|
 	45		|12/11-2021	|L10		|Frameworks og hardware 				|O3 (12/11)	|
-	46		|19/11-2021	|L11		|Unsupervised learning  I  (PCA)		|			|
-	47		|26/11-2021	|L12		|Unsupervised learnindg II (Kmeans,GMM)	|			|Kursus-evaluering
+	46		|19/11-2021	|L11		|Unsupervised learning  I (PCA)			|			|
+	47		|26/11-2021	|L12		|Unsupervised learning II (Kmeans,GMM)	|			|Kursus-evaluering
 	48		|03/12-2021	|L13		|O4 projekt								|			|
 	49		|10/12-2021	|L14		|O4	projekt								|			|
 	50		|17/12-2021	|L15		|O4	projekt								|O4	(19/05) |
diff --git a/Etc/CourseBuilder/Makefile b/Etc/CourseBuilder/Makefile
index 4b93711554f7306947a05f1a5e3002b56101cd06..35ffa789bc138251e1af83d87bf70ab1a6e26a10 100644
--- a/Etc/CourseBuilder/Makefile
+++ b/Etc/CourseBuilder/Makefile
@@ -11,7 +11,7 @@ MKDIFF=colordiff -dw Refs/$1 $1 && echo "DIFF OK" && rm $1
 sync: build
 	@ echo "SYNC.."
 	@ ssh si "cd ITMAL_E21 && rm -f Html/*.html && git pull"
-	@ cd ../../ && scp -q -C -r Html si:ITMAL_E21/
+	@ cd ../../ && scp  -q -C -r Html si:ITMAL_E21/
 	@ echo "SYNC..DONE"
 	
 build:
@@ -30,7 +30,7 @@ test:
 	@ $(call MKDIFF,tree.html)
 
 edit:
-	joe $(PYCOURSE)
+	joe course.tex #joe $(PYCOURSE)
 	
 clean:
 	@ rm -f index.html out.html test.html ../Html/L??.html 
diff --git a/Etc/CourseBuilder/mk_course.py b/Etc/CourseBuilder/mk_course.py
index ff7e487df7f666b34d7720e4e40526dd45757d9e..7344425670b48d49a4af57bba3bdb8785d7e0f76 100755
--- a/Etc/CourseBuilder/mk_course.py
+++ b/Etc/CourseBuilder/mk_course.py
@@ -163,7 +163,7 @@ if __name__ == '__main__':
 	
 		@staticmethod	
 		def __isCmd(c):			
-			return isStr(c) in  ["b", "i", "p", "pre", "dl", "dt", "dd", "em", "itemize", "enumerate", "item", "item*", "subitem", "subitem*", "header", "sub", "indent", "code", "ipynb", "quote", "displaystyle", "displaycode", "cite"]
+			return isStr(c) in  ["b", "i", "p", "pre", "dl", "dt", "dd", "em", "itemize", "enumerate", "item", "item*", "subitem", "subitem*", "header", "sub", "subsub", "indent", "code", "ipynb", "quote", "displaystyle", "displaycode", "cite"]
 
 		def __MkCmd(self):
 
@@ -219,6 +219,8 @@ if __name__ == '__main__':
 					c = "h2"
 				elif c=="sub":
 					c = "h3"
+				elif c=="subsub":
+					c = "h4"
 				elif c=="em":
 					c = "i" 
 				elif c=="displaystyle":
diff --git a/Html/GPU_Cluster.html b/Html/GPU_Cluster.html
index 6d760423b0f55058858d160d061aaccea5865107..c812ab1bb8842aebb1cdc0740451b9b1492483f9 100644
--- a/Html/GPU_Cluster.html
+++ b/Html/GPU_Cluster.html
@@ -7,7 +7,8 @@
 
 
 
-Der er adgang til en GPU baseret server ifbm kurset. Serveren består af en &#x27;master&#x27; som kan tilgås via
+Der er adgang til en GPU baseret server ifbm kurset.  Serveren består af en
+&#x27;master&#x27; som kan tilgås via
 
 <dl>
 <dd><span style='font-family: courier new, courier;'><a href='http://gpucluster.st.lab.au.dk/'>gpucluster.st.lab.au.dk/</a></span>
@@ -80,8 +81,8 @@ from libitmal import kernelfuns as itmalkernelfuns
 itmalkernelfuns.EnableGPU()
 </code></pre>
 
-<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>
+<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>
 
 <p>Der kører nu et automatisk startup-script når i logger ind/åbner en nodebook. Se</p>
 
@@ -136,5 +137,6 @@ frigiver!</p>
 
 
 
+
 </body>
 </html>
\ No newline at end of file
diff --git a/Html/L00.html b/Html/L00.html
index a98793763c53b595aace120a42699dafa8d6cba5..8a6d945cac271790f15f00199203fa942283b78d 100644
--- a/Html/L00.html
+++ b/Html/L00.html
@@ -13,6 +13,15 @@
 
 <p><i>Gruppe tilmelding:</i> tilmeld dig til en ITMAL gruppe (find link i Brightspace!).</p>
 
+<ul>
+<li>Antal studerende per grupper er = 3.</li>
+
+<li>Grupper med 2 eller 1</li>
+
+<li>studerende vil blive sammelagt.  Skriv til undervisere, hvis du har
+en gyldig grund til at være SOLO i en gruppe.</li>
+</ul>
+
 <p><i>Installation</i>: de obligatoriske værktøjer til ITMAL inden kursusstart (dvs.
 L01).</p>
 
diff --git a/Html/L01.html b/Html/L01.html
index bcf56aa554cf9d2d06b51545ac50db010cbd7912..982052b977009678b5c183070544eb2ba7d954f6 100644
--- a/Html/L01.html
+++ b/Html/L01.html
@@ -71,11 +71,12 @@ bidrag.</li>
 
 <h3>Litteratur</h3>
 
-<p style='margin-left: 30px;'>§ Preface, p. xv <span style='font-family: courier new, courier;'>[HOML]</span> (eksklusiv fra Using Code Examples...og resten af intro kapitlet)</p>
+<p style='margin-left: 30px;'><i>§ Preface</i>, p. xv <span style='font-family: courier new, courier;'>[HOML]</span> (eksklusiv fra <i>Using Code Examples</i>...og resten af
+intro kapitlet)</p>
 
-<p style='margin-left: 30px;'>§ 1 The machine Learning Landscape <span style='font-family: courier new, courier;'>[HOML]</span></p>
+<p style='margin-left: 30px;'><i>§ 1 The machine Learning Landscape</i> <span style='font-family: courier new, courier;'>[HOML]</span></p>
 
-<p style='margin-left: 30px;'>§ 2 End-to-End Machine Learning Project <span style='font-family: courier new, courier;'>[HOML]</span></p>
+<p style='margin-left: 30px;'><i>§ 2 End-to-End Machine Learning Project</i> <span style='font-family: courier new, courier;'>[HOML]</span></p>
 
 <p>Dette kapitel indeholder mange nye koncepter og en del kode.  Vi vender
 senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overblik
@@ -83,9 +84,9 @@ senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overbl
 
 <p>NÃ¥r du har installeret anaconda (se L00):</p>
 
-<p style='margin-left: 30px;'>§ Scientific Python tutorials: NumPy</p>
+<p style='margin-left: 30px;'><i>§ Scientific Python tutorials: NumPy</i></p>
 
-<p style='margin-left: 30px;'>tools_numpy.ipynb <span style='font-family: courier new, courier;'>[GITHOML]</span></p>
+<p style='margin-left: 30px;'><span style='margin-left: 30px;'><span style='font-family: courier new, courier;'>tools_numpy.ipynb</span> <span style='font-family: courier new, courier;'>[GITHOML]</span></span></p>
 
 <p>Læs blot, hvad du finder relevant så som &#x27;iteration&#x27;, men spring blot over
 emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stacking arrays&#x27; og
@@ -104,7 +105,7 @@ emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stac
 <ol type='i'>
 <li>Diskussion om ML (indlejret i forelæsningen).</li>
 <li><b>Opgave</b> (introduktion): <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/intro.ipynb'>intro.ipynb</a></span></li>
-<dl><dd>HUSK DATA til intro&#x27;en (download og udpak så &quot;dataset&quot; dir ligger sammen med intro.ipynb): <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/datasets.zip'>datasets.zip</a></span></dd></dl>
+<dl><dd>HUSK DATA til intro&#x27;en (download og udpak så dataset dir ligger sammen med intro.ipynb): <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/datasets.zip'>datasets.zip</a></span></dd></dl>
 <li><b>Opgave</b> (python introduktion): <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/modules_and_classes.ipynb'>modules_and_classes.ipynb</a></span></li>
 </ol>
 
diff --git a/Html/Litteratur.html b/Html/Litteratur.html
index 435e79fe04d44005bce6a06e858ba1a087f210f5..04dd3b264aac62ed4db21cbc29d874292781b1ce 100644
--- a/Html/Litteratur.html
+++ b/Html/Litteratur.html
@@ -22,7 +22,7 @@
 <dd><br>
 <dl>
 <dt><i>NOTE 1:</i>
-<dd>Dette er anden udgave (Second Edition/2.ed) af Géron&#x27;s &quot; Hands-on&quot;,
+<dd>Dette er anden udgave (Second Edition/2.ed) af Géron&#x27;s <i>Hands-on</i>,
 undgå at bruge førsteudgaven, idet den benytter TensorFlow direkte istedet for
 Keras, og desuden har flere mangler.
 
diff --git a/Html/filetree.html b/Html/filetree.html
index 70a2cd9c8516edbc54748e3f89efe612539c53c5..4e48c4e051ace539f362696e5f5acd59f71b26ab 100644
--- a/Html/filetree.html
+++ b/Html/filetree.html
@@ -34,11 +34,14 @@
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Figs/ml_supervised_map.png'>ml_supervised_map.png</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Dokumentation_og_links.html'>Dokumentation_og_links.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/GPU_Cluster.html'>GPU_Cluster.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Journal_afleveringsformat.html'>Journal_afleveringsformat.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Kriterier_for_O4.html'>Kriterier_for_O4.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Kursusforkortelser.html'>Kursusforkortelser.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/L00.html'>L00.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/L01.html'>L01.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/L02.html'>L02.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/L03.html'>L03.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/L04.html'>L04.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/Litteratur.html'>Litteratur.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/filetree.html'>filetree.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Etc/CourseBuilder/Html/plan.html'>plan.html</a><br></span>
@@ -79,11 +82,14 @@
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Figs/ml_supervised_map.png'>ml_supervised_map.png</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Dokumentation_og_links.html'>Dokumentation_og_links.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/GPU_Cluster.html'>GPU_Cluster.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Journal_afleveringsformat.html'>Journal_afleveringsformat.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Kriterier_for_O4.html'>Kriterier_for_O4.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Kursusforkortelser.html'>Kursusforkortelser.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/L00.html'>L00.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/L01.html'>L01.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/L02.html'>L02.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/L03.html'>L03.html</a><br></span>
+<span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/L04.html'>L04.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/Litteratur.html'>Litteratur.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/filetree.html'>filetree.html</a><br></span>
 <span style="font-family: 'courier new', courier, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;<a href='https://itundervisning.ase.au.dk/ITMAL_E21/Html/plan.html'>plan.html</a><br></span>
diff --git a/Html/plan.html b/Html/plan.html
index c4944fde973e218e907995fcbc063113ee33e1fd..eba9418e4e21c997505c10c714f0968b63d28fd8 100644
--- a/Html/plan.html
+++ b/Html/plan.html
@@ -98,14 +98,14 @@ Lokale: 5106-110<br>
 <td width="40">46</td>
 <td width="110">19/11-2021</td>
 <td width="20">L11</td>
-<td width="200">Unsupervised learning  I  (PCA)</td>
+<td width="200">Unsupervised learning  I (PCA)</td>
 <td width="90"></td>
 <td width="150"></td>
 </tr><tr align="center">
 <td width="40">47</td>
 <td width="110">26/11-2021</td>
 <td width="20">L12</td>
-<td width="200">Unsupervised learnindg II (Kmeans,GMM)</td>
+<td width="200">Unsupervised learning II (Kmeans,GMM)</td>
 <td width="90"></td>
 <td width="150">Kursus-evaluering</td>
 </tr><tr align="center">