Een classifier is een AI-model dat dingen in vaste categorieën indeelt: een e-mail is spam of niet, een supportticket gaat over facturen of over bezorging. Jij kiest de categorieën. Het model leert van voorbeelden die mensen al van een label hebben voorzien, en labelt daarna zelf nieuwe gevallen, vaak met een score voor hoe zeker het is. Waar regressie een getal voorspelt, voorspelt een classifier een categorie.
Hoe werkt het?
De meeste classifiers worden getraind met supervised learning: het model ziet veel invoer met het juiste label en leert welke patronen bij welke klasse horen. De Machine Learning Crash Course van Google gebruikt een spamfilter als voorbeeld. Het model geeft elke e-mail een kans dat het spam is, en een drempelwaarde (classification threshold) maakt van die kans een label. Met de drempel op 0,5 gaan e-mails met een score van 0,99 en 0,51 allebei naar de spammap; met de drempel op 0,95 alleen de eerste.
Er zijn drie opzetten. Binaire classificatie heeft twee klassen. Bij multiclass-classificatie krijgt elke invoer precies één van meerdere klassen, zoals sinaasappel, appel of peer. Bij multilabel-classificatie kan een invoer meerdere labels tegelijk krijgen, omdat de eigenschappen elkaar niet uitsluiten (scikit-learn). Gangbare algoritmen zijn logistische regressie, beslisbomen en random forests, support vector machines, naive Bayes en neurale netwerken, en de Python-bibliotheek scikit-learn heeft ze allemaal.
Een groot taalmodel kan classificeren zonder die training: je beschrijft de categorieën in de prompt, met of zonder een paar voorbeelden (zero-shot of few-shot prompting). In de handleiding voor ticketrouting van Anthropic sorteert Claude supporttickets op bedoeling, en volgens Anthropic lukt dat met een paar dozijn gelabelde voorbeelden, waar traditionele machine learning grote gelabelde datasets nodig heeft.
Hoe meet je het?
De crash course begint bij de confusion matrix, die vier uitkomsten telt: terecht en onterecht positief, en terecht en onterecht negatief. Daaruit volgen de gangbare maten:
- Accuracy: het aandeel van alle indelingen dat klopt.
- Precision: van alles wat als positief is gelabeld, het aandeel dat echt positief is (hoeveel van de spammap is spam).
- Recall: van alle echte positieven, het aandeel dat het model vond (hoeveel van de spam in de spammap belandde).
- F1: het harmonisch gemiddelde van precision en recall, beter dan accuracy als de klassen scheef verdeeld zijn.
Accuracy misleidt als één klasse zeldzaam is. Is 1% van de gevallen positief, dan scoort een model dat altijd "negatief" zegt 99% accuracy en is het toch nutteloos. Een hogere drempel verbetert meestal de precision en verlaagt de recall, dus de juiste drempel hangt af van welke fout meer kost: een echte e-mail in de spammap, of spam in de inbox.
Voorbeeld
Het spamfilter van Gmail is een classifier op grote schaal: in een blogpost uit februari 2019 noemde Google 1,5 miljard Gmail-gebruikers per maand. Google schreef dat zijn machine-learningmodellen, samen met regelgebaseerde beveiliging, meer dan 99,9% van de spam, phishing en malware uit Gmail-inboxen hielden. Nieuwe modellen, gebouwd met TensorFlow, blokkeerden ongeveer 100 miljoen extra spamberichten per dag, waaronder spam in afbeeldingen en berichten van domeinen die kort daarvoor waren geregistreerd. Elke e-mail heeft volgens Google duizenden mogelijke signalen, die de modellen samen afwegen.
Bronnen
- Google: Machine Learning Crash Course, ClassificationWeb
- scikit-learn: Multiclass and multioutput algorithmsWeb
- scikit-learn: Supervised learningWeb
- Google Workspace Blog: Spam does not bring us joy, ridding Gmail of 100 million more spam messages with TensorFlowRSS
- Anthropic: Ticket routing (Claude Platform Docs)Web
