Aktivitet 4 er en fortsættlse af eksemplet om "slow learning" og kan derfor springes over.
Aktivitet 1 - Krydsvalidering
Start med at se denne video som handler om krydsvalidering (eksemplet i videoen handler om polynomier, men det er principperne omkring træningsdata, testdata og krydsvalidering, som du skal hæfte dig ved):
Opgave 1: Arbejdsspørgsmål til videoen
Hvad betyder træningsdata og testdata?
Forklar krydsvalidering med dine egne ord.
Hvorfor er det vigtigt at teste en model på data, som ikke er brugt i forbindelse med træning af modellen?
Træn en kunstig neuron med de samme indstillinger, som du havde i opgave 3 i del 4, men sæt startvægtene til \(0\) og sæt antal iterationer til \(10000\). Tryk på "Kør modellen" og tryk derefter på "Næste."
Under fanen "Krydsvalidering" beholder du antal fold på \(5\) og trykker på "Kør!" (det tager lige lidt tid).
Sammenlign klassifikationsnøjagtigheden (CA) under fanen "Træning" (som er baseret på træningsdatasættet) med CA under fanen "Krydsvalidering", som er baseret på \(5\)-folds krydsvalidering. Som du sikkert har set, vil CA oftest blive lavere ved krydsvalideringen end ved at træne på hele datasættet – forklar hvorfor det er tilfældet.
Når man laver \(5\)-folds krydsvalidering, laves inddelingen i foldene tilfældigt. Prøv derfor at trykke "Kør!" flere gange, og du vil formentlig se, at CA ændrer sig.
Aktivitet 2 - Modeludvælgelse
Se denne video, som handler om overfitting (igen handler eksemplet i videoen om polynomier, men det er princippet omkring overfitting, som du skal hæfte dig ved):
Opgave 3: Arbejdsspørgsmål til videoen
Forklar overfitting med dine egne ord.
Kan du nu mere præcist forklare, hvorfor det er vigtigt at teste en model på data, som ikke er brugt i forbindelse med træning af modellen?
I eksemplet med Good Food app’en er der også en risiko for, at vi har overfittet. Det kan for eksempel være, at en eller flere af inputvariablene faktisk ikke bidrager til klassifikationsnøjagtigheden, men i virkeligheden bare er støj. Det vil vi undersøge i den næste opgave.
Opgave 4: Overfitting
Vi vil undersøge, hvad der sker, hvis vi på skift fjerner én af de tre inputvariable.
Brug neuron app’en med samme indstillinger som i opgave 2. Du fjerner variable under fanen "Variable", kører modellen igen under fanen "Træning" og laver \(5\)-folds krydsvalidering under fanen "Krydsvalidering".
Udfyld nedenstående tabel.
Forklaring: Med CA (på træningsdata) menes den værdi for klassifikationsnøjagtigheden, som man får, når man bruger samme datasæt til både at træne og teste på (denne værdi kan ses under fanen "Træning"). Med CA1-CA5 menes de værdier af klassifikationsnøjagtigheden (baseret på krydsvalidering), som man får, når man kører krydsvalidering fem forskellige gange uden at ændre på indstillingerne (under fanen "Krydsvalidering").
Inputvariable
CA (på træningsdata)
CA1
CA2
CA3
CA4
CA5
{Alder, Forbrug, Kon}
{Alder, Forbrug}
{Alder, Kon}
{Forbrug, Kon}
Forklar hvorfor CA (på træningsdata) er størst, når alle tre inputvariable er med i modellen.
Vil du på baggrund af CA1-CA5 mene, at der er én af de tre inputvariable, som kan undværes i modellen. Med andre ord: Er der tegn på, at vi har overfittet ved at bruge alle tre inputvariable?
Aktivitet 3 - Prædiktion
Du har nu fundet en model, som du mener, kan bruges til at prædiktere, om en fremtidig kunde vil aktivere et tilbud eller ej. I den næste opgave vil vi afprøve den.
Husk først på, hvordan vi beregner outputværdien \(o\) ved hjælp af sigmoid-funktionen:
Notér \(w_0\), \(w_1\), \(w_2\) og \(w_3\) for din endelige model.
Og byd så velkommen til otte nye "Good Food" kunder!
Kunde
Alder
Forbrug
Køn
Ditte
32
1100
Kvinde
Helena
32
2500
Kvinde
Susanne
60
2500
Kvinde
Helle
60
3500
Kvinde
Rasmus
32
1100
Mand
Mikkel
32
2500
Mand
Henrik
60
2500
Mand
Jan
60
3500
Mand
Udregn for hver af de otte nye kunder sandsynligheden for, at de hver især aktiverer "Good Food"s tilbud.
Hvilke af kunderne vil du vælge at præsentere tilbuddet for, og hvilke kunder skal ikke se tilbuddet?
Find dit GeoGebra plot med linje for kvinderne frem. Passer det sådan, at de kvinder, du vil præsentere tilbuddet for, svarer til, at deres punkter ligger over linjer? Tilsvarende for mændene.
Aktivitet 4 - Slow learning
I opgave 8 i del 4 bestemte vi vægtene for to forskellige minima for tabsfunktionen. På det tidspunkt konkludererede vi på baggrund af CA (på træningsdata), at der ikke var nogen forskel på de to modeller. Vi vil nu lave sammenligningen baseret på krydsvalidering.
Opgave 6: To minima - er der forskel?
Brug neuron app’en, hvor startvægtene er sat til \(0\) og antal iterationer til \(10000\). Under fanen "Krydsvalidering" trykker du på "Kør!" fem gange og nedskriver de fem værdier for klassifikationsnøjagtigheden baseret på \(5\)-folds krydsvalidering.
Gentag ovenstående men med startvægte på \(10\) og antal iterationer på \(200000\) (det kræver lidt tålmodighed!). Udfyld nedenstående tabel:
Start-vægte
Antal iterationer
CA1
CA2
CA3
CA4
CA5
\(0\)
\(10000\)
\(10\)
\(200000\)
Vil du stadig sige, at de to modeller er lige gode?