Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Modellvurdering | Nevralt Nettverk fra Bunnen Av
Introduksjon til nevrale nettverk

bookModellvurdering

Delt datasett

Etter at et nevralt nettverk er trent, er det avgjørende å evaluere hvor godt det presterer på usett data. Denne evalueringen hjelper med å avgjøre om modellen har lært meningsfulle mønstre eller bare har husket treningsdataene. For å gjøre dette deles datasettet i to deler:

  • Treningssett — brukes til å trene det nevrale nettverket ved å justere vekter og bias gjennom tilbakepropagering;
  • Testsett — brukes etter trening for å evaluere hvor godt modellen generaliserer til ny, usett data.

En vanlig fordeling er 80 % til trening og 20 % til testing, selv om dette forholdet kan variere avhengig av datasettets størrelse og kompleksitet.

Datasplittingen utføres vanligvis med funksjonen train_test_split() fra modulen 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 data som reserveres til testing. For eksempel betyr test_size=0.1 at 10 % av dataene brukes til testing, mens 90 % brukes til trening.

Hvis modellen presterer godt på treningssettet, men dårlig på testsettet, kan det tyde på overtilpasning — at modellen lærer mønstre som er for spesifikke for treningsdataene i stedet for å generalisere til nye eksempler. Målet er å oppnå sterk ytelse på begge datasett, slik at modellen generaliserer godt.

Når dataene er delt og modellen er trent, bør ytelsen måles med passende evalueringsmetrikker, som avhenger av den spesifikke klassifiseringsoppgaven.

Klassifiseringsmetrikker

For klassifiseringsproblemer kan flere sentrale metrikker brukes for å evaluere modellens prediksjoner:

  • Nøyaktighet;
  • Presisjon;
  • Recall;
  • F1-score.

Siden en perseptron utfører binær klassifisering, vil det å lage en forvirringsmatrise hjelpe deg å forstå disse metrikkene bedre.

Note
Definisjon

En forvirringsmatrise er en tabell som oppsummerer modellens klassifiseringsytelse ved å sammenligne de predikerte etikettene med de faktiske etikettene. Den gir innsikt i antall riktige og gale prediksjoner for hver klasse (1 og 0).

Nøyaktighet måler andelen korrekt klassifiserte prøver av det totale antallet. Hvis en modell korrekt klassifiserer 90 av 100 bilder, er nøyaktigheten 90%.

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

Selv om nøyaktighet er nyttig, gir det ikke alltid et fullstendig bilde—spesielt for ubalanserte datasett. For eksempel, i et datasett der 95% av prøvene tilhører én klasse, kan en modell oppnå 95% nøyaktighet bare ved å alltid forutsi majoritetsklassen—uten å faktisk lære noe nyttig. I slike tilfeller kan presisjon, recall eller F1-score være mer informative.

Presisjon er prosentandelen korrekt predikerte positive tilfeller av alle predikerte positive. Dette målet er spesielt nyttig når falske positiver er kostbare, som ved spamdeteksjon eller svindeldeteksjon.

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 av de faktiske positive tilfellene modellen korrekt identifiserer. Høy recall er avgjørende i situasjoner der falske negativer må minimeres, som ved medisinske 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 gjennomsnittet av presisjon og tilbakekalling, og gir et balansert mål når både falske positiver og falske negativer er viktige. Dette er nyttig når datasettet er ubalansert, det vil si at én klasse forekommer betydelig oftere enn den andre.

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

1. Hva er hovedformålet med å dele datasettet inn i trenings- og testsett?

2. Hvorfor kan F1-score være å foretrekke fremfor nøyaktighet på et ubalansert datasett?

question mark

Hva er hovedformålet med å dele datasettet inn i trenings- og testsett?

Select the correct answer

question mark

Hvorfor kan F1-score være å foretrekke fremfor nøyaktighet på et ubalansert datasett?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 11

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookModellvurdering

Sveip for å vise menyen

Delt datasett

Etter at et nevralt nettverk er trent, er det avgjørende å evaluere hvor godt det presterer på usett data. Denne evalueringen hjelper med å avgjøre om modellen har lært meningsfulle mønstre eller bare har husket treningsdataene. For å gjøre dette deles datasettet i to deler:

  • Treningssett — brukes til å trene det nevrale nettverket ved å justere vekter og bias gjennom tilbakepropagering;
  • Testsett — brukes etter trening for å evaluere hvor godt modellen generaliserer til ny, usett data.

En vanlig fordeling er 80 % til trening og 20 % til testing, selv om dette forholdet kan variere avhengig av datasettets størrelse og kompleksitet.

Datasplittingen utføres vanligvis med funksjonen train_test_split() fra modulen 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 data som reserveres til testing. For eksempel betyr test_size=0.1 at 10 % av dataene brukes til testing, mens 90 % brukes til trening.

Hvis modellen presterer godt på treningssettet, men dårlig på testsettet, kan det tyde på overtilpasning — at modellen lærer mønstre som er for spesifikke for treningsdataene i stedet for å generalisere til nye eksempler. Målet er å oppnå sterk ytelse på begge datasett, slik at modellen generaliserer godt.

Når dataene er delt og modellen er trent, bør ytelsen måles med passende evalueringsmetrikker, som avhenger av den spesifikke klassifiseringsoppgaven.

Klassifiseringsmetrikker

For klassifiseringsproblemer kan flere sentrale metrikker brukes for å evaluere modellens prediksjoner:

  • Nøyaktighet;
  • Presisjon;
  • Recall;
  • F1-score.

Siden en perseptron utfører binær klassifisering, vil det å lage en forvirringsmatrise hjelpe deg å forstå disse metrikkene bedre.

Note
Definisjon

En forvirringsmatrise er en tabell som oppsummerer modellens klassifiseringsytelse ved å sammenligne de predikerte etikettene med de faktiske etikettene. Den gir innsikt i antall riktige og gale prediksjoner for hver klasse (1 og 0).

Nøyaktighet måler andelen korrekt klassifiserte prøver av det totale antallet. Hvis en modell korrekt klassifiserer 90 av 100 bilder, er nøyaktigheten 90%.

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

Selv om nøyaktighet er nyttig, gir det ikke alltid et fullstendig bilde—spesielt for ubalanserte datasett. For eksempel, i et datasett der 95% av prøvene tilhører én klasse, kan en modell oppnå 95% nøyaktighet bare ved å alltid forutsi majoritetsklassen—uten å faktisk lære noe nyttig. I slike tilfeller kan presisjon, recall eller F1-score være mer informative.

Presisjon er prosentandelen korrekt predikerte positive tilfeller av alle predikerte positive. Dette målet er spesielt nyttig når falske positiver er kostbare, som ved spamdeteksjon eller svindeldeteksjon.

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 av de faktiske positive tilfellene modellen korrekt identifiserer. Høy recall er avgjørende i situasjoner der falske negativer må minimeres, som ved medisinske 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 gjennomsnittet av presisjon og tilbakekalling, og gir et balansert mål når både falske positiver og falske negativer er viktige. Dette er nyttig når datasettet er ubalansert, det vil si at én klasse forekommer betydelig oftere enn den andre.

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

1. Hva er hovedformålet med å dele datasettet inn i trenings- og testsett?

2. Hvorfor kan F1-score være å foretrekke fremfor nøyaktighet på et ubalansert datasett?

question mark

Hva er hovedformålet med å dele datasettet inn i trenings- og testsett?

Select the correct answer

question mark

Hvorfor kan F1-score være å foretrekke fremfor nøyaktighet på et ubalansert datasett?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 11
some-alt