Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Model Evaluering | Neuralt Netværk fra Bunden
Introduktion til neurale netværk

bookModel Evaluering

Opdeling af data

Efter træning af et neuralt netværk er det vigtigt at evaluere, hvor godt det præsterer på usete data. Denne evaluering hjælper med at afgøre, om modellen har lært meningsfulde mønstre eller blot har husket træningseksemplerne. For at gøre dette opdeles datasættet i to dele:

  • Træningssæt — bruges til at træne det neurale netværk ved at justere dets vægte og bias gennem backpropagation;
  • Test-sæt — bruges efter træning til at evaluere, hvor godt modellen generaliserer til nye, usete data.

En almindelig opdeling er 80% til træning og 20% til test, selvom dette forhold kan variere afhængigt af datasættets størrelse og kompleksitet.

Opdelingen af data udføres typisk ved hjælp af funktionen train_test_split() fra modulet sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Parameteren test_size bestemmer andelen af data, der reserveres til test. For eksempel betyder test_size=0.1, at 10% af dataene bruges til test, mens 90% bruges til træning.

Hvis modellen præsterer godt på træningssættet, men dårligt på test-sættet, kan det være et tegn på overfitting — at modellen lærer mønstre, der er for specifikke for træningsdataene i stedet for at generalisere til nye eksempler. Målet er at opnå stærk præstation på begge datasæt for at sikre, at modellen generaliserer godt.

Når dataene er opdelt og modellen er trænet, bør præstationen måles ved hjælp af passende evalueringsmetrikker, som afhænger af den specifikke klassifikationsopgave.

Klassifikationsmetrikker

For klassifikationsproblemer kan flere centrale metrikker anvendes til at evaluere modellens forudsigelser:

  • Nøjagtighed;
  • Præcision;
  • Recall;
  • F1-score.

Da en perceptron udfører binær klassifikation, vil oprettelse af en forvekslingsmatrix hjælpe dig med at forstå disse metrikker bedre.

Note
Definition

En forvekslingsmatrix er en tabel, der opsummerer modellens klassifikationspræstation ved at sammenligne de forudsagte etiketter med de faktiske etiketter. Den giver indsigt i antallet af korrekte og forkerte forudsigelser for hver klasse (1 og 0).

Nøjagtighed måler andelen af korrekt klassificerede prøver ud af det samlede antal. Hvis en model korrekt klassificerer 90 ud af 100 billeder, er dens nøjagtighed 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Selvom nøjagtighed er nyttig, giver den ikke altid et fuldstændigt billede—særligt for ubalancerede datasæt. For eksempel, i et datasæt hvor 95% af prøverne tilhører én klasse, kan en model opnå 95% nøjagtighed blot ved altid at forudsige majoritetsklassen—uden faktisk at lære noget brugbart. I sådanne tilfælde kan præcision, recall eller F1-score være mere informative.

Præcision er procentdelen af korrekt forudsagte positive tilfælde ud af alle forudsagte positive. Denne måling er især nyttig, når falske positiver er dyre, såsom ved spamdetektion eller bedrageridetektion.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (sensitivitet) måler, hvor mange af de faktiske positive tilfælde modellen korrekt identificerer. En høj recall er afgørende i scenarier, hvor falske negativer skal minimeres, såsom medicinske diagnoser.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score er det harmoniske gennemsnit af præcision og recall, hvilket giver et balanceret mål, når både falske positiver og falske negativer er vigtige. Dette er nyttigt, når datasættet er ubalanceret, hvilket betyder, at én klasse forekommer væsentligt oftere end den anden.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Hvad er hovedformålet med at opdele dit datasæt i trænings- og testdatasæt?

2. Hvorfor kan F1-score foretrækkes frem for nøjagtighed på et ubalanceret datasæt?

question mark

Hvad er hovedformålet med at opdele dit datasæt i trænings- og testdatasæt?

Select the correct answer

question mark

Hvorfor kan F1-score foretrækkes frem for nøjagtighed på et ubalanceret datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 11

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain what a confusion matrix is and how to interpret it?

How do I choose which evaluation metric to use for my classification problem?

Can you give examples of when to prioritize precision over recall, or vice versa?

Awesome!

Completion rate improved to 4

bookModel Evaluering

Stryg for at vise menuen

Opdeling af data

Efter træning af et neuralt netværk er det vigtigt at evaluere, hvor godt det præsterer på usete data. Denne evaluering hjælper med at afgøre, om modellen har lært meningsfulde mønstre eller blot har husket træningseksemplerne. For at gøre dette opdeles datasættet i to dele:

  • Træningssæt — bruges til at træne det neurale netværk ved at justere dets vægte og bias gennem backpropagation;
  • Test-sæt — bruges efter træning til at evaluere, hvor godt modellen generaliserer til nye, usete data.

En almindelig opdeling er 80% til træning og 20% til test, selvom dette forhold kan variere afhængigt af datasættets størrelse og kompleksitet.

Opdelingen af data udføres typisk ved hjælp af funktionen train_test_split() fra modulet sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Parameteren test_size bestemmer andelen af data, der reserveres til test. For eksempel betyder test_size=0.1, at 10% af dataene bruges til test, mens 90% bruges til træning.

Hvis modellen præsterer godt på træningssættet, men dårligt på test-sættet, kan det være et tegn på overfitting — at modellen lærer mønstre, der er for specifikke for træningsdataene i stedet for at generalisere til nye eksempler. Målet er at opnå stærk præstation på begge datasæt for at sikre, at modellen generaliserer godt.

Når dataene er opdelt og modellen er trænet, bør præstationen måles ved hjælp af passende evalueringsmetrikker, som afhænger af den specifikke klassifikationsopgave.

Klassifikationsmetrikker

For klassifikationsproblemer kan flere centrale metrikker anvendes til at evaluere modellens forudsigelser:

  • Nøjagtighed;
  • Præcision;
  • Recall;
  • F1-score.

Da en perceptron udfører binær klassifikation, vil oprettelse af en forvekslingsmatrix hjælpe dig med at forstå disse metrikker bedre.

Note
Definition

En forvekslingsmatrix er en tabel, der opsummerer modellens klassifikationspræstation ved at sammenligne de forudsagte etiketter med de faktiske etiketter. Den giver indsigt i antallet af korrekte og forkerte forudsigelser for hver klasse (1 og 0).

Nøjagtighed måler andelen af korrekt klassificerede prøver ud af det samlede antal. Hvis en model korrekt klassificerer 90 ud af 100 billeder, er dens nøjagtighed 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Selvom nøjagtighed er nyttig, giver den ikke altid et fuldstændigt billede—særligt for ubalancerede datasæt. For eksempel, i et datasæt hvor 95% af prøverne tilhører én klasse, kan en model opnå 95% nøjagtighed blot ved altid at forudsige majoritetsklassen—uden faktisk at lære noget brugbart. I sådanne tilfælde kan præcision, recall eller F1-score være mere informative.

Præcision er procentdelen af korrekt forudsagte positive tilfælde ud af alle forudsagte positive. Denne måling er især nyttig, når falske positiver er dyre, såsom ved spamdetektion eller bedrageridetektion.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (sensitivitet) måler, hvor mange af de faktiske positive tilfælde modellen korrekt identificerer. En høj recall er afgørende i scenarier, hvor falske negativer skal minimeres, såsom medicinske diagnoser.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score er det harmoniske gennemsnit af præcision og recall, hvilket giver et balanceret mål, når både falske positiver og falske negativer er vigtige. Dette er nyttigt, når datasættet er ubalanceret, hvilket betyder, at én klasse forekommer væsentligt oftere end den anden.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Hvad er hovedformålet med at opdele dit datasæt i trænings- og testdatasæt?

2. Hvorfor kan F1-score foretrækkes frem for nøjagtighed på et ubalanceret datasæt?

question mark

Hvad er hovedformålet med at opdele dit datasæt i trænings- og testdatasæt?

Select the correct answer

question mark

Hvorfor kan F1-score foretrækkes frem for nøjagtighed på et ubalanceret datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 11
some-alt