Forvirringsmatrise: Guide til maskinlæring & nøyaktighetsmålinger

Forvirringsmatrise: Et nøkkelverktøy i maskinlæring

En forvirringsmatrise er et viktig instrument for å vurdere hvor godt klassifiseringsalgoritmer fungerer, spesielt i overvåket maskinlæring. Dette verktøyet gir et detaljert innblikk i algoritmens prediksjoner og hjelper oss å forstå dens styrker og svakheter.

Hva innebærer en forvirringsmatrise?

Vår oppfatning av verden kan være subjektiv. En lengde som virker som 10 cm for en person, kan oppleves som 9 cm av en annen. Det «riktige» svaret kan ligge et sted i midten eller være noe helt annet. I maskinlæring representerer dette forholdet mellom den faktiske verdien og den forutsagte verdien.

Akkurat som vi bruker vår egen logikk for å forutsi utfall, bruker maskiner algoritmer for å komme frem til forutsagte verdier. Disse verdiene kan stemme overens med de faktiske, men ofte er det avvik. Derfor er det viktig å vurdere hvor nøyaktige disse prediksjonene er.

I en konkurransedyktig verden er det viktig å evaluere hvor godt en algoritme presterer. Dette gjøres ved å måle hvor mange prediksjoner algoritmen klarer å gjøre riktig. Men hva er egentlig en maskinlæringsalgoritme?

Maskinlæringsalgoritmer er instruksjonssett som maskiner bruker for å løse problemer. De finnes i tre hovedtyper: overvåket, uovervåket og forsterkende. Overvåkede algoritmer er de mest grunnleggende, og de krever forhåndskunnskap om det rette svaret. Algoritmen trenes ved hjelp av store mengder data, og lærer dermed å finne riktig svar, litt som et barn som lærer å skille mennesker basert på alder.

Overvåkede maskinlæringsalgoritmer kan videre deles inn i to kategorier: klassifisering og regresjon. Klassifiseringsalgoritmer brukes til å kategorisere eller sortere data basert på bestemte kriterier. For eksempel kan en slik algoritme gruppere kunder etter matpreferanser, ved bruk av beslutningstrær, tilfeldige skoger, naive Bayes eller støttevektormaskiner (SVM).

Men hvordan vet vi hvilken algoritme som er best? Det er her forvirringsmatrisen kommer inn i bildet.

En forvirringsmatrise er en tabell som gir en oversikt over hvor nøyaktig en klassifiseringsalgoritme er når den klassifiserer et datasett. Navnet kan høres forvirrende ut, men det handler om å identifisere hvor algoritmen gjør feilprediksjoner, altså blir forvirret. En forvirringsmatrise er dermed et verktøy for å evaluere ytelsen til en klassifiseringsalgoritme.

La oss si at vi vil bruke forskjellige algoritmer til å klassifisere personer basert på om de liker pizza eller ikke. For å finne algoritmen som gir de mest korrekte svarene, kan vi bruke en forvirringsmatrise. For et binært klassifiseringsproblem gir forvirringsmatrisen fire forskjellige verdier:

  • Sann Positiv (TP)
  • Sann Negativ (TN)
  • Falsk Positiv (FP)
  • Falsk Negativ (FN)

De fire elementene i en forvirringsmatrise

Disse fire verdiene danner rutenettet i matrisen. Sann Positiv (TP) og Sann Negativ (TN) representerer prediksjoner som er gjort riktig av algoritmen.

  • TP representerer de som liker pizza, og som modellen korrekt identifiserte.
  • TN representerer de som ikke liker pizza, og som modellen korrekt identifiserte.

Falsk Positiv (FP) og Falsk Negativ (FN) representerer feilaktige prediksjoner.

  • FP representerer de som ikke liker pizza (negativ), men klassifikatoren feilaktig har spådd at de liker pizza (falsk positiv). FP kalles også type I-feil.
  • FN representerer de som liker pizza (positiv), men klassifikatoren har feilaktig spådd at de ikke gjør det (falsk negativ). FN kalles også type II-feil.

La oss se på et konkret eksempel for å illustrere dette nærmere. Tenk deg et datasett med 400 personer som har tatt en COVID-test. Vi bruker ulike algoritmer for å bestemme antall COVID-positive og COVID-negative personer, og får dermed to forvirringsmatriser for sammenligning. Umiddelbart kan det se ut som om den første algoritmen er mest nøyaktig, men for å få et mer presist svar må vi foreta noen beregninger som måler nøyaktighet, presisjon og andre viktige verdier.

Beregninger og deres betydning

De viktigste beregningene som hjelper oss med å vurdere ytelsen til en klassifikator er:

1. Recall/Sensitivitet

Recall, eller sensitivitet, representerer forholdet mellom riktige positive prediksjoner (TP) og alle de faktiske positive (TP + FN).

R = TP/(TP + FN)

En høy recall-verdi betyr færre falske negativer, noe som er fordelaktig. Recall er viktig når det er essensielt å identifisere de falske negativene. For eksempel, i medisinsk diagnostisering der en feil diagnose kan ha alvorlige konsekvenser.

2. Presisjon

Presisjon måler de riktige positive resultatene blant alle de predikerte positive resultatene (TP + FP).

Pr = TP/(TP + FP)

Presisjon er viktig når falske positive kan være skadelige. For eksempel, om en person feilaktig diagnostiseres med en sykdom, kan det føre til unødvendig medisinering og bivirkninger.

3. Spesifisitet

Spesifisitet, eller True Negative Rate (TNR), måler de korrekte negative resultatene av alle de mulige negative resultatene.

S = TN/(TN + FP)

Dette er et mål på hvor godt klassifikatoren identifiserer negative verdier.

4. Nøyaktighet

Nøyaktighet er forholdet mellom alle korrekte prediksjoner og det totale antall prediksjoner.

A = (TP + TN)/(TP + TN + FP + FN)

5. Prevalens

Prevalens måler antall positive resultater av alle resultater.

P = (TP + FN)/(TP + TN + FP + FN)

6. F-score

F-score, eller F1-score, er det harmoniske gjennomsnittet av presisjon og recall. Det brukes når det er viktig å balansere både falske positive og falske negative.

F-score = 2*Presisjon*Recall/ (Recall + Presisjon)

For eksempel, i COVID-19 sammenheng, er det viktig å unngå at smittede personer ikke isoleres, men også unngå at friske personer isoleres unødvendig.

7. ROC-kurver

Nøyaktighet og presisjon kan være gode beregninger, men i tilfeller med ubalanserte datasett kan de være misvisende. For eksempel, om en stor andel av studentene i en gruppe snakker spansk, vil algoritmen være i stand til å gjøre høye prediksjoner. I slike tilfeller er beregninger som ROC-kurver mer effektive.

En ROC-kurve (Receiver Operating Characteristic) visualiserer ytelsen til en binær klassifiseringsmodell ved ulike terskelverdier. Den plotter TPR (True Positive Rate) mot FPR (False Positive Rate) som beregnes som (1-spesifisitet) ved forskjellige terskelverdier. Den mest nøyaktige terskelverdien er den som er nærmest 45 grader (øverst til venstre) i kurven. Ved å sammenligne ROC-kurvene for forskjellige modeller, regnes den med størst areal under kurven (AUC) som den beste modellen.

La oss se på et eksempel der vi beregner disse metriske verdiene for to forskjellige algoritmer (Klassifiserer I og Klassifiserer II) i et pizza-undersøkelse.

Klassifiserer I Klassifiserer II
Presisjon 0.8 0.83
Nøyaktighet 0.85 0.83

Her ser vi at presisjonen er høyere i klassifiserer II, mens nøyaktigheten er litt høyere i klassifiserer I. Avhengig av det spesifikke problemet, kan beslutningstakere velge den ene eller den andre algoritmen.

N x N Forvirringsmatrise

Hittil har vi sett på binære klassifikatorer. Men hva om vi har flere kategorier enn bare ja/nei? For eksempel, om vi skal sortere bilder av røde, grønne og blå farger. Dette kalles flerklasseklassifisering. Antallet variabler bestemmer størrelsen på matrisen. I dette tilfellet vil forvirringsmatrisen være 3×3.

Oppsummering

En forvirringsmatrise er et effektivt evalueringsverktøy som gir detaljert informasjon om ytelsen til en klassifiseringsalgoritme. Den fungerer like godt for binære som for flerklasseklassifikatorer, og den gir oss en oversikt over både styrker og svakheter. Det er enkelt å visualisere en forvirringsmatrise, og den kan brukes til å generere andre beregninger som F-score, presisjon, ROC og nøyaktighet. Dette gjør den til et uunnværlig verktøy i maskinlæring.

Det er også verdt å utforske hvordan man velger ML-algoritmer for regresjonsproblemer.