Metrics helpen ons te begrijpen wat werkt, wat niet en waarom. Net als al het andere kunnen we de prestaties van machine learning meten om de effectiviteit van onze machine learning-modellen te meten.
Een belangrijk onderdeel van MLOps worden prestatiemetrieken voor machine learning gebruikt om de nauwkeurigheid van machine learning-modellen te evalueren om datawetenschappers en machine learning-professionals te helpen begrijpen hoe goed hun modellen presteren en of ze aan de gewenste doelstellingen voldoen.
Dit artikel legt de soorten prestatiemetrieken voor machine learning uit en de belangrijkste prestatiemetrieken voor machine learning, zoals nauwkeurigheid, ROC-curve en F1-score.
Waarom zijn prestatiemetrieken voor machine learning belangrijk?
Prestatiemetrieken voor machine learning helpen bij verschillende belangrijke aspecten van machine learning, waaronder:
Modelselectie
Prestatiemetrieken helpen bij het vergelijken van verschillende modellen en het selecteren van de best presterende voor een specifieke taak of dataset. Als een model bijvoorbeeld valse positieven moet minimaliseren, wordt precisie een cruciale maatstaf voor evaluatie.
Model Tuning
Metrics sturen het proces van hyperparameter tuning en optimalisatie om de modelprestaties te verbeteren. Door te analyseren hoe veranderingen in hyperparameters van invloed zijn op statistieken zoals nauwkeurigheid, precisie of recall, kunnen artsen modellen verfijnen voor betere resultaten.
Bedrijfsimpact
Prestatiemetrieken zijn direct gekoppeld aan de bedrijfsdoelstellingen die het machine learning-model moet aanpakken. In een toepassing voor de gezondheidszorg kan een model met hoge terugroeping (om valse negatieven te minimaliseren) bijvoorbeeld effectiever zijn dan een model met hoge precisie.
Model Drift
Na de implementatie helpt het monitoren van prestatiemetrieken bij het detecteren van modeldegradatie of "drift". Dit is erg belangrijk voor het behoud van de betrouwbaarheid en effectiviteit van machine learning-systemen in real-world applicaties.
Soorten prestatiemetrieken voor machine learning
Er zijn verschillende soorten prestatiemetrieken voor machine learning, die elk een belangrijke invalshoek bieden over hoe een machine learning-model presteert.
Nauwkeurigheid
Nauwkeurigheid is de meest eenvoudige maatstaf. Het is de verhouding tussen correct voorspelde instanties en het totale aantal instanties in de dataset. Nauwkeurigheid is nuttig voor gebalanceerde datasets wanneer alle klassen even belangrijk zijn.
Precisie
Precisie richt zich op de fractie van relevante instanties onder de opgehaalde instanties. Het is de mogelijkheid van de classificeerder om een monster niet als positief te labelen. Precisie is cruciaal wanneer de kosten van vals-positieven hoog zijn, zoals bij medische diagnoses of fraudedetectie.
Herinneren (gevoeligheid)
Recall meet het vermogen van de classificeerder om alle relevante gevallen binnen een dataset te vinden. Het is de mogelijkheid van de classificeerder om alle positieve monsters te vinden. Herinnering is belangrijk wanneer het missen van positieve instanties (valse negatieven) belangrijker is dan het hebben van valse positieven. Bij kankerdetectie is het bijvoorbeeld van cruciaal belang om alle feitelijke gevallen op te vangen, zelfs als dit een aantal valse alarmen betekent.
F1-score
De F1-score is het harmonische gemiddelde van precisie en recall, en biedt een evenwichtige maatstaf die rekening houdt met zowel valse positieven als valse negatieven. Het is vooral nuttig bij het omgaan met onevenwichtige datasets. Gebruik de F1-score wanneer u precisie en herinnering wilt balanceren en er een ongelijkmatige klasseverdeling is of wanneer valse positieven en valse negatieven soortgelijke gewichten dragen.
ROC-curve en AUC
De receiver operating characteristic (ROC)-curve zet het werkelijke positieve percentage (recall) af tegen het foutpositieve percentage voor verschillende drempels. Het gebied onder de ROC-curve (AUC) biedt een geaggregeerde meting van de prestaties over alle drempels. ROC-curves en AUC zijn met name nuttig bij binaire classificatietaken om de afwegingen tussen echte positieven en valse positieven bij verschillende beslissingsdrempels te begrijpen. AUC is nuttig voor onbalans en drempelselectie.
Specificiteit
Specificiteit meet het percentage werkelijke negatieve gevallen dat door de classificeerder correct als negatief wordt aangemerkt. Het is een aanvulling op recall (gevoeligheid) door te focussen op echte negatieven. Specificiteit is belangrijk in scenario's waarin het correct identificeren van negatieve gevallen cruciaal is, zoals bij ziektescreeningtests waarbij valse alarmen kunnen leiden tot onnodige behandelingen of kosten.
Gemiddelde absolute fout (MAE) en Root Mean Squared Error (RMSE)
Deze metrieken worden vaak gebruikt in regressietaken om de gemiddelde grootte van fouten tussen voorspelde en werkelijke waarden te meten. MAE en RMSE zijn geschikt voor regressieproblemen waarbij de absolute omvang van fouten belangrijk is, zoals het voorspellen van woningprijzen of verkoopprognoses.
Het begrijpen van deze statistieken en het kiezen van de juiste op basis van het specifieke probleemdomein en de bedrijfsvereisten is cruciaal voor het ontwikkelen van effectieve en betrouwbare machine learning-modellen. Elke metriek biedt unieke inzichten in verschillende aspecten van modelprestaties, zodat beoefenaars geïnformeerde beslissingen kunnen nemen tijdens modelontwikkeling, -evaluatie en -implementatie.
Laten we eens dieper ingaan op elke maatstaf.
Nauwkeurigheid
Nauwkeurigheid is een prestatiemetriek die wordt gebruikt om de algehele juistheid van een machine learning-model te evalueren. Het meet de verhouding van correct voorspelde instanties tot het totale aantal instanties in de dataset. Met andere woorden, nauwkeurigheid kwantificeert hoe vaak het model correcte voorspellingen doet van alle voorspellingen.
Wiskundig wordt de nauwkeurigheid berekend als:
Nauwkeurigheid = aantal juiste voorspellingen/totaal aantal voorspellingen ×100%
Hier is een voorbeeld om te illustreren hoe nauwkeurigheid werkt:
Stel dat we een binair classificatieprobleem hebben waarbij we willen voorspellen of een e-mail spam is of niet. We hebben een dataset van 100 e-mails, waarvan 80 geen spam zijn en 20 geen spam. Na het trainen van ons machine learning-model classificeert het 70 van de 80 non-spam e-mails en 15 van de 20 spam-e-mails correct.
Nauwkeurigheid=70+15/100 ×100%=85%
In dit geval is de nauwkeurigheid van ons model dus 85%, wat aangeeft dat het 85 van de 100 e-mails correct heeft geclassificeerd.
Nauwkeurigheid is een geschikte maatstaf om de modelprestaties te evalueren in scenario's waarin alle klassen even belangrijk zijn en er geen sprake is van een onevenwichtigheid in de klassen in de dataset.
Gebruikssituaties
Scenario's waar nauwkeurigheid geschikt is, zijn onder meer:
- E-mailspamclassificatie: Bepalen of een e-mail spam is of niet
- Sentimentanalyse: Klantbeoordelingen classificeren als positief, negatief of neutraal
- Beeldclassificatie: Objecten identificeren in beelden zoals katten, honden of auto's
- Ziektediagnose: Voorspellen of een patiënt een bepaalde ziekte heeft op basis van medische testresultaten
Beperkingen
Nauwkeurigheid heeft enkele beperkingen en overwegingen bij gebruik als enige prestatiemetriek, waaronder:
Class disbalans: Nauwkeurigheid kan misleidend zijn wanneer klassen niet in evenwicht zijn, wat betekent dat de ene klasse veel frequenter is dan de andere. In een dataset met 95% negatieve voorbeelden en 5% positieve voorbeelden zou een model dat altijd negatief voorspelt een nauwkeurigheid van 95% bereiken, maar het zou niet nuttig zijn voor het identificeren van positieve gevallen.
Ongelijke kosten: In sommige toepassingen kan het verkeerd classificeren van een klasse ernstigere gevolgen hebben dan het verkeerd classificeren van een andere klasse. Bij medische diagnoses kan een vals-negatief (het missen van een ziekte) bijvoorbeeld belangrijker zijn dan een vals-positief (het onjuist diagnosticeren van een ziekte). Nauwkeurigheid maakt geen onderscheid tussen dit soort fouten.
Houdt geen rekening met voorspellingsvertrouwen: Nauwkeurigheid behandelt alle voorspellingen gelijk, ongeacht hoe zeker het model is in zijn voorspellingen. Een model dat veel vertrouwen heeft in de juiste voorspellingen, maar minder vertrouwen heeft in onjuiste voorspellingen, kan nog steeds een hoge nauwkeurigheid hebben, zelfs als het over het algemeen niet goed presteert.
Legt geen modelprestaties vast in verschillende groepen: Nauwkeurigheid laat niet zien hoe goed een model presteert op specifieke subgroepen of klassen binnen de dataset. Het behandelt alle klassen gelijk, wat misschien niet het werkelijke belang van verschillende klassen weerspiegelt.
Om deze beperkingen aan te pakken, is het belangrijk om rekening te houden met aanvullende prestatiemetrieken zoals precisie, recall, F1-score, gebied onder de operationele karakteristieke curve van de ontvanger (AUC-ROC) en verwarringsmatrixanalyse op basis van de specifieke kenmerken van het probleemdomein en de bedrijfsvereisten. Deze statistieken bieden meer genuanceerde inzichten in de prestaties van machine learning-modellen dan alleen de nauwkeurigheid kan bieden.
Precisie en recall
Precisie en recall zijn twee belangrijke prestatiemetrieken die worden gebruikt om de effectiviteit van machine learning-modellen te evalueren, vooral bij binaire classificatietaken.
Precisie meet de nauwkeurigheid van de positieve voorspellingen van het model. Het is de verhouding tussen werkelijke positieve voorspellingen en het totale aantal positieve voorspellingen van het model.
Precisie=ware positieven/ware positieven+valse positieven
Precisie is belangrijk omdat het ons vertelt hoeveel van de instanties die door het model als positief worden voorspeld, daadwerkelijk positief zijn. Een hoge precisie geeft aan dat het model minder valse positieven heeft, wat betekent dat het goed is in het vermijden van valse alarmen.
Recall=Waar Positief/Waar Positief+Niet waar Negatief
Herinnering is belangrijk omdat het ons vertelt hoeveel van de werkelijke positieve instanties het model kan vastleggen. Een hoge terugroeping geeft aan dat het model de meeste positieve instanties effectief kan identificeren, waardoor valse negatieven tot een minimum worden beperkt.
Afweging tussen precisie en terugroepen
Er is meestal een afweging tussen precisie en recall. Het verhogen van de precisie leidt vaak tot een afname van de recall, en vice versa. Deze afweging ontstaat omdat het aanpassen van de beslissingsdrempel van een model van invloed is op het aantal echte positieven en valse positieven/negatieven.
Hoge precisie, lage recall: Het model is voorzichtig en conservatief in het labelen van instanties als positief. Het is zorgvuldig om valse positieven te vermijden, maar het kan een aantal werkelijke positieven missen, wat leidt tot een lage terugroeping.
High recall, lage precisie: Het model is ruimer in het labelen van instanties als positief, waarbij de meeste werkelijke positieven worden vastgelegd, maar ook meer valse positieven worden gegenereerd, wat resulteert in een lage precisie.
Gebruikssituaties
Precisie en recall zijn bijzonder nuttige statistieken in:
Medische diagnose: Bij medische diagnose is recall (gevoeligheid) vaak belangrijker dan precisie. Het is van cruciaal belang om alle positieve gevallen (bijv. patiënten met een ziekte) correct te identificeren, zelfs als dit een aantal valse positieven betekent (bijv. gezonde patiënten die zijn gemarkeerd als hebbende de ziekte). Het missen van een positief geval kan ernstige gevolgen hebben.
Opsporing van fraude: Bij fraudedetectie is precisie meestal belangrijker omdat valse alarmen (vals-positieven) gebruikers kunnen hinderen. Het is beter om een hoge precisie te hebben om valse alarmen te minimaliseren en tegelijkertijd ervoor te zorgen dat daadwerkelijke fraudegevallen worden opgespoord (wat van invloed is op het terugroepen).
Ophalen van informatie: In zoekmachines of aanbevelingssystemen wordt terugroeping vaak geprioriteerd om te voorkomen dat relevante resultaten of aanbevelingen worden gemist, zelfs als dit betekent dat sommige irrelevante items worden opgenomen (lagere precisie).
F1-score
De F1-score is een prestatiemetriek die precisie en recall combineert in één waarde, waardoor een evenwichtige beoordeling wordt gegeven van het vermogen van een machine learning-model om instanties correct te classificeren. Het is vooral nuttig in scenario's waarin zowel precisie als herinnering even belangrijk zijn en er een balans tussen hen moet worden bereikt.
De F1-score wordt als volgt berekend aan de hand van het harmonische precisiegemiddelde:
F1-score=2 × Precision x Recall/Precision+Recall
De F1-score varieert van 0 tot 1, waarbij 1 de best mogelijke score is. Het bereikt zijn maximale waarde wanneer zowel precisie als herinnering op het hoogste niveau zijn, wat wijst op een uitgebalanceerd model dat zowel valse positieve als valse negatieven minimaliseert.
Voordelen F1-score
Voordelen van het gebruik van de F1-score zijn onder andere:
Evenwichtige evaluatie: De F1-score houdt rekening met zowel precisie als recall en biedt een evenwichtige evaluatie van de prestaties van een model. Dit is vooral gunstig in scenario's waarin zowel valse positieve als valse negatieven even belangrijk zijn, zoals bij medische diagnose of anomaliedetectie.
Enkele metriek: In plaats van precisie en recall afzonderlijk te evalueren, combineert de F1-score ze in één waarde, waardoor het gemakkelijker wordt om verschillende modellen of tuningparameters te vergelijken.
Gevoelig voor onbalans: De F1-score is gevoelig voor klasse-onbalans omdat er rekening wordt gehouden met zowel valse positieven als valse negatieven. Het bestraft modellen die sterk de voorkeur geven aan de ene klasse ten opzichte van de andere.
Interpretatie van de F1-score
Het interpreteren van F1-scoreresultaten houdt in dat u de afweging tussen precisie en recall begrijpt.
Hier zijn enkele scenario's en interpretaties:
Hoge F1-score: Een hoge F1-score geeft aan dat het model een goede balans heeft bereikt tussen precisie en recall. Het betekent dat het model effectief is in het minimaliseren van valse positieven (hoge precisie) en het vastleggen van de meest positieve gevallen (hoge herinnering).
Lage F1-score: Een lage F1-score suggereert een onbalans tussen precisie en recall. Dit kan gebeuren als het model naar één klasse is toe bevooroordeeld, wat leidt tot ofwel veel fout-positieven (lage precisie) of veel fout-negatieven (lage herinnering).
Modellen vergelijken: Bij het vergelijken van verschillende modellen of het afstemmen van hyperparameters is het kiezen van het model met de hoogste F1-score gunstig, vooral in scenario's waarin precisie en herinnering even belangrijk zijn.
Voorbeelden
Laten we eens kijken naar een classificatiemodel voor spam-e-mail.
Stel dat Model A een precisie heeft van 0,85 en een recall van 0,80, wat resulteert in een F1-score van 0,85
Aan de andere kant heeft model B een precisie van 0,75 en een recall van 0,90, wat resulteert in een F1-score van 0,818.
Hoewel model B een hogere recall heeft, leidt de lagere precisie tot een iets lagere F1-score in vergelijking met model A. Dit suggereert dat model A meer in balans kan zijn in termen van precisie en recall, afhankelijk van de specifieke vereisten van de applicatie.
ROC-curve en AUC
Zoals eerder beschreven, worden de ROC-curve en AUC gebruikt bij binaire classificatieproblemen om de voorspellende prestaties van machine learning-modellen te evalueren, vooral in scenario's waarin de klasseverdeling niet in evenwicht is.
ROC-curve
De ROC-curve is een grafische weergave van de afweging tussen het true positive rate (TPR), ook bekend als recall of gevoeligheid, en het false positive rate (FPR) van een classificatiemodel over verschillende drempels. TPR meet het percentage werkelijke positieve instanties dat door het model als positief wordt geïdentificeerd, terwijl FPR het percentage werkelijke negatieve instanties meet dat ten onrechte als positief is geclassificeerd.
De ROC-curve wordt gecreëerd door de TPR (y-as) tegen de FPR (x-as) te plotten bij verschillende drempelinstellingen. Elk punt op de curve vertegenwoordigt een andere drempel, en de curve toont hoe de prestaties van het model veranderen naarmate de drempel voor classificatie verandert.
Afruilvisualisatie
De ROC-curve visualiseert de afweging tussen gevoeligheid (recall) en specificiteit (1 - FPR), aangezien de beslissingsdrempel van het model varieert. Een model met hoge gevoeligheid (TPR) heeft meestal een hogere FPR, en vice versa. De curve toont de prestaties van het model voor alle mogelijke drempelwaarden, zodat analisten de drempel kunnen kiezen die het beste bij hun specifieke behoeften past op basis van de afweging die ze bereid zijn te accepteren tussen echte positieven en valse positieven.
AUC
De AUC is een scalaire waarde die de algehele prestaties van een classificatiemodel kwantificeert op basis van de ROC-curve. Het meet met name het gebied onder de ROC-curve, dat het vermogen van het model weergeeft om onderscheid te maken tussen positieve en negatieve klassen over alle mogelijke drempelinstellingen.
AUC helpt de algehele prestaties van een machine learning-model te evalueren via:
Prestatievergelijking: Een hogere AUC-waarde wijst op een beter discriminatievermogen van het model, wat betekent dat het effectief onderscheid kan maken tussen positieve en negatieve instanties over een reeks drempels. Het maakt een eenvoudige vergelijking tussen verschillende modellen mogelijk, waarbij hogere AUC-waarden een betere algehele prestatie aangeven.
Robuustheid tot klasse-onbalans: De AUC wordt minder beïnvloed door de onbalans in de klasse in vergelijking met statistieken zoals nauwkeurigheid, precisie en recall. Het houdt rekening met de prestaties van het model over alle mogelijke drempels, waardoor het geschikt is voor onevenwichtige datasets waar de klasseverdeling is scheef.
Drempelonafhankelijke evaluatie: AUC evalueert de prestaties van het model zonder een bepaalde drempel voor classificatie op te geven, waardoor een uitgebreidere beoordeling van het discriminerende vermogen van het model wordt gegeven, ongeacht het gekozen werkingspunt.
Conclusie
Machine learning-prestatiemetrieken helpen bij het evalueren en vergelijken van verschillende machine learning-modellen door onder andere kwantitatieve metingen te bieden van de nauwkeurigheid, precisie, terugroeping, F1-score en ROC-curve van een model. Het begrijpen van deze statistieken is uiterst belangrijk voor datawetenschappers en machine learning-professionals terwijl ze de verschillende taken en uitdagingen van modelontwikkeling, -optimalisatie en -implementatie navigeren.
Kortom, de prestatiemetriek van machine learning biedt diepere inzichten in de sterke en zwakke punten van een model, waardoor geïnformeerde beslissingen over modelselectie, hyperparametertuning en het monitoren van modelprestaties in de loop van de tijd mogelijk zijn. Of het nu gaat om classificatietaken waarbij precisie en recall van het grootste belang zijn, regressieproblemen waarbij MAE en RMSE van belang zijn, of binaire classificatiescenario's die profiteren van ROC-curves en AUC, het juiste gebruik van prestatiemetrieken verbetert de robuustheid en betrouwbaarheid van machine learning-oplossingen, wat uiteindelijk leidt tot betere resultaten en een positieve bedrijfsimpact.
Dat gezegd hebbende, betekent het volledig benutten van uw machine learning-modellen dat u uw dataopslag toekomstbestendig maakt met een AI-Ready Infrastructuur. Ontdek hoe Pure Storage u helpt modeltraining en gevolgtrekking te versnellen, operationele efficiëntie te maximaliseren en kostenbesparingen te realiseren.