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

Når et neuralt netværk er trænet, skal vi have en metode til at evaluere dets ydeevne på usete data. Dette hjælper os med at forstå, om modellen faktisk har lært nyttige mønstre, eller om den blot har husket træningsdataene. For at opnå dette opdeles datasættet i to dele:

  • Træningssæt: denne del af dataene bruges til at træne det neurale netværk, så det kan justere vægte og bias gennem backpropagation;
  • Testsæt: efter træning evalueres modellen på dette separate datasæt for at måle, hvor godt den generaliserer til nye, usete eksempler.

En typisk opdeling er 80% træning / 20% test, men dette kan variere afhængigt af datasættets størrelse og kompleksitet.

Opdeling i trænings- og testsæt 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 angiver andelen af datasættet, der skal bruges som testsæt. For eksempel betyder test_size=0.1, at 10% af dataene bruges til test, mens de resterende 90% bruges til træning.

Hvis en model klarer sig godt på træningsdataene, men dårligt på testdataene, kan den være overfittet, hvilket betyder, at den har husket træningssættet i stedet for at lære generaliserbare mønstre. Målet er at opnå høj testnøjagtighed og samtidig bevare god generalisering.

Når modellen er trænet, skal vi kvantificere dens ydeevne ved hjælp af metrikker. Valget af metrik 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 svindeldetektion.

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 situationer, 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

Awesome!

Completion rate improved to 4

bookModel Evaluering

Stryg for at vise menuen

Opdeling af data

Når et neuralt netværk er trænet, skal vi have en metode til at evaluere dets ydeevne på usete data. Dette hjælper os med at forstå, om modellen faktisk har lært nyttige mønstre, eller om den blot har husket træningsdataene. For at opnå dette opdeles datasættet i to dele:

  • Træningssæt: denne del af dataene bruges til at træne det neurale netværk, så det kan justere vægte og bias gennem backpropagation;
  • Testsæt: efter træning evalueres modellen på dette separate datasæt for at måle, hvor godt den generaliserer til nye, usete eksempler.

En typisk opdeling er 80% træning / 20% test, men dette kan variere afhængigt af datasættets størrelse og kompleksitet.

Opdeling i trænings- og testsæt 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 angiver andelen af datasættet, der skal bruges som testsæt. For eksempel betyder test_size=0.1, at 10% af dataene bruges til test, mens de resterende 90% bruges til træning.

Hvis en model klarer sig godt på træningsdataene, men dårligt på testdataene, kan den være overfittet, hvilket betyder, at den har husket træningssættet i stedet for at lære generaliserbare mønstre. Målet er at opnå høj testnøjagtighed og samtidig bevare god generalisering.

Når modellen er trænet, skal vi kvantificere dens ydeevne ved hjælp af metrikker. Valget af metrik 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 svindeldetektion.

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 situationer, 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