Regressie en classificatie zijn twee van de meest voorkomende taken voor een AI-model dat leert van voorbeelden met een bekend antwoord. Regressie voorspelt een getal, zoals de omzet van volgende week of een levertijd. Classificatie voorspelt een categorie, zoals spam of geen spam, of welk team een klantvraag moet oppakken. Welke je nodig hebt, hangt af van je vraag, en die keuze bepaalt hoe het model wordt getraind en getest.
Wat is het verschil?
Beide zijn vormen van supervised learning: het model leert van voorbeelden met het goede antwoord erbij, het label. De introductie tot machine learning van Google noemt ze twee van de meest voorkomende toepassingen van supervised learning. Een regressiemodel voorspelt een getal, zoals de hoeveelheid regen in millimeters. Een classificatiemodel voorspelt of iets tot een categorie behoort, bijvoorbeeld of een e-mail spam is.
Het leerboek Deep Learning van Goodfellow, Bengio en Courville noemt de twee taken gelijk, op de vorm van de uitvoer na: een van een vaste reeks categorieën, vaak met een kans voor elke categorie, of een getal. Het voorbeeld van regressie in het boek is voorspellen hoeveel een verzekerde zal claimen, waarmee verzekeraars hun premies vaststellen.
Hoe train en test je ze?
De uitvoer bepaalt de rest. Een regressiemodel wordt meestal getraind op de mean squared error of de mean absolute error, en een classifier op cross-entropy, ook log loss genoemd (zie loss function). In de Python-bibliotheek scikit-learn bestaat hetzelfde neurale netwerk in beide vormen: MLPRegressor heeft geen activatiefunctie in de uitvoerlaag en minimaliseert de kwadratische fout, en MLPClassifier minimaliseert cross-entropy en geeft per klasse een kans. Ook beslisbomen en random forests bestaan in beide versies.
Ook de scores verschillen. Een classifier wordt beoordeeld op hoe vaak zijn labels kloppen, met maten als accuracy, precision en recall. Een regressiemodel wordt beoordeeld op hoe ver zijn getallen ernaast zitten. De mean absolute error is de gemiddelde afwijking in de eenheid van het label, zoals euro's of dagen. De R²-score vergelijkt het model met een model dat altijd het gemiddelde voorspelt: dat scoort 0, een perfect model 1, en een model dat het slechter doet dan het gemiddelde scoort onder 0.
Waar wordt het verwarrend?
- Logistische regressie is een methode voor classificatie. scikit-learn merkt op dat het ondanks de naam een lineair model voor classificatie is. De woordenlijst van Google rekent het wel tot de regressiemodellen, omdat het een kans tussen 0 en 1 voorspelt; een drempel die een mens kiest, maakt van die kans daarna een klasse.
- Een getal is niet altijd een hoeveelheid. Dezelfde woordenlijst noemt een model dat een numerieke postcode voorspelt een classificatiemodel.
- Veel vragen kun je op twee manieren stellen: hoeveel regen er valt, of dat het gaat regenen. De beslissing die je moet nemen, laat zien welke vorm past.
Kan een taalmodel allebei?
Een groot taalmodel kan tekst indelen in categorieën die je in de prompt beschrijft (zero-shot of few-shot prompting). Het kan ook getallen voorspellen. Vacareanu e.a. (2024) gaven modellen als GPT-4 en Claude 3 voorbeelden van invoer en uitvoer in de prompt. Op synthetische testsets kwamen hun voorspellingen in de buurt van die van supervised methoden zoals random forests, en soms deden ze het beter. De auteurs stellen niet voor dat taalmodellen de gewone regressiemethoden vervangen.
Voorbeeld
Stel: een verzekeraar voor kleine bedrijven wil per polis twee voorspellingen. Of een nieuwe schadeclaim met de hand gecontroleerd moet worden, is een classificatievraag: ja of nee. Hoeveel de klant het komende jaar waarschijnlijk zal claimen, is een regressievraag, het voorbeeld uit het leerboek. Beide modellen kunnen dezelfde polisgegevens gebruiken, maar elk leert van een ander label en wordt met een andere score beoordeeld.
Bronnen
- Google for Developers: Introduction to Machine Learning, What is Machine Learning?Web
- Goodfellow, Bengio and Courville: Deep Learning, chapter 5, Machine Learning Basics (2016)Web
- Google for Developers: Machine Learning GlossaryWeb
- scikit-learn: Supervised learningWeb
- scikit-learn: Metrics and scoring, quantifying the quality of predictionsWeb
- Vacareanu et al.: From Words to Numbers, Your Large Language Model Is Secretly A Capable Regressor When Given In-Context Examples (2024)arXiv
