You are here

Single sample statistics: leren van één voorbeeld

Data, netwerken, grafen, knopen, zelfs bomen en broccoli, Peter Bloem schikt en ordent. Zijn promotieonderzoek gaat over statistiek en complexe netwerken. door Edda Heinsman

Overal brengt Bloem structuur in aan, behalve in zijn eigen agenda. De wetenschapper vergeet de afspraak voor het interview over zijn onderzoek. In de lange gangen van de VU heerst nog rust, het is zomervakantie. Maar op de gang van de afdeling Computer Science wordt al volop gewerkt. Zo ook informaticus Peter Bloem, net gepromoveerd. Gelukkig heeft hij toch tijd om te vertellen over zijn onderzoek 'single sample statistics': wat je kunt leren van slechts één voorbeeld.

Bloem steekt meteen van wal: het onderwerp 'single sample statistics' behelst niet zijn hele onderzoek. 'Het was de beste rode draad die ik kon bedenken, maar in feite heb ik verschillende onderzoeken uitgevoerd.' We beginnen toch maar met het eerste - bijna filosofische- onderwerp waar hij de titel van zijn proefschrift van maakte: het halen van informatie uit slechts één voorbeeld.

Schijf van Phaistos

'Normaal heb je in de statistiek veel data tot je beschikking: bijvoorbeeld de eindexamencijfers van heel Nederland. De vraag is, wat kan je als je maar één voorbeeld ergens van hebt. Eén getal, zoals het eindcijfer van een student, zegt weinig over de hele Nederlandse populatie. Toch zegt het wel iets meer dan helemaal niks. Vooral als het ene voorbeeld dat je hebt meer is dan een getal, zoals de Schijf van Phaistos, oude tekens op een kleitablet. We weten niet genoeg om het te kunnen vertalen. Maar je kunt er wel wat mee.'

Bloem was vooral op zoek naar de structuur van grote netwerken, zoals het internet. Maar er bestaat maar één internet. Kun je dan toch iets over de structuur zeggen? 'Je wilt onderscheid maken tussen wat bij de structuur hoort, en wat er niet bij hoort. In het vierde hoofdstuk van mijn thesis heb ik heel aannemelijk gemaakt dat je slechts met een voorbeeld, één internet, geen onderscheid kunt maken tussen wat structuur is en wat random noise. Veel anderen hebben dat ook geprobeerd, maar wij laten zien dat het zeer waarschijnlijk niet mogelijk is.'

Bloem stelde dus vast dat met slechts één voorbeeld weinig te zeggen is over de structuur van data. Wel lukte het hem om de optimale compressie van data te berekenen. 'Je kijkt dan welke manier van beschrijven je in staat stelt de data zo kort mogelijk op te schrijven. Je gaat bijvoorbeeld op zoek naar alle structuur in een tekst. De letter 'e' komt vaker voor dan 'z', dus die geef je een kortere code. Hoe meer structuur je vindt, hoe minder ruimte je nodig hebt om de data op te slaan. De mate waarin je de data kunt comprimeren noem je de Kolmogorov complexiteit. Een van de belangrijkste eigenschappen van die Kolmogorov complexiteit is dat het niet te berekenen is. Wij hebben bewezen dat je met bepaalde extra aannames een benadering kunt berekenen die met hoge waarschijnlijkheid heel nauwkeurig is. Die kortste beschrijving bestaat.'

Kluwen

Informatie uit een tabel halen, is eenvoudig. Neem bijvoorbeeld weer de cijferlijst van een leerling. In een oogopslag zie je welk cijfer de student voor welk vak heeft gehaald. Maar er zijn heel veel studenten, met heel veel cijferlijsten. En koppel je daar ook nog de woonplaats aan, of het tijdstip waarop een examen is gemaakt of met welke studenten de leerling samenwerkte, dan krijg je te maken met een ingewikkeld netwerk. 'Je komt dit soort complexe netwerken overal tegen. Ook in de biologie, denk maar aan hoe de proteïnen in een cel samenwerken. Een enorm complex netwerk van lijntjes', aldus Bloem. 'Er bestaat nog geen goede statistiek om dit soort netwerken te analyseren.'

Hoe schep je orde in de chaos? 'Een manier is op zoek gaan naar subgrafen; subnetwerken die eenheden vormen, als een kluwen wol die je in kleine stukjes opdeelt. Er wordt veel onderzoek naar gedaan. Een veelbelovende methode is Netwerk Motifs, subnetwerken die vaak terugkeren. Belangrijk is daarbij om onderscheid te maken tussen dingen die verwacht en onverwacht vaak terugkomen. Als je bijvoorbeeld naar een tekst kijkt, komen de woorden 'de', 'het' en 'een' vaak terug. Maar dat zijn geen interessante woorden. In een model van de Nederlandse taal verwacht je dat dit woord vaak voorkomt. Een woord dat ten opzichte van dit taalmodel onverwacht vaak voorkomt, is een interessant woord.'

Een nadeel met de standaardmethode is dat je hiervoor heel veel moet tellen hoe vaak iets voorkomt in je data en bovendien in duizenden 'random' grafen moet kijken hoe vaak je verwacht dat de subgraaf voorkomt. 'Alsof je alle woorden niet alleen in je eigen boek moet tellen, maar ook in alle boeken in de bibliotheek.' Bloem gebruikte een slimme compressietechniek om die tweede stap niet te hoeven doen. 'Het werkt goed! Een stuk sneller dan de meeste bestaande modellen. Die kunnen grafen aan tot ongeveer 2000 knopen op een gewone laptop. Mijn methode kan in een paar uur tot een miljoen grafen berekenen. Dat is dus een aardige schaalvergroting.'

Broccoli romanesco

Fractals

Al met al een behoorlijk ingewikkeld verhaal. Meer inzichtelijk is zijn onderzoek aan fractals. Een fractal is een afbeelding waarvan een deel van de figuur dezelfde vorm heeft als de totale figuur. En als je weer in dat deel inzoomt, krijg je weer dezelfde vorm (zoals bijvoorbeeld bij broccoli romanesco). 'Toen ik voor het eerst op de universiteit leerde over complexiteit, keek ik wel echt anders naar de wereld om me heen. Een boom waarbij elke tak weer een klein boompje is, een wolk met aan de randen kleine versies van die wolk, overal zag ik fractals, overal een bepaalde orde. Maar dat was vooral toen ik er net mee begon', lacht Bloem.

Het is redelijk eenvoudig om zelf met een paar regels code een prachtige fractal te maken. Het omgekeerde probleem: van een afbeelding van een fractal de wiskundige beschrijving geven, is heel moeilijk. Bloem ging al tijdens zijn master op zoek naar de oplossing, maar kwam er toen niet uit. Tijdens zijn promotieonderzoek besloot hij er aan door te werken en kwam het Eurekamoment. 'In de methodes tot nu toe werd nauwelijks rekening gehouden met dat het fractals zijn en hoe fractals werken. Mijn nieuw algoritme doet dit wel, waardoor het een efficiënter leermodel heeft.'

Een directe toepassing voor zijn algoritme heeft Bloem niet. 'Zoals het algoritme er nu ligt zul je er geen geld mee verdienen of levens redden. Maar ik hoop dat mensen mijn methode oppikken en daarmee betere modellen kunnen maken.'

Peter Bloem (1983) haalde zijn bachelor kunstmatige intelligentie en zijn master artificial intelligence aan de Universiteit van Amsterdam. 2011 begon hij daar aan zijn promotieonderzoek. 31 mei 2016 promoveerde hij met het proefschrift 'Single sample statistics - exercises in learning from just one example'. Zijn onderzoek werd deels gefinancierd door Commit, binnen het project Data2Semantics.