Kunstig intelligens - Sådan måles ydeevne - Nøjagtighed, præcision, tilbagekaldelse, F1, ROC, RMSE, F-Test og R-Squared

Vi ser i øjeblikket en masse AI-algoritmer, der oprettes, men hvordan kan vi faktisk måle ydeevnen for disse modeller? Hvilke vilkår skal vi se på for at opdage dette?

Dette er de spørgsmål, jeg gerne vil tackle i denne artikel. Start fra "Klassificeringsmodeller", hvor vi vil se på målinger som nøjagtighed, præcision, tilbagekaldelse, F1-score og ROC-kurven mod "regressionsmodeller", hvor vi vil tackle Root Mean Squared Error, F-Test og R-Squared metoder.

Ydeevne i klassificeringsmodeller

Ofte når vi læser gennem papirer på internettet, ser vi en tabel dukke op, der ser sådan ud:

Bemærk: Tal, der er taget fra Web2Text-slides.

Men hvad betyder disse egentlig? Lad os tage et dybere kig på de forskellige udtryk, begyndende med at introducere “Confusion Matrix”.

Forvirringsmatrix

Et nøglekoncept, som vi er nødt til at kende, før vi er i stand til at forklare præstationsmetrikerne er forvirringsmatrix.

Definition: En forvirringsmatrix er en tabel, der ofte bruges til at beskrive ydeevnen for en klassificeringsmodel (eller "klassifikator") på et sæt testdata, som de sande værdier er kendt for.

En forvirringsmatrix vil se sådan ud:

Ovenstående ser måske "forvirrende" ud, men er faktisk ganske enkel. Den øverste linje dikterer "Faktisk værdi (= sandhed)", mens venstre side viser "forudsigelse".

Vi kunne se på dette i den forstand, at hver gang vi forudsiger korrekt, vil vi se “Sandt”, mens vi, når vi forudsiger forkert, vil se “Falsk” korreleret med den faktiske værdi Positive eller Negative

Kortlægger dette til de udfyldte vilkår:

  • Sandt positivt: Forudsigelse = Sandt, Sandhed = Sandt
  • Falsk Positiv: Forudsigelse = Sand, Sandhed = Falsk
  • Falsk negativ: forudsigelse = falsk, sandhed = sandt
  • Sandt negativt: Forudsigelse = Falsk, Sandhed = Falsk

Lad os se på et eksempel for at gøre dette mere tydeligt.

Eksempel: "Vi ønsker at vise forvirringsmatrixen for en klassifikator, der klassificerer, hvis en objektgenkendelsesmodel registrerede et objekt som en bil eller ikke". Derefter kunne vi se følgende forvirringsmatrix for 1.000 testtilfælde:

Viser, at vi korrekt identificerede en bil i 330 tilfælde, forkert opdagede en bil 2 gange, forudsagde korrekt, at det ikke var en bil 661 gange og forkert forudsagde, at det ikke var en bil 7 gange.

Eller med andre ord: Vi var forkert 9 gange og rigtigt 991 gange (også kendt som nøjagtighed, men mere om dette senere).

Nøjagtighed

Kort sagt: Nøjagtighed er, hvor godt modellen fungerer

Formel: (TP + TN) / (TP + TN + FP + FN) eller #CORRECT_PREDICTIONS / #TOTAL

Præcision

Kort sagt: Hvor ofte har vi ret i vores positive forudsigelse?

Formel: (TP) / (TP + FP) eller #CORRECT_POSITIVE_PREDICTIONS / #POSITIVE_SAMPLES

Med præcision vil vi sikre os, at vi nøjagtigt kan sige, hvornår det skal være positivt. F.eks. I vores eksempel ovenfor ønsker vi at sikre, at når vi siger, at det er en bil, at det virkelig er en bil og ikke et andet objekt. Dette er vigtigt, da vi ofte vil tage handlinger baseret på vores detektioner (f.eks. I en selvkørende bil kan vi ændre hastigheden på baggrund heraf).

Minde om

Kort sagt: Hvor ofte klassificerede vi noget forkert som ikke sandt (= falsk)?

Formel: (TP) / (TP + FN) eller #CORRECT_POSITIVE_PREDICTIONS / #TRUE_TRUTH_VALUES

Husk fremhæver omkostningerne ved at forudsige noget forkert. F.eks. I vores eksempel på bilen, når vi forkert identificerer den som ikke en bil, kan vi ende med at ramme bilen.

F1-score

Kort sagt: Brug præcisionen og husk for at skabe en tests nøjagtighed gennem det ”harmoniske middelværdi”. Det fokuserer på diagonalen fra venstre og nederst til højre i Confusion Matrix.

Formel: 2 * ((præcision * tilbagekaldelse) / (præcision + tilbagekaldelse))

Ser vi på definitionerne af præcision og tilbagekaldelse, kan vi se, at de begge fokuserer på sager med stor indvirkning (f.eks. Vil vi ikke nedbryde biler, når vi fejlagtigt opdagede som ikke en bil (= FN), og vi vil ikke sige at det er en bil, hvis det ikke er (= FP)). Dette er, hvad F1-score gør, det vil fokusere på, hvad der påvirker vores forretning mest sammenlignet med nøjagtigheds-score.

Med andre termer kan vi således sige, at F1-score fokuserer på diagonal fra venstre og nederst til højre.

ROC-kurve

Kort sagt: Denne kurve giver os mulighed for at vælge den optimale model og kaste suboptimale modeller.

Formel: False Positive Rate (FPR) = X-Axis og True Positive Rate (TPR) = Y-Axis

  • FPR: TP / (TP + FN)
  • TPR: FP / (FP + TN)

ROC-kurven (= Modtagerens driftskarakteristik) viser ydeevnen, mens “AUC (= Area Under the Curve)” -præstation metrikken giver os mulighed for at beskrive dette som en værdi til at måle ydeevnen for klassificeringsmodeller.

Hver gang vi klassificerer et punkt, tager vi sandsynligheden for at blive angivet, om det matcher eller klassificerer eller ej (f.eks. Er det en bil eller ikke). Men for at være i stand til at returnere sandt eller usant, er vi nu nødt til at indføre en tærskel, der konverterer denne sandsynlighed til en klassificering.

Baseret på den valgte tærskel vil vi være i stand til at konstruere en forvirringsmatrix.

Vi vil nu skelne området for vores tærskelværdi (f.eks. Foretager vi vores interval på [0, 1] til [0,0, 0,1, 0,2, ..., 0,9, 1,0]), som vi nu kan oprette de respektive forvirringsmatrixer for. Med disse forvirringsmatriser beregner vi nu den sande positive rate (= TPR) gennem formlen TPR = TP / (FP + TN) og den falske positive rate (= FPR) gennem FPR = TP / (TP + FN) og plotter disse .

Dette vil til sidst resultere i noget som dette:

Bemærk: Vi stræber efter at have en model, der har en høj AUC-værdi, eller en ROC-kurve, der viser så meget til venstre som muligt.

Ydeevne i regressionsmodeller

For at beregne effektiviteten af ​​regressionsmodeller bruger vi matematiske formler, der sammenligner den afbildede graf med de punkter, vi forudsiger.

En god regressionsmodel bør fokusere på at minimere forskellen mellem observationen og den forudsagte værdi, samtidig med at den er objektiv. (Ikke partisk betyder, at vi prøver at finde en balance mellem overestimering og underestimering)

Root Mean Square Error (RMSE)

Dette er simpelthen roden til den gennemsnitlige fejl:

Hvilket betyder, at man tager afstanden mellem det faktiske punkt og det forudsagte punkt, kvadrerer dette og deler derefter med den mængde af point, vi har for gennemsnittet.

Grafisk ser det ud som:

F-test

Kort sagt: F-testen bruges til at sammenligne statistiske modeller, der blev monteret på et datasæt, det giver os mulighed for at identificere den model, der bedst passer til befolkningen.

Formel:

Forklaret variant:

Uforklarlig variation:

Hvor:

  • K = Antal grupper
  • N = Samlet prøvestørrelse
  • YijYij = j-th observation i i-th ud af K-grupper
  • Ymean = Samlet gennemsnit af dataene

R-Squared

Kort sagt: R-Squared beskriver, hvor godt en model passer til en lineær regressionsmodel. Jo højere R, jo bedre er pasformen.

Formel:

Nedenstående billede illustrerer:

  • SStot: rød
  • SSres: blå

R-Squared (eller også kaldet “Bestemmelseskoefficient”) viser hvor tæt dataene er på den monterede regressionslinje. Eller med andre ord, det angiver procentdelen af ​​variansen i den afhængige variabel, som de uafhængige variabler forklarer samlet.

Dette er en interessant beregning, fordi det giver os mulighed for at forstå bedre, hvis vores model bliver overfitt eller ikke.