Grundlæggende AI

Hvad er en Forvirringsmatrix?

mm
Føj Unite.AI til dine foretrukne kilder på Google

En af de mest kraftfulde analytiske værktøjer i maskinlæring og datavidenskab er forvirringsmatricen. Forvirringsmatricen 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 blevet korrekt klassificeret, mod eksempler, der er blevet misklassificeret. Lad os tage en dybere look 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 prædictivt analytisk værktøj. 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 metrik 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, specificitet og recall.

Grunden til, at forvirringsmatricen er særligt nyttig, er, at den, i modsætning til andre typer klassifikationsmetrikker som f.eks. enkel 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 konstant og systematisk misidentificerer en klasse, men det går ubemærket hen, fordi gennemsnitspræstationen er god. Imens giver forvirringsmatricen en sammenligning af forskellige værdier som f.eks. Falske Negativ, Sande Negativ, Falske Positiv og Sande Positiv.

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

Recall i en Forvirringsmatrix

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

Præcision i en Forvirringsmatrix

Ligesom recall er præcision en værdi, der sporer en modells præstation i forhold til positive eksempler. Til forskel fra recall er præcision dog mere fokuseret på, hvor mange af eksemplerne, modellen har 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 recall og præcision mere tydelig, søger præcision at fastslå procentdelen af alle eksempler, der er markeret som positive, som faktisk var positive, mens recall sporer procentdelen af alle sande positive eksempler, som modellen kunne genkende.

Specificitet i en Forvirringsmatrix

Mens recall og præcision er værdier, der sporer positive eksempler og den sande positive rate, kvantificerer specificitet den sande negative rate eller antallet af eksempler, modellen definerer som negative, som 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å Forvirringsmatricen

Foto: 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, recall, sensitivitet og specificitet, kan vi se, hvordan disse forskellige værdier repræsenteres inden for en forvirringsmatrix. En forvirringsmatrix genereres i klassifikationstilfælde, hvor der er to eller flere klasser. Forvirringsmatricen, der genereres, kan være så høj og bred, som ønsket, og kan indeholde ethvert ønsket antal klasser, men for simplicityns skyld vil vi se på en 2 x 2 forvirringsmatrix for en binær klassifikationstask.

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 vedkommende den.

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

At fortolke en forvirringsmatrix kan gøres ved at se, hvor rækkerne og kolonnerne mødes. 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 positiver findes i øverste højre hjørne, hvor eksemplernes sande værdi er negativ, men klassifikatoren har markeret det som positivt.

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

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

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

mens man kunne bruge tid på at manuelt beregne metrikker som præcision, recall og specificitet, er disse metrikker så almindeligt brugt, at de fleste maskinlæringsbiblioteker har metoder til at vise dem. For eksempel har Scikit-learn for 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.