Hvad er en forvirringsmatrix i maskinlæring?

En forvirringsmatrix er et værktøj til at evaluere ydeevnen af ​​klassifikationstypen af ​​overvågede maskinlæringsalgoritmer.

Hvad er en forvirringsmatrix?

Vi mennesker opfatter ting forskelligt – også sandhed og løgne. Hvad der kan virke som en 10 cm lang streg for mig, kan virke som en 9 cm streg for dig. Men den faktiske værdi kan være 9, 10 eller noget andet. Hvad vi gætter på er den forudsagte værdi!

Hvordan den menneskelige hjerne tænker

Ligesom vores hjerne anvender vores egen logik til at forudsige noget, anvender maskiner forskellige algoritmer (kaldet maskinlæringsalgoritmer) for at nå frem til en forudsagt værdi for et spørgsmål. Igen kan disse værdier være de samme eller forskellige fra den faktiske værdi.

I en konkurrencepræget verden vil vi gerne vide, om vores forudsigelse er rigtig eller ej for at forstå vores præstation. På samme måde kan vi bestemme en maskinlæringsalgoritmes ydeevne ud fra, hvor mange forudsigelser den lavede korrekt.

Så hvad er en maskinlæringsalgoritme?

Maskiner forsøger at nå frem til bestemte svar på et problem ved at anvende en bestemt logik eller et sæt instruktioner, kaldet maskinlæringsalgoritmer. Maskinlæringsalgoritmer er af tre typer – overvåget, uovervåget eller forstærkning.

Maskinlæringsalgoritmetyper

De simpleste typer algoritmer overvåges, hvor vi allerede kender svaret, og vi træner maskinerne til at nå frem til det svar ved at træne algoritmen med en masse data – det samme som hvordan et barn ville skelne mellem mennesker i forskellige aldersgrupper ved at træne algoritmen med en masse data. ser på deres funktioner igen og igen.

Overvågede ML-algoritmer er af to typer – klassifikation og regression.

Klassificeringsalgoritmer klassificerer eller sorterer data baseret på et sæt kriterier. For eksempel, hvis du vil have din algoritme til at gruppere kunder baseret på deres madpræferencer – dem der kan lide pizza og dem der ikke kan lide pizza, vil du bruge en klassifikationsalgoritme som beslutningstræ, tilfældig skov, naive Bayes eller SVM (Support vektor maskine).

Hvilken af ​​disse algoritmer ville gøre det bedste stykke arbejde? Hvorfor skal du vælge den ene algoritme frem for den anden?

  Sådan forfalsker du din Chromebook-brugeragent til websteder, der ikke understøtter Chrome OS

Indtast forvirringsmatrix….

En forvirringsmatrix er en matrix eller tabel, der giver information om, hvor nøjagtig en klassifikationsalgoritme er ved klassificering af et datasæt. Nå, navnet er ikke for at forvirre mennesker, men for mange forkerte forudsigelser betyder sandsynligvis, at algoritmen var forvirret😉!

Så en forvirringsmatrix er en metode til at evaluere ydeevnen af ​​en klassifikationsalgoritme.

Hvordan?

Lad os sige, at du har anvendt forskellige algoritmer til vores tidligere nævnte binære problem: klassificer (adskil) personer baseret på, om de kan lide eller ikke kan lide pizza. For at evaluere den algoritme, der har værdier tættest på det rigtige svar, ville du bruge en forvirringsmatrix. For et binært klassifikationsproblem (synes godt om/ikke kan lide, sandt/falsk, 1/0), giver forvirringsmatricen fire gitterværdier, nemlig:

  • Sand positiv (TP)
  • Sand negativ (TN)
  • Falsk positiv (FP)
  • Falsk negativ (FN)

Hvad er de fire gitter i en forvirringsmatrix?

De fire værdier bestemt ved hjælp af forvirringsmatricen danner matrixens gitter.

Forvirring matrix gitter

True Positive (TP) og True Negative (TN) er værdierne korrekt forudsagt af klassifikationsalgoritmen,

  • TP repræsenterer dem, der kan lide pizza, og modellen klassificerede dem korrekt,
  • TN repræsenterer dem, der ikke kan lide pizza, og modellen klassificerede dem korrekt,

Falsk positiv (FP) og falsk negativ (FN) er de værdier, der er forkert forudsagt af klassifikatoren,

  • FP repræsenterer dem, der ikke kan lide pizza (negativ), men klassificereren forudsagde, at de kunne lide pizza (fejlagtigt positivt). FP kaldes også en type I fejl.
  • FN repræsenterer dem, der kan lide pizza (positivt), men klassificereren forudsagde, at de ikke gør det (forkert negativ). FN kaldes også Type II fejl.

For yderligere at forstå konceptet, lad os tage et scenarie fra det virkelige liv.

Lad os sige, at du har et datasæt på 400 personer, der gennemgik Covid-testen. Nu fik du resultaterne af forskellige algoritmer, der bestemte antallet af Covid-positive og Covid-negative mennesker.

Her er de to forvirringsmatricer til sammenligning:

Ved at se på begge kan du blive fristet til at sige, at den første algoritme er mere nøjagtig. Men for at få et konkret resultat har vi brug for nogle målinger, der kan måle nøjagtigheden, præcisionen og mange andre værdier, der beviser, hvilken algoritme der er bedst.

Metrik, der bruger forvirringsmatrix og deres betydning

De vigtigste målinger, der hjælper os med at beslutte, om klassificeringen lavede de rigtige forudsigelser, er:

  Sådan laver du en lang kolonne til flere kolonner i Excel

#1. Genkald/følsomhed

Recall eller Sensitivity eller True Positive Rate (TPR) eller Probability of Detection er forholdet mellem de korrekte positive forudsigelser (TP) og de samlede positive (dvs. TP og FN).

R = TP/(TP + FN)

Tilbagekaldelse er målet for korrekte positive resultater, der returneres ud af antallet af korrekte positive resultater, der kunne have været produceret. En højere værdi af Recall betyder, at der er færre falske negativer, hvilket er godt for algoritmen. Brug Recall, når det er vigtigt at kende de falske negativer. For eksempel, hvis en person har flere blokeringer i hjertet, og modellen viser, at han har det helt fint, kan det vise sig at være fatalt.

#2. Præcision

Præcision er målet for de korrekte positive resultater ud af alle de forudsagte positive resultater, inklusive både sande og falske positive.

Pr = TP/(TP + FP)

Præcision er ret vigtig, når de falske positive er for vigtige til at blive ignoreret. For eksempel, hvis en person ikke har diabetes, men modellen viser det, og lægen ordinerer visse lægemidler. Dette kan føre til alvorlige bivirkninger.

#3. Specificitet

Specificitet eller True Negative Rate (TNR) er korrekte negative resultater fundet ud af alle de resultater, der kunne have været negative.

S = TN/(TN + FP)

Det er et mål for, hvor godt din klassifikator identificerer de negative værdier.

#4. Nøjagtighed

Nøjagtighed er antallet af korrekte forudsigelser ud af det samlede antal forudsigelser. Så hvis du fandt 20 positive og 10 negative værdier korrekt fra en prøve på 50, vil nøjagtigheden af ​​din model være 30/50.

Nøjagtighed A = (TP + TN)/(TP + TN + FP + FN)

#5. Udbredelse

Prævalens er et mål for antallet af positive resultater opnået ud af alle resultaterne.

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

#6. F Score

Nogle gange er det svært at sammenligne to klassifikatorer (modeller) ved at bruge præcision og tilbagekaldelse, som blot er aritmetiske midler til en kombination af de fire gitter. I sådanne tilfælde kan vi bruge F Score eller F1 Score, som er den harmoniske middelværdi – hvilket er mere præcist, fordi det ikke varierer for meget for ekstremt høje værdier. Højere F-score (max 1) indikerer en bedre model.

F-score = 2*Nøjagtighed*Tilbagekaldelse/ (Recall + Præcision)

Når det er vigtigt at tage sig af både falske positive og falske negative, er F1-score en god målestok. For eksempel behøver de, der ikke er covid-positive (men algoritmen viste det), ikke at blive unødigt isoleret. På samme måde skal de, der er Covid-positive (men algoritmen sagde, at de ikke er det) isoleres.

  Sådan overfører du Chrome-faner mellem iPhone, iPad og Mac

#7. ROC kurver

Parametre som nøjagtighed og præcision er gode målinger, hvis dataene er afbalancerede. For et ubalanceret datasæt betyder en høj nøjagtighed ikke nødvendigvis, at klassificeringen er effektiv. For eksempel kan 90 ud af 100 elever i en gruppe spansk. Nu, selvom din algoritme siger, at alle 100 kan spansk, vil dens nøjagtighed være 90%, hvilket kan give et forkert billede af modellen. I tilfælde af ubalancerede datasæt er målinger som ROC mere effektive bestemmere.

ROC kurve eksempel

ROC (Receiver Operating Characteristic) kurve viser visuelt ydeevnen af ​​en binær klassifikationsmodel ved forskellige klassifikationstærskler. Det er et plot af TPR (True Positive Rate) mod FPR (False Positive Rate), som beregnes som (1-Specificitet) ved forskellige tærskelværdier. Den værdi, der er tættest på 45 grader (øverst til venstre) i plottet, er den mest nøjagtige tærskelværdi. Hvis tærsklen er for høj, vil vi ikke have mange falske positive, men vi vil få flere falske negative og omvendt.

Generelt, når ROC-kurven for forskellige modeller er plottet, anses den, der har det største Area Under the Curve (AUC), som den bedre model.

Lad os beregne alle de metriske værdier for vores klassificeringsmatricer I og klassificerer II:

Metrisk sammenligning for klassifikator 1 og 2 i pizzaundersøgelsen

Vi ser, at præcisionen er mere i klassificerer II, hvorimod nøjagtigheden er lidt højere i klassificerer I. Baseret på det aktuelle problem kan beslutningstagere vælge klassifikator I eller II.

N x N forvirringsmatrix

Indtil videre har vi set en forvirringsmatrix for binære klassifikatorer. Hvad hvis der var flere kategorier end bare ja/nej eller kan lide/ikke lide. For eksempel hvis din algoritme skulle sortere billeder af røde, grønne og blå farver. Denne type klassifikation kaldes multi-class klassifikation. Antallet af outputvariable bestemmer også størrelsen af ​​matrixen. Så i dette tilfælde vil forvirringsmatricen være 3×3.

Forvirringsmatrix for en multi-class klassifikator

Resumé

En forvirringsmatrix er et fantastisk evalueringssystem, da det giver detaljerede oplysninger om udførelsen af ​​en klassifikationsalgoritme. Det fungerer godt for binære såvel som multi-class klassifikatorer, hvor der er mere end 2 parametre, der skal tages hånd om. Det er nemt at visualisere en forvirringsmatrix, og vi kan generere alle de andre målinger for ydeevne som F Score, præcision, ROC og nøjagtighed ved hjælp af forvirringsmatricen.

Du kan også se på, hvordan du vælger ML-algoritmer til regressionsproblemer.