Ga naar inhoud

Alle artikelenEngineering

Een confidencescore is geen kans dat het antwoord klopt

Het getal dat een model naast zijn antwoord zet, is niet de kans dat dat antwoord klopt. En juist in de segmenten waar het model het betrouwbaarst lijkt, zitten de ergste fouten verstopt. Wij hebben confidencedrempels vervangen door een licentie per segment, die wordt verdiend met gecontroleerde gevallen en automatisch vervalt.

11 februari 20256 min leestijdGeschreven door David GrayhurstBronnen gecontroleerd 2 oktober 2026

Een claimsmanager legde een dossier op tafel. Een stormschade aan een woonhuis was binnengekomen met de offerte van een aannemer en een pagina foto's. Het systeem had de documenten gelezen, de claim onder de verkeerde dekking ingedeeld en aangemaakt met een reservecategorie die voor dit product niet meer bestond. De claim ging zonder beoordeling rechtstreeks naar de wachtrij van een schadebehandelaar. Naast de beslissing stond in de log een confidence van 0,97. "Als het 97% zeker was," vroeg hij, "waarom zat het dan fout?"

Het systeem was nergens 97% zeker van. Het getal was een score die het model aan zijn eigen uitvoer gaf. Over veel claims genomen hing die score wel samen met de juistheid, ongeveer zoals het gevoel van zekerheid bij een mens. Maar het was geen gemeten kans, en voor dit product, na de wijziging van de polisvoorwaarden vorige maand, zei het getal zelfs helemaal niets.

Na dat gesprek zijn we gestopt met confidencedrempels voor straight-through processing. Wat ervoor in de plaats kwam, is minder elegant en veel makkelijker te controleren.

Een systeem dat vloeiend formuleert, klinkt zeker

Het probleem is goed gedocumenteerd. In "On Calibration of Modern Neural Networks" (ICML 2017) lieten Guo en collega's zien dat moderne deep networks de neiging hebben te zelfverzekerd te zijn: de gerapporteerde confidence loopt voor op de nauwkeurigheid. Onderzoek naar taalmodellen wijst dezelfde kant op. Xiong en collega's vonden op ICLR 2024 dat modellen die hun zekerheid moeten benoemen, die meestal overschatten. De antwoorden clusteren rond hoge waarden, of ze nu kloppen of niet.

In de bedrijfsvoering is het effect sterker, om een structurele reden. De gevallen waarin een model de fout ingaat, zien er meestal normaal uit: een bekende tussenpersoon die een net gelanceerd product indient, een keurige offerte ingedeeld onder een dekking die vorige maand in tweeën is gesplitst. Niets in de invoer verraadt dat er iets is veranderd, dus verandert er ook niets aan hoe het model zichzelf beoordeelt. Zelfverzekerde fouten zijn geen zeldzame uitschieters. Zo gaat een vloeiend formulerend systeem mis als het bedrijf er ongemerkt omheen verandert.

Er is een terecht tegenargument. Onderzoekers van Anthropic lieten in 2022 in "Language Models (Mostly) Know What They Know" zien dat grote modellen bij sommige vraagvormen goed gekalibreerd kunnen zijn, en dat een eenvoudige aanpassing veel van de resterende miskalibratie oplost. Hetzelfde artikel vond dat de inschatting van het model of het een antwoord weet, slecht gekalibreerd was bij soorten vragen waarop het niet was afgestemd. Dat is precies onze situatie. Een score kan opnieuw worden gekalibreerd op de claims van vorig kwartaal. De miskalibratie die geld kost, komt met de nieuwe voorwaarden van volgende maand, voordat iemand de gegevens heeft om opnieuw te kalibreren.

Straight-through is een licentie per segment

We geven een systeem geen drempel. We geven elk segment een licentie. Een segment is een claimsoort, gecombineerd met het kanaal waarlangs de claim binnenkwam en de productlijn. Een segment krijgt pas een licentie voor straight-through processing als op de eigen beoordeelde gevallen van de verzekeraar aan drie voorwaarden is voldaan: een minimale reeks opeenvolgende gevallen die door een mens zijn gecontroleerd, nul fouten daarin in elk veld dat geld verplaatst, hier de dekking en de reservecategorie, en elke onafhankelijke controle geslaagd bij elk geval. De claims lead legt die minimale reeks voor de livegang vast. De licentie wordt in het dossier vastgelegd, met de datum, de gevallen waarop ze is verdiend en de versies van het model en de regels die toen in gebruik waren. Combinaties met weinig volume worden in één segment samengevoegd, omdat weinig daarvan ooit alleen een licentie zouden verdienen.

Een productlijn of tussenpersoon die voor het eerst voorkomt, heeft geen licentie. De eerste claims worden dus altijd beoordeeld, hoe netjes ze er ook uitzien. Alleen al daardoor verdwijnt een groot deel van de zelfverzekerde fouten die we vroeger zagen, want juist bij nieuwe producten en nieuwe formulieren stapelen onopgemerkte leesfouten zich op.

Het verandert ook het gesprek. Niemand op een schadeafdeling wil discussiëren over kalibratiecurves. Een licentie kan een manager gewoon opvragen, samen met de gevallen waarop ze is verdiend en de gebeurtenissen die haar weer zouden intrekken.

Bewijs komt van controles die hadden kunnen falen

Het sterkste bewijs dat een antwoord klopt, komt zelden van het model dat het antwoord gaf. Het komt van controles die zelfstandig hadden kunnen falen.

Bij een schadeclaim op een woonhuis zijn die controles concreet. Het polisnummer leidt naar een polis die op de schadedatum van kracht was. De eiser is de verzekeringnemer of iemand die op de polis staat. De voorgestelde dekking zit echt in deze polis. De regels van de offerte tellen op tot het totaal. De reservecategorie is geldig voor dit product en deze claimsoort en is eerder gebruikt voor dit soort schade. Elke controle is deterministisch en goedkoop, en wordt bij het geval vastgelegd.

In een segment met licentie gaat een claim die al deze controles haalt door, zonder dat iemand naar de score kijkt. Eén mislukte controle legt hem bij een behandelaar neer, en een 0,99 ernaast verandert daar niets aan. Uiteindelijk hebben we de score toch ergens voor gehouden: hij bepaalt de volgorde van de beoordelingswachtrij, laagste eerst, zodat de twijfelgevallen worden gelezen terwijl mensen nog fris zijn.

Gevolgen wegen zwaarder dan nauwkeurigheid

Een licentie zegt hoe vaak een segment gelijk heeft. Ze zegt niets over wat een fout kost. Een verkeerde reservecategorie bij een kleine glasschade herstelt de behandelaar bij de volgende beoordeling. Een claim die als zaakschade loopt terwijl de documenten letsel noemen, kan een termijn missen die voor de klant en de verzekeraar telt.

Sommige beslissingen gaan daarom nooit straight-through, wat de licentie ook zegt: elke claim waarin letsel wordt genoemd, reserves boven een limiet die de claims lead vaststelt, claims die passen bij de indicatoren van het fraudeteam, claims op polissen die pas een paar dagen voor de schade zijn ingegaan, en alles wat een klant zou vertellen dat de schade niet gedekt is. Het systeem bereidt die gevallen volledig voor. Een mens beslist.

De beste segmenten vragen het scherpste toezicht

De fouten die tot een uitkering doorlopen, komen zelden uit rommelige segmenten. Rommelige claims vallen door de controles en belanden in de beoordeling, waar mensen ze opvangen. De schadelijke fouten komen uit segmenten die al maanden betrouwbaar zijn. Die hebben een licentie, beoordelaars zien ze niet meer, en als een tussenpersoon zijn schadeformulier verandert of het productteam de voorwaarden herziet, verandert er niets aan hoe het model zichzelf beoordeelt. Juist de betrouwbaarheid neemt het menselijke oog weg dat de verandering had opgemerkt. Stripe beschrijft het spiegelbeeld in zijn inleiding over machine learning voor fraudedetectie: zodra een betaling is geblokkeerd, komt niemand ooit te weten of het fraude was, dus de werkelijke nauwkeurigheid van het model boven de drempel kan alleen worden geschat. Straight-through processing heeft dezelfde blinde vlek aan de andere kant. Zodra een geval zonder beoordeling doorgaat, weet niemand of het klopte, tot er iets misgaat.

Daarom gaat uit elk segment met een licentie altijd een kleine willekeurige steekproef naar een beoordelaar. Daarnaast vervalt een licentie automatisch in vier situaties: bij een bevestigde fout in een geval dat zonder beoordeling is verwerkt; bij elke wijziging in het model of de classificatieregels, ook nieuwe polisvoorwaarden; bij een nieuwe opmaak van een formulier, die het systeem herkent door de opbouw van elk document te vergelijken met eerdere indelingen; en bij claims van die soort die binnenkomen via een kanaal waarop de licentie niet is verdiend, zoals een nieuw portaal voor tussenpersonen. Over de kanaalregel hebben we lang getwijfeld, omdat hij bij elk nieuw portaal extra werk geeft. We hebben hem gehouden. Een nieuw portaal verandert hoe de documenten eruitzien meer dan iemand verwacht. Vervalt een licentie, dan is er niets misgegaan; het systeem heeft gemerkt dat zijn bewijs verouderd is.

Een licentie wordt verdiend en behouden op recente productiegevallen, niet op de acceptatieset, want die geeft alleen een beeld van het verleden. En de claimsmanager krijgt nooit één nauwkeurigheidscijfer voor het hele systeem. Zo'n cijfer wordt bepaald door de grootste claimsoorten en verbergt juist de segmenten waar de fouten zich ophopen. De manager ziet welke segmenten een licentie hebben, op welke gevallen elke licentie is gebaseerd en elke zelfverzekerde fout sinds het vorige rapport.

Eén vraag geeft de doorslag

Laat iemand ons een systeem zien dat gevallen doorzet op basis van de confidence van het model, dan vragen we: hoeveel van de gevallen die vorige maand zonder beoordeling zijn verwerkt, bleken later fout, en in welke segmenten? Zolang dat getal er niet is, segment voor segment, weet je van het systeem alleen hoe zeker het klinkt, niet hoe nauwkeurig het is.

Bespreek uw operatie met onze engineers.

Beschrijf één proces en de systemen waarop het steunt. Een senior engineer reageert binnen twee werkdagen met een eerste beoordeling: wat we zouden bouwen, wat niet, en waarom.

Een senior engineer leest elke aanvraag en reageert binnen twee werkdagen.