Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Modellutvärdering | Neuronnätverk Från Grunden
Introduktion till neurala nätverk

bookModellutvärdering

Dela upp data

När ett neuralt nätverk har tränats behöver vi ett sätt att utvärdera dess prestanda på osedd data. Detta hjälper oss att förstå om modellen verkligen har lärt sig användbara mönster eller bara memorerat träningsdatan. För att uppnå detta delar vi upp datasetet i två delar:

  • Träningsmängd: denna del av datan används för att träna det neurala nätverket, vilket gör att det kan justera vikter och bias genom backpropagation;
  • Testmängd: efter träning utvärderas modellen på denna separata datamängd för att mäta hur väl den generaliserar till nya, osedda exempel.

En typisk uppdelning är 80% träning / 20% test, men detta kan variera beroende på datasetets storlek och komplexitet.

Uppdelning mellan träning och test utförs vanligtvis med funktionen train_test_split() från 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=...)

Parametern test_size anger andelen av datasetet som ska användas som testmängd. Till exempel innebär test_size=0.1 att 10% av datan används för testning, medan resterande 90% används för träning.

Om en modell presterar bra på träningsdatan men dåligt på testdatan kan den vara överanpassad, vilket innebär att den har memorerat träningsmängden istället för att lära sig generaliserbara mönster. Målet är att uppnå hög testnoggrannhet samtidigt som god generalisering bibehålls.

När modellen är tränad behöver vi kvantifiera dess prestanda med hjälp av mått. Valet av mått beror på den specifika klassificeringsuppgiften.

Klassificeringsmått

För klassificeringsproblem kan flera viktiga mått användas för att utvärdera modellens prediktioner:

  • noggrannhet;
  • precision;
  • återkallelse;
  • F1-poäng.

Eftersom en perceptron utför binär klassificering hjälper det att skapa en förväxlingsmatris för att bättre förstå dessa mått.

Note
Definition

En förväxlingsmatris är en tabell som sammanfattar modellens klassificeringsprestanda genom att jämföra de predikterade etiketterna med de faktiska etiketterna. Den ger insikt i antalet korrekta och felaktiga prediktioner för varje klass (1 och 0).

Noggrannhet mäter andelen korrekt klassificerade prover av det totala antalet. Om en modell korrekt klassificerar 90 av 100 bilder är dess noggrannhet 90%.

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

Även om noggrannhet är användbart ger det inte alltid en fullständig bild—särskilt för obalanserade datamängder. Till exempel, i en datamängd där 95% av proverna tillhör en klass kan en modell uppnå 95% noggrannhet bara genom att alltid förutsäga majoritetsklassen—utan att faktiskt lära sig något användbart. I sådana fall kan precision, recall eller F1-score vara mer informativa.

Precision är andelen korrekt förutsagda positiva fall av alla förutsagda positiva. Detta mått är särskilt användbart när falska positiva är kostsamma, såsom vid skräppostdetektion eller bedrägeridetektion.

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

Recall (sensitivitet) mäter hur många av de faktiska positiva fallen modellen korrekt identifierar. Hög recall är avgörande i situationer där falska negativa måste minimeras, såsom vid medicinska diagnoser.

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

F1-poäng är det harmoniska medelvärdet av precision och återkallelse, vilket ger ett balanserat mått när både falska positiva och falska negativa är viktiga. Detta är användbart när datasettet är obalanserat, det vill säga när en klass förekommer betydligt oftare än den andra.

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

1. Vad är huvudsyftet med att dela upp ditt dataset i tränings- och testuppsättningar?

2. Varför kan F1-poäng föredras framför noggrannhet på ett obalanserat dataset?

question mark

Vad är huvudsyftet med att dela upp ditt dataset i tränings- och testuppsättningar?

Select the correct answer

question mark

Varför kan F1-poäng föredras framför noggrannhet på ett obalanserat dataset?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 11

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 4

bookModellutvärdering

Svep för att visa menyn

Dela upp data

När ett neuralt nätverk har tränats behöver vi ett sätt att utvärdera dess prestanda på osedd data. Detta hjälper oss att förstå om modellen verkligen har lärt sig användbara mönster eller bara memorerat träningsdatan. För att uppnå detta delar vi upp datasetet i två delar:

  • Träningsmängd: denna del av datan används för att träna det neurala nätverket, vilket gör att det kan justera vikter och bias genom backpropagation;
  • Testmängd: efter träning utvärderas modellen på denna separata datamängd för att mäta hur väl den generaliserar till nya, osedda exempel.

En typisk uppdelning är 80% träning / 20% test, men detta kan variera beroende på datasetets storlek och komplexitet.

Uppdelning mellan träning och test utförs vanligtvis med funktionen train_test_split() från 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=...)

Parametern test_size anger andelen av datasetet som ska användas som testmängd. Till exempel innebär test_size=0.1 att 10% av datan används för testning, medan resterande 90% används för träning.

Om en modell presterar bra på träningsdatan men dåligt på testdatan kan den vara överanpassad, vilket innebär att den har memorerat träningsmängden istället för att lära sig generaliserbara mönster. Målet är att uppnå hög testnoggrannhet samtidigt som god generalisering bibehålls.

När modellen är tränad behöver vi kvantifiera dess prestanda med hjälp av mått. Valet av mått beror på den specifika klassificeringsuppgiften.

Klassificeringsmått

För klassificeringsproblem kan flera viktiga mått användas för att utvärdera modellens prediktioner:

  • noggrannhet;
  • precision;
  • återkallelse;
  • F1-poäng.

Eftersom en perceptron utför binär klassificering hjälper det att skapa en förväxlingsmatris för att bättre förstå dessa mått.

Note
Definition

En förväxlingsmatris är en tabell som sammanfattar modellens klassificeringsprestanda genom att jämföra de predikterade etiketterna med de faktiska etiketterna. Den ger insikt i antalet korrekta och felaktiga prediktioner för varje klass (1 och 0).

Noggrannhet mäter andelen korrekt klassificerade prover av det totala antalet. Om en modell korrekt klassificerar 90 av 100 bilder är dess noggrannhet 90%.

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

Även om noggrannhet är användbart ger det inte alltid en fullständig bild—särskilt för obalanserade datamängder. Till exempel, i en datamängd där 95% av proverna tillhör en klass kan en modell uppnå 95% noggrannhet bara genom att alltid förutsäga majoritetsklassen—utan att faktiskt lära sig något användbart. I sådana fall kan precision, recall eller F1-score vara mer informativa.

Precision är andelen korrekt förutsagda positiva fall av alla förutsagda positiva. Detta mått är särskilt användbart när falska positiva är kostsamma, såsom vid skräppostdetektion eller bedrägeridetektion.

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

Recall (sensitivitet) mäter hur många av de faktiska positiva fallen modellen korrekt identifierar. Hög recall är avgörande i situationer där falska negativa måste minimeras, såsom vid medicinska diagnoser.

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

F1-poäng är det harmoniska medelvärdet av precision och återkallelse, vilket ger ett balanserat mått när både falska positiva och falska negativa är viktiga. Detta är användbart när datasettet är obalanserat, det vill säga när en klass förekommer betydligt oftare än den andra.

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

1. Vad är huvudsyftet med att dela upp ditt dataset i tränings- och testuppsättningar?

2. Varför kan F1-poäng föredras framför noggrannhet på ett obalanserat dataset?

question mark

Vad är huvudsyftet med att dela upp ditt dataset i tränings- och testuppsättningar?

Select the correct answer

question mark

Varför kan F1-poäng föredras framför noggrannhet på ett obalanserat dataset?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 11
some-alt