De regel van Bayes

In onze reeks over artificiŽle intelligentie bekijken we in dit artikel een relatief eenvoudige en net daarom allicht veel gebruikte methode uit de statistiek: de regel van Bayes. Een voorbeeld van hoe die regel ingezet kan worden in kwaliteitscontrole geeft aan wat generieke termen als artificiŽle intelligentie en machine learning in de praktijk concreet kunnen betekenen en hoe performant dergelijke systemen kunnen zijn.

Het is een van onze stokpaardjes hier op Productivity.be: de vaststelling dat artificiŽle intelligentie in veel gevallen niet meer is dan de toepassing van statistiek. Op zich is dat uiteraard niet verkeerd maar het kan wel tot een foute inschatting van de mogelijkheden leiden wanneer beoefenaars van AI hun discipline bewust mysterieuzer voorstellen dan ze eigenlijk is.

De regels van Bayes Ė een veel gebruikte methode in AI Ė is daar een mooie illustratie van. De methode op zich dateert al van het begin van de 19-de eeuw, dus erg modernistisch hoeven de beoefenaars daar eigenlijk niet over te doen. Toch is er wel degelijk een specifieke insteek die de toepassing ervan in nieuwe applicaties innovatief maakt. Daarover zo meteen meer, maar eerst: wat is de regel van Bayes?

A posteriori kans

Stel dat ik al eens graag een fietstochtje maak, maar liever niet vertrek wanneer ik denk dat het gaat regenen. Ik zou me dan, in een poging om teleurstellingen te vermijden, kunnen beroepen op de regels van de statistiek om mijn kansen in te schatten.

Een zoektocht op het internet leert me dat er vorig jaar 142 dagen met meetbare neerslag waren. Dat maakt dat ik statistisch gezien 142 kansen tegenover 223 heb Ė of 39% kans Ė dat het vandaag gaat regenen.

Op zich zegt dat nog niet zo veel en dus bedenk ik een experiment om te zien of het feit dat er wolken zijn, mij een beter zicht kan geven op de kans dat het gaat regenen. In mijn experiment wacht ik op 10 dagen dat het regent en stel ik vast dat het in 9 van die 10 dagen ís morgens bewolkt was. Ondertussen zijn er ook 10 dagen gepasseerd dat het niet regende en op 3 van die dagen waren er ís morgens eveneens wolken.

En dan komt de regel van Bayes op de proppen die het mij mogelijk maakt om mijn a priori kans dat het gaat regenen, die we eerder bepaald hebben als 142 tegen 223, te verfijnen op basis van de resultaten van mijn experiment. De regel van Bayes stelt immers dat we de a posteriori kans kunnen bekomen door de a priori kans te vermenigvuldigen met de waarschijnlijkheidsratio uit het experiment.

In dit geval waren de odds a priori 142:223. De regel van Bayes zegt dan dat de kans op regen wanneer er ís morgens wolken zijn, op basis van ons experiment overeenkomt met 142x9:223x3 of 1278:669. Met andere woorden: als ik ís morgens wolken zie in de lucht, mag ik de kans op regen beschouwen als 1278 tegen 669 of 66%. Ik kan dan maar beter thuis blijven.

Bijkomende testen

De kracht van de regel van Bayes zit in de eenvoudige manier waarop het model omgaat met onzekerheden. Indien uit ons experiment gebleken was dat een bewolkte ochtend onvermijdelijk tot regen zou leiden, dan zou het leven van de fietser uiteraard veel eenvoudiger zijn, maar dat is nu eenmaal niet het geval. Onze test heeft zowel false positives (ik zie wolken maar het blijft toch droog) als false negatives (geen wolken in de ochtend en later toch regen).

De beperking van de regel van Bayes is dat die uiteindelijk ook maar een waarschijnlijkheid oplevert. Het is dan aan mij om het risico van 66% op regen te interpreteren en te kiezen wat ik daarmee ga doen.

Het grote voordeel is dan weer dat ik de doeltreffendheid van de methode kan verbeteren door bijkomende testen op te nemen in mijn model. Ik zou een grijze kleur van de lucht mee in rekening kunnen nemen. Of de temperatuur. Voor elk van die parameters kan ik dan een experiment doen om na te gaan wat hun impact is op de kans op regen. De waarschijnlijkheidsratioís van elk van die experimenten kan ik dan meenemen in mijn a posteriori kansberekening door telkens een bijkomende vermenigvuldiging te doen.

De enige voorwaarde die de regel van Bayes in dat verband oplegt is dat alle factoren die ik in rekening wil brengen, onafhankelijk moeten zijn van elkaar.

Machine voorspelt regen

Laten we daar niet flauw over doen: een mens die zoveel rekenwerk nodig heeft om ís morgens te bepalen of hij al dan niet gaat fietsen Ė zo iemand wil niemand in zijn wielertoeristenclub. Maar die perceptie verandert helemaal wanneer onze vriend op de proppen komt met een machine die in staat is om te voorspellen of het gaat regenen. Zo een machine zou men vandaag artificiŽle intelligentie noemen Ė het toonbeeld van high-tech.

Het enige wat daar voor nodig is Ė om in de lijn van ons voorbeeld te blijven Ė is een sensor die ís morgens kan kijken of er wolken zijn. Op basis daarvan zou de machine dan met de regel van Bayes kunnen uitrekenen of het meer waarschijnlijk is dan niet dat het die dag gaat regenen. De machine zou zoals reeds aangehaald nog veel nauwkeuriger worden als die ook bijkomende parameters mee in rekening brengt.

En nu we het toch over een machine met rekenkracht hebben, zou de machine zelf ook de experimenten kunnen uitvoeren om de waarschijnlijkheidsratioís te bepalen die gebruikt worden in de formule van Bayes. Dat is wat men in het jargon tegenwoordig machine learning noemt. Er moet dan wel iemand elke dag tegen de machine zeggen of het al dan niet geregend heeft (gelabelde data, weet je wel) al zou de machine in ons geval ook dat met een sensor kunnen bepalen.

Kwaliteitscontrole

Met dit alles hebben we misschien wel iets te fel ons best gedaan om artificiŽle intelligentie en machine learning te relativeren, want de realiteit is dat zo een machine wel eens indrukwekkende resultaten zou kunnen opleveren. Eens het proces geautomatiseerd is zou de machine immers constant kunnen bijleren om steeds beter te worden. We zouden de machine ook zodanig kunnen maken dat die voor zijn a priori gegevens niet vertrekt van de algemene data van vorig jaar mar van de reŽle data van bijvoorbeeld de afgelopen dertig dagen. Op die manier zou de voorspelling ook automatisch gaan rekening houden met de invloed van de seizoenen.

Het blijft natuurlijk allemaal arbitrair maar zoals een adagium in de statistiek, dat wordt toegedicht aan de wiskundige George E.P. Box, zegt: alle modellen hebben fouten maar sommige zijn wel nuttig.

En zo komen we bij een hele reeks mogelijke applicaties van artificiŽle intelligentie Ė allemaal gebaseerd op de regel van Bayes en uiteraard ook gebruikmakend van een hele reeks bijkomende formules uit de statistiek Ė de ene al complexer dan de andere, maar wel volgens min of meer hetzelfde mechanisme.

Een typisch voorbeeld is kwaliteitscontrole waar het hoger aangehaalde voorbeeld van de machine die kan zeggen of het gaat regenen vrij letterlijk vertaald kan worden naar een machine die kan bepalen of een product in orde is of niet. Zo een machine maakt dan typisch gebruik van een aantal parameters die relatief eenvoudig met behulp van sensoren te bepalen zijn. In experimenten (machine learning) kan dan nagegaan worden wat de waarschijnlijkheidsratioís zijn Ė met andere woorden in hoeverre elke parameter gelinkt kan worden aan het al dan niet ok zijn van een product. Dat doet men door in de learning fase een reeks goede en een reeks slechte producten aan de machine aan te bieden.

Test data

Laat ons als voorbeeld een productlijn nemen die omwille van een onvermijdelijke variatie in het proces 1% foute producten genereert. De a priori kans op een defect is dan 1 tegen 99. In plaats van elk product gedetailleerd te gaan inspecteren kunnen we bijvoorbeeld drie testen verzinnen die met sensoren geautomatiseerd kunnen worden. Voor elk van die testen kunnen we vervolgens bepalen wat de waarschijnlijkheidsratioís zijn. Test 1 zal bijvoorbeeld bij 90% van de defecte producten een alarm geven, maar ook bij 2% van de goede producten. Test 2 en 3 hebben elk hun eigen ratioís.

Eens dat allemaal gekend is kunnen we een nieuw product aan de testen onderwerpen en als dat een alarm geeft bij test 1 en 3 maar niet bij test 2 zal de regel van Bayes ons een precies getal geven voor de waarschijnlijkheid dat het product defect is.

Het is dan aan de gebruiker van de methode om te bepalen bij welke waarschijnlijkheid hij het product wil afkeuren. Dat zal in veel gevallen afhangen van de kost die ontstaat wanneer een slecht product doorgelaten wordt versus de kost van het afkeuren van een goed product.

Hoe nauwkeurig zo een machine is kan overigens ook precies bepaald worden. Eens de training data verwerkt zijn en de machine dus bij elk nieuw product de kans aangeeft dat het defect is, kan men een nieuwe set gelabelde data gebruiken om de doeltreffendheid van de machine zelf te testen. Men zou 100 goede producten kunnen aanbieden en tellen hoeveel er verkeerdelijk afgekeurd worden. Daarna zou men die test ook kunnen herhalen met 100 slechte producten en kijken hoeveel er doorgelaten worden.

Aanvaarden van onzekerheid

En dan is er nog onze uitspraak uit het begin van het artikel, namelijk dat er wel degelijk een specifieke insteek is die de toepassing van oude statistische formules in dergelijke AI projecten innovatief maakt. Die insteek is dat onzekerheid in veel gevallen onvermijdelijk is, en dat de kunst van AI erin bestaat om deze onzekerheid tot vriend te maken.

Als we een proces hebben dat om een of andere onvermijdelijke reden 1% foute producten genereert, zou een klassieke benadering veronderstellen dat elk product grondig nagekeken moet worden vooraleer het naar een klant te sturen.

Het probleem hierbij is dat het in veel gevallen een illusie is van te denken dat men de producten met 100% nauwkeurigheid zou kunnen nakijken. Zelfs als er aan het einde van de lijn een hele groep mensen zouden zitten die rustig de tijd zouden nemen om alles na te kijken, zouden er vroeg of laat toch nog foute producten bij klanten terechtkomen. Dat is in kwaliteitszorg overigens genoegzaam bekend. Qua statistiek kan je die mensen niets wijsmaken.

De clue van artificiŽle intelligentie is in dergelijke gevallen terug te brengen tot het omarmen van deze onzekerheid en te aanvaarden dat er een bepaald percentage aan fouten zal zijn. Uiteraard moet men dan wel zicht hebben op dat percentage en de afweging maken wat het kost om dit terug te dringen versus de mogelijke schade van fouten.

En wat uiteraard ook meespeelt is dat het aanvaarden van onzekerheid niet per se hoeft in te houden dat die onzekerheid ook groot is. Met een aantal goed gekozen parameters en betrouwbare sensoren is het al snel mogelijk een betrouwbaarheidsniveau te bereiken waar veel productiemanagers direct voor zouden tekenen.

© Productivity.be, Foto: bicyling.com


Feel free to share



Productivity.be

is een publicatie van
Redactiebureau ConScript

Contact

Erwin Vanvuchelen
+32 (0)475 64 99 34
erwin@conscript.be
erwinvanvuchelen