stub Vad är en förvirringsmatris? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är en förvirringsmatris?

mm
Uppdaterad on

Ett av de mest kraftfulla analysverktygen inom maskininlärning och datavetenskap i förvirringsmatrisen. Förvirringsmatrisen kan ge forskarna detaljerad information om hur en maskininlärningsklassificerare har presterat med avseende på målklasserna i datamängden. En förvirringsmatris visar visningsexempel som har klassificerats korrekt mot felklassificerade exempel. Låt oss ta en djupare titt på hur en förvirringsmatris är uppbyggd och hur den kan tolkas.

Vad är en förvirringsmatris?

Låt oss börja med att ge en enkel definition av en förvirringsmatris. En förvirringsmatris är ett prediktivt analysverktyg. Specifikt är det en tabell som visar och jämför faktiska värden med modellens förutsagda värden. Inom ramen för maskininlärning används en förvirringsmatris som ett mått för att analysera hur en maskininlärningsklassificerare presterade på en datauppsättning. En förvirringsmatris genererar en visualisering av mätvärden som precision, noggrannhet, specificitet och återkallelse.

Anledningen till att förvirringsmatrisen är särskilt användbar är att, till skillnad från andra typer av klassificeringsmått som enkel noggrannhet, genererar förvirringsmatrisen en mer komplett bild av hur en modell presterade. Att bara använda ett mått som noggrannhet kan leda till en situation där modellen helt och konsekvent felidentifierar en klass, men det går obemärkt förbi eftersom prestanda i genomsnitt är bra. Under tiden förvirringsmatrisen ger en jämförelse av olika värden som falska negativa, sanna negativa, falska positiva och sanna positiva.

Låt oss definiera de olika måtten som en förvirringsmatris representerar.

Återkallelse i en förvirringsmatris

Återkallelse är antalet genuint positiva exempel dividerat med antalet falsknegativa exempel och totalt antal positiva exempel. Med andra ord är återkallelse representativt för andelen sanna positiva exempel som en maskininlärningsmodell har klassificerat. Återkallelse anges som andelen positiva exempel som modellen kunde klassificera bland alla positiva exempel som finns i datasetet. Detta värde kan också kallas "träfffrekvensen", och ett relaterat värde är "känslighet”, som beskriver sannolikheten för återkallelse, eller graden av äkta positiva förutsägelser.

Precision i en förvirringsmatris

Precis som i minnet är precision ett värde som spårar en modells prestanda i form av positiv exempelklassificering. Till skillnad från återkallelse handlar precisionen dock om hur många av exemplen som modellen betecknade som positiva verkligen var positiva. För att beräkna detta delas antalet sanna positiva exempel med antalet falskt positiva exempel plus sanna positiva.

För att göra skillnad mellan återkallelse och precision tydligare, precision syftar till att räkna ut procentandelen av alla exempel märkta positiva som verkligen var positiva, medan återkallelse spårar procentandelen av alla sanna positiva exempel som modellen kunde känna igen.

specificitet i en förvirringsmatris

Även om återkallelse och precision är värden som spårar positiva exempel och den sanna positiva frekvensen, specificitet kvantifierar den sanna negativa frekvensen eller antalet exempel som modellen definierade som negativa som verkligen var negativa. Detta beräknas genom att ta antalet exempel som klassificerats som negativa och dividera dem med antalet falskt positiva exempel i kombination med de sanna negativa exemplen.

Att göra mening av förvirringsmatrisen

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

Exempel på en förvirringsmatris

Efter att ha definierat nödvändiga termer som precision, återkallande, känslighet och specificitet, kan vi undersöka hur dessa olika värden representeras i en förvirringsmatris. En förvirringsmatris genereras i fall av klassificering, tillämplig när det finns två eller flera klasser. Den förväxlingsmatris som genereras kan vara så lång och bred som nödvändigt och innehålla valfritt antal klasser, men för enkelhetens skull kommer vi att undersöka en 2 x 2 förväxlingsmatris för en binär klassificeringsuppgift.

Som ett exempel, anta att en klassificerare används för att avgöra om en patient har en sjukdom eller inte. Funktionerna kommer att matas in i klassificeraren, och klassificeraren kommer att returnera en av två olika klassificeringar – antingen har patienten inte sjukdomen eller så har de det.

Låt oss börja med den vänstra sidan av matrisen. Den vänstra sidan av förvirringsmatrisen representerar de förutsägelser som klassificeraren gjorde för de enskilda klasserna. En binär klassificeringsuppgift kommer att ha två rader här. När det gäller den övre delen av matrisen spårar den de sanna värdena, de faktiska klassetiketterna, för datainstanserna.

Att tolka en förvirringsmatris kan göras genom att undersöka var raderna och kolumnerna skär varandra. Kontrollera modellens förutsägelser mot modellens sanna etiketter. I det här fallet finns sanna positiva värden, antalet korrekta positiva förutsägelser, i det övre vänstra hörnet. De falska positiva finns i det övre högra hörnet, där exemplen faktiskt är negativa men klassificeraren taggade det som positivt.

Det nedre vänstra hörnet av rutnätet visar instanser som klassificeraren har taggat som negativa men som verkligen var positiva. Slutligen är det nedre högra hörnet av förvirringsmatrisen där de sanna negativa värdena finns, eller där de genuint falska exemplen finns.

När datasetet innehåller mer än två klasser växer matrisen med så många klasser. Till exempel, om det finns tre klasser, kommer matrisen att vara en 3 x 3 matris. Oavsett storleken på förvirringsmatrisen är metoden för att tolka dem exakt densamma. Den vänstra sidan innehåller de förutsagda värdena och de faktiska klassetiketterna längst upp. De instanser som klassificeraren har förutspått korrekt körs diagonalt från det övre vänstra till det nedre högra hörnet. Genom att titta på matrisen kan du urskilja de fyra prediktiva mått som diskuterats ovan.

Du kan till exempel beräkna återkallelse genom att ta de sanna positiva och falska negativa, lägga ihop dem och dividera dem med antalet sanna positiva exempel. Samtidigt kan precisionen beräknas genom att kombinera de falska positiva med de sanna positiva och sedan dela upp värdet i det totala antalet sanna positiva.

Även om man skulle kunna lägga tid på att manuellt beräkna mätvärden som precision, återkallelse och specificitet, är dessa mätvärden så vanligt förekommande att de flesta maskininlärningsbibliotek har metoder för att visa dem. Till exempel har Scikit-learn för Python en funktion som genererar en förvirringsmatris.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.