Connect with us

AI 101

Hvad er en Forvirringsmatrix?

mm

En af de mest kraftfulde analytiske værktøjer i maskinlæring og datavidenskab er forvirringsmatrixen. Forvirringsmatrixen er i stand til at give forskerne detaljeret information om, hvordan en maskinlæringsklassifikator har fungeret i forhold til målklasserne i datasættet. En forvirringsmatrix vil demonstrere eksempler, der er klassificeret korrekt, imod eksempler, der er klassificeret forkert. Lad os tage en dybere kig på, hvordan en forvirringsmatrix er struktureret, og hvordan den kan fortolkes.

Hvad er en Forvirringsmatrix?

Lad os starte med at give en simpel definition af en forvirringsmatrix. En forvirringsmatrix er et værktøj til prædiktiv analyse. Specifikt er det en tabel, der viser og sammenligner faktiske værdier med modellens forudsagte værdier. Inden for maskinlæringskonteksten bruges en forvirringsmatrix som en metode til at analysere, hvordan en maskinlæringsklassifikator har fungeret på et datasæt. En forvirringsmatrix genererer en visualisering af metrikker som præcision, nøjagtighed, specifitet og genskabning.

Grunden til, at forvirringsmatrixen er særligt nyttig, er, at den, i modsætning til andre typer klassifikationsmetrikker, såsom simpel nøjagtighed, genererer en mere komplet billed af, hvordan modellen har fungeret. At bruge kun en metrik som nøjagtighed kan føre til en situation, hvor modellen fuldstændigt og konsekvent misidentificerer en klasse, men det går ubemærket hen, fordi gennemsnitspræstationen er god. Imens giver forvirringsmatrixen en sammenligning af forskellige værdier som Falske Negativ, Sande Negativ, Falske Positiv og Sande Positiv.

Lad os definere de forskellige metrikker, som en forvirringsmatrix repræsenterer.

Genskabning i en Forvirringsmatrix

Genskabning er antallet af ægte positive eksempler divideret med antallet af falske negative eksempler og totale positive eksempler. Med andre ord er genskabning repræsentativ for proportionen af sande positive eksempler, som en maskinlæringsmodel har klassificeret. Genskabning gives som procentdelen af positive eksempler, som modellen kunne klassificere ud af alle positive eksempler i datasættet. Denne værdi kan også betegnes som “hit-raten”, og en relateret værdi er “sensitivitet“, som beskriver sandsynligheden for genskabning eller hastigheden af ægte positive forudsigelser.

Præcision i en Forvirringsmatrix

Ligesom genskabning er præcision en værdi, der sporer modellens præstation i forhold til positiv eksempeklassifikation. Til forskel fra genskabning er præcision dog optaget af, hvor mange af eksemplerne, som modellen havde markeret som positive, faktisk var positive. For at beregne dette divideres antallet af sande positive eksempler med antallet af falske positive eksempler plus sande positive.

For at gøre forskellen mellem genskabning og præcision klarere, søger præcision at fastslå, hvor stor en procentdel af alle eksempler, der er markeret som positive, der faktisk var positive, mens genskabning sporer procentdelen af alle sande positive eksempler, som modellen kunne genkende.

Specifitet i en Forvirringsmatrix

Mens genskabning og præcision er værdier, der sporer positive eksempler og den sande positive rate, kvantificerer specifitet den sande negative rate eller antallet af eksempler, som modellen definerede som negative, der faktisk var negative. Dette beregnes ved at tage antallet af eksempler, der er klassificeret som negative, og dividere dem med antallet af falske positive eksempler kombineret med de sande negative eksempler.

At forstå Forvirringsmatrixen

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

Eksempel på en Forvirringsmatrix

Efter at have defineret nødvendige begreber som præcision, genskabning, sensitivitet og specifitet, kan vi undersøge, hvordan disse forskellige værdier repræsenteres inden for en forvirringsmatrix. En forvirringsmatrix genereres i tilfælde af klassifikation, anvendelig når der er to eller flere klasser. Forvirringsmatrixen, der genereres, kan være så høj og bred, som det er nødvendigt, og kan indeholde ethvert ønsket antal klasser, men for simplicityens skyld vil vi undersøge en 2 x 2 forvirringsmatrix for en binær klassifikationsopgave.

Som eksempel antager vi, at en klassifikator bruges til at bestemme, om en patient har en sygdom eller ej. Funktionerne vil blive ført ind i klassifikatoren, og klassifikatoren vil returnere en af to forskellige klassifikationer – enten har patienten ikke sygdommen, eller også har de.

Lad os starte med venstre side af matrixen. Venstre side af forvirringsmatrixen repræsenterer forudsigelserne, som klassifikatoren har lavet for de enkelte klasser. En binær klassifikationsopgave vil have to rækker her. Med hensyn til den øverste del af matrixen sporer den sande værdier, de faktiske klasseetiketter, af dataeksemplerne.

At fortolke en forvirringsmatrix kan gøres ved at undersøge, hvor rækkerne og kolonnerne krydser. Check modellens forudsigelser mod modellens sande etiketter. I dette tilfælde er Sande Positiv-værdierne, antallet af korrekte positive forudsigelser, placeret i øverste venstre hjørne. De falske positive er placeret i øverste højre hjørne, hvor eksemplerne faktisk er negative, men klassifikatoren har markeret det som positivt.

Nederste venstre hjørne af griden viser eksempler, som klassifikatoren har markeret som negative, men faktisk var positive. Endelig er nederste højre hjørne af forvirringsmatrixen, hvor de Sande Negativ-værdier er placeret, eller hvor de faktisk falske eksempler er.

Når datasættet indeholder mere end to klasser, vokser matrixen med det antal klasser. For eksempel, hvis der er tre klasser, vil matrixen være en 3 x 3 matrix. Uanset størrelsen af forvirringsmatrixen er metoden for at fortolke dem helt den samme. Venstre side indeholder de forudsagte værdier, og de faktiske klasseetiketter løber hen over toppen. Eksemplerne, som klassifikatoren har forudsagt korrekt, løber diagonalt fra øverste venstre til nederste højre. Ved at se på matrixen kan du afgøre de fire prædiktive metrikker, der er diskuteret ovenfor.

For eksempel kan du beregne genskabning ved at tage de sande positive og de falske negative, kombinere dem og dividere dem med antallet af sande positive eksempler. Imens kan præcision beregnes ved at kombinere de falske positive med de sande positive og derefter dividere værdien med det totale antal sande positive.

Selv om man kunne bruge tid på at beregne metrikker som præcision, genskabning og specifitet manuelt, er disse metrikker så almindeligt brugt, at de fleste maskinlæringsbiblioteker har metoder til at vise dem. For eksempel har Scikit-learn til Python en funktion, der genererer en forvirringsmatrix.

Blogger og programmør med specialer i Machine Learning og Deep Learning emner. Daniel håber at hjælpe andre med at bruge AI's kraft til sociale formål.