Grunnleggende AI

Hva er en forvirringsmatrise?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

En av de mest kraftfulle analytiske verktøyene i maskinlæring og datavitenskap er forvirringsmatrisen. Forvirringsmatrisen er i stand til å gi forskerne detaljert informasjon om hvordan en maskinlæringsklassifikator har fungert med hensyn til målklassene i datasettet. En forvirringsmatrise vil vise eksempler som har blitt riktig klassifisert mot eksempler som har blitt feilklassifisert. La oss ta en nærmere titt på hvordan en forvirringsmatrise er strukturert og hvordan den kan tolkes.

Hva er en forvirringsmatrise?

La oss starte med å gi en enkel definisjon av en forvirringsmatrise. En forvirringsmatrise er et prediktivt analytisk verktøy. Spesifikt er det en tabell som viser og sammenligner faktiske verdier med modellens predikerte verdier. Innenfor sammenhengen av maskinlæring, brukes en forvirringsmatrise som en metrikk for å analysere hvordan en maskinlæringsklassifikator har fungert på et datasett. En forvirringsmatrise genererer en visualisering av metrikker som presisjon, nøyaktighet, spesifisitet og tilbakekall.

Grunden til at forvirringsmatrisen er spesielt nyttig er at, i motsetning til andre typer klassifiseringsmetrikker som enkel nøyaktighet, genererer forvirringsmatrisen en mer fullstendig bilde av hvordan en modell har fungert. Å bare bruke en metrikk som nøyaktighet kan føre til en situasjon der modellen fullstendig og konsekvent feilklassifiserer en klasse, men det går uoppdaget fordi gjennomsnittsytelsen er god. I mellomtiden gir forvirringsmatrisen en sammenligning av forskjellige verdier som feil negativ, sant negativ, feil positiv og sant positiv.

La oss definere de forskjellige metrikkene som en forvirringsmatrise representerer.

Tilbakekall i en forvirringsmatrise

Tilbakekall er antallet ekte positive eksempler dividert med antallet feilnegativ eksempler og totale positive eksempler. Med andre ord er tilbakekall representativt for proporsjonen av sanne positive eksempler som en maskinlæringsmodell har klassifisert. Tilbakekall gis som prosenten av positive eksempler modellen var i stand til å klassifisere ut av alle positive eksempler i datasettet. Denne verdien kan også kalles “treffrate”, og en relatert verdi er “sensitivitet”, som beskriver sannsynligheten for tilbakekall, eller raten av ekte positive prediksjoner.

Presisjon i en forvirringsmatrise

Liksom tilbakekall er presisjon en verdi som sporer en modells ytelse med hensyn til positiv eksempeklassifisering. I motsetning til tilbakekall er presisjon imidlertid opptatt av hvor mange av eksemplene modellen har merket som positive som faktisk var positive. For å beregne dette, deles antallet sanne positive eksempler med antallet feilpositive eksempler pluss sanne positive.

For å gjøre forskjellen mellom tilbakekall og presisjon tydeligere, presisjon prøver å finne ut prosenten av alle eksempler merket som positive som faktisk var positive, mens tilbakekall sporer prosenten av alle sanne positive eksempler som modellen kunne gjenkjenne.

Spesifisitet i en forvirringsmatrise

Mens tilbakekall og presisjon er verdier som sporer positive eksempler og sanne positive rater, kvantifiserer spesifisitet den sanne negative raten eller antallet eksempler modellen definerte som negative som faktisk var negative. Dette beregnes ved å ta antallet eksempler klassifisert som negative og dividere dem med antallet feilpositive eksempler kombinert med sanne negative eksempler.

Å forstå forvirringsmatrisen

Foto: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0

Eksempel på en forvirringsmatrise

Etter å ha definert nødvendige begreper som presisjon, tilbakekall, sensitivitet og spesifisitet, kan vi undersøke hvordan disse forskjellige verdiene representeres i en forvirringsmatrise. En forvirringsmatrise genereres i klassifiseringsøyeblikk, og er anvendelig når det finnes to eller flere klasser. Forvirringsmatrisen som genereres kan være like høy og bred som ønsket, og kan inneholde et ønsket antall klasser, men for enkelhets skyld vil vi undersøke en 2 x 2 forvirringsmatrise for en binær klassifiseringsoppgave.

Som et eksempel, anta at en klassifikator brukes til å bestemme om en pasient har en sykdom eller ikke. Egenskapene vil bli matet inn i klassifikatoren, og klassifikatoren vil returnere en av to forskjellige klassifiseringer – enten pasienten har ikke sykdommen eller han/hun har den.

La oss starte med venstre siden av matrisen. Venstre siden av forvirringsmatrisen representerer klassifiseringene som klassifikatoren har gjort for de enkelte klassene. En binær klassifiseringsoppgave vil ha to rader her. Med hensyn til toppen av matrisen, sporer den sanne verdiene, de faktiske klasselabelene, til dataeksemplene.

Å tolke en forvirringsmatrise kan gjøres ved å undersøke hvor radene og kolonnene møtes. Sjekk klassifiseringene til modellen mot de sanne labelene til modellen. I dette tilfelle er sant positive verdier, antallet riktige positive prediksjoner, plassert i øverste venstre hjørne. Feilpositive eksempler finnes i øverste høyre hjørne, der eksemplene faktisk er negative, men klassifikatoren har merket dem som positive.

Nederste venstre hjørne av ruten viser eksempler som klassifikatoren har merket som negative, men som faktisk var positive. Til slutt er nederste høyre hjørne av forvirringsmatrisen der sant negative verdier finnes, eller der eksemplene faktisk er falske.

Når datasettet inneholder mer enn to klasser, vokser matrisen med like mange klasser. For eksempel, hvis det finnes tre klasser, vil matrisen være en 3 x 3 matrise. Uansett størrelsen på forvirringsmatrisen, er metoden for å tolke dem eksakt den samme. Venstre siden inneholder de predikerte verdiene og de faktiske klasselabelene går langs toppen. Eksemplene som klassifikatoren har klassifisert riktig, går diagonalt fra øverste venstre til nederste høyre. Ved å se på matrisen kan du avgjøre de fire prediktive metrikkene ovenfor.

For eksempel, kan du beregne tilbakekall ved å ta sant positive og feilnegativ eksempler, legge dem sammen og dividere dem med antallet sanne positive eksempler. I mellomtiden kan presisjon beregnes ved å kombinere feilpositive eksempler med sanne positive, og deretter dividere verdien med det totale antallet sanne positive eksempler.

Mens en kunne bruke tid på å manuelt beregne metrikker som presisjon, tilbakekall og spesifisitet, er disse metrikkene så vanlig brukt at de fleste maskinlæringsbiblioteker har metoder for å vise dem. For eksempel har Scikit-learn for Python en funksjon som genererer en forvirringsmatrise.

Blogger og programmerer med spesialområder i Machine Learning og Deep Learning emner. Daniel håper å hjelpe andre med å bruke kraften av AI for sosialt godt.