Statistische Inferentie met Datacompressie Rudi Cilibrasi Dit proefschrift gaat over de theorie en praktijk van datacompressie-programma's die gebruikt worden om een bepaalde vorm van machinaal leren te realiseren. Het gaat hierbij in eerste instantie om het groeperen (clusteren) van objecten die op de een of andere manier op elkaar lijken. In eerste instantie gaat het om objecten die letterlijk in een computerbestand kunnen worden gerepresenteerd, zoals bijvoorbeeld literaire teksten, DNA sequenties, muziekstukken en afbeeldingen. Een van de belangrijkste conclusies van het proefschrift is dat het ook mogelijk is om te werken met objecten die staan voor abstracte begrippen, zoals 'liefde' en 'geluk'. De eenvoudigste en meest populaire toepassing die al in gebruik was voordat Cilibrasi aan zijn onderzoek begon, was taalboomconstructie. In een vroeg experiment werd de Universele Verklaring van de Rechten van de Mens gebruikt om verrassend accurate etymologische bomen te construeren. Dit gebeurde via een computerprogramma, zonder enige menselijke tussenkomst. Toch stemden deze bomen overeen met de beste inschattingen van taalkundige experts. Het computerprogramma was gebaseerd op twee onderdelen: ten eerste een elementair, en algemeen toepasbaar datacompressieprogramma, en ten tweede, een betrekkelijk eenvoudig boomzoeksysteem. In zijn werk met voornamelijk Prof. Paul Vitanyi heeft Cilibrasi getracht op beide onderdelen vooruitgang te boeken en nieuwe toepassingen te ontwikkelen. Dit werk begon met het schrijven van een eenvoudig conversieprogramma voor zogenaamde 'pianola'-bestanden dat werd toegepast op MIDI-bestanden. Hiermee was Cilibrasi in staat om muziek automatisch naar genre of componist te classificeren; het bleek dat algemeen gebruikte compressieprogramma's zoals gzip of bzip2 tot op zekere hoogte in staat waren jazz, rock en klassiek van elkaar te onderscheiden. Ook was het in veel gevallen mogelijk om componisten te identificeren, soms zelfs met huiveringwekkende precisie. Dit experiment was zo succesvol, dat besloten werd tot het ontwikkelen van een breder toepasbare computerapplicatie. Cilibrasi ontwierp een 'open bron'-programma genaamd CompLearn (beschikbaar via www.complearn.org). Dit maakte het mogelijk systematisch onderzoek te doen naar de vraag naar hoe universeel de 'Genormaliseerde Compressie Afstand' (of NCD, 'Normalized Compression Distance') nu eigenlijk was. De NCD is een afstandsmaat tussen bestanden die aangeeft in hoeverre twee bestanden op elkaar lijken. Verschillende datacompressoren leiden tot verschillende versies van deze afstandsmaat. In het eerste belangrijke artikel, Clustering by Compression (Groeperen met Compressie), ontwikkelden Vitanyi en Cilibrasi een methode om aannames over datacompressoren te formaliseren, en beschreven zij enkele formele eigenschappen van zowel de theoretische 'Kolmogorov Complexiteit compressor' als van praktische, daadwerkelijk toepasbare compressoren. Vervolgens pasten zij het CompLearn systeem toe op genetische analyse waarbij zij gebruik maken van complete genoomsequenties. Dit gebeurde wederom zonder enige biologische aannames of menselijke tussenkomst, hetgeen leidde tot de veronderstelling dat de methode enigszins objectiever was dan eerdere, vergelijkbare pogingen. Verder paste Cilibrasi CompLearn en NCD toe op een probleem in de radioastronomie, een domein waarvan hij bijna niets afwist. Gelukkig kwamen de resultaten overeen met die van in de nabijheid werkende astromische experts. Toepassing van het programma op vertaalde Russische literatuur toonde dat het boeken groepeerde aan de hand van een combinatie van vertaler en originele auteur. Misschien het meest verrassende resultaat werd bereikt bij het experiment waarbij afbeeldingen herkend moesten worden: het bleek mogelijk om het standaard compressieprogramma gzip te gebruiken voor het identificeren van afbeeldingen van handgeschreven cijfers uit een NIST gegevensbank. Cilibrasi werkte deze toepassing verder uit door het combineren van de NCD met zogenaamde Support Vector Machines. Dit zijn zelflerende systemen (algoritmen) die elke continue functie kunnen leren. De matrix van NCD afstanden tussen een groep 'trainings'-bestanden en een aantal van te voren gekozen 'anker'-bestanden werd hier gebruikt als input voor de support vector machine. Het resultaat is een algemeen classificatie- en regressieprogramma dat de kracht van discrete patroonvergelijking in datacompressoren combineert met de flexibiliteit van universeel lerende automaten van continue functies zoals Support Vector Machines of neurale netwerken. De volgende grote vernieuwing kwam toen Cilibrasi zich realiseerde dat we dezelfde wiskundige formalismen die ten grondslag liggen aan datacompressie ook kunnen toepassen op andere objecten dan bestanden (of reeksen van bits). Het domein zou bijvoorbeeld ook uit zoektermen of tupels van zoektermen kunnen bestaan. Men kan dan een zoekmachine zoals Google gebruiken om het aantal pagina's op het world wide web te bepalen waarin deze (tupels van) zoektermen voorkomen. Het resultaat is dan de zogenaamde 'genormaliseerde Google afstand' (NGD), die voor twee willekeurige termen (bijvoorbeeld woorden) aangeeft hoeveel ze, volgens het world wide web, op elkaar lijken. De NGD werd geimplementeerd als onderdeel van de CompLearn software met het zogenaamde Simple Object Access Protocol (SOAP) met de C en Ruby programmeertalen. Het grote verschil met NCD is dat het nu mogelijk is om afstand te bepalen op basis van de _namen_ van objecten in plaats van hun, statistisch genomen, letterlijke inhoud. Dit bracht een scala aan nieuwe mogelijkheden teweeg. Cilibrasi vergeleek automatisch gegenereerde monsters van ontologische predicaten met die van WordNet, een project van de universiteit van Princeton. WordNet is een semantische concordantie van de Engelse taal die is gebouwd door menselijke experts. Er was ongeveer 85% overeenstemming tussen de eenvoudige, volledige automatisch lerende automaat en WordNet. Dit maakt automatische ontologie-uitbreiding een veelbelovende onderzoeksrichting. Hiermee zou als het ware _gratis_ structuur aangebracht kunnen worden in het web; dit in tegenstelling tot een meer traditionele aanpak met RDF tripletten, het Sematische Web en XML uitwisseling. Al deze methoden vereisen zeer tijdrovende menselijke arbeid, terwijl de nieuwe, op de NGD gebaseerde technieken, moeiteloos soortgelijke kennis vergaren uit het grote, ongebruikte reservoir van reeds bestaande webpagina's. Een ander interessant experiment was een automatisch Engels-Spaans vertaalsysteem dat werkte zonder menselijke hulp. Cilibrasi was in staat om de Spaanse vertalingen van vijf Engelse woorden door elkaar te husselen en de computer te laten uitvogelen welke Engelse en Spaanse woorden overeenstemden. Slechts door de correlatie tussen de Engelse NGD matrix en alle Spaanse permutaties te berekenen, lukte het de juiste volgorde te vinden. In het meest recente artikel over Cilibrasi's onderzoek, bepaalden Cilibrasi en Vitanyi de wiskundige details van het exacte type niet-deterministisch kwartetboomzoeksysteem dat hij uiteindelijk bouwde. Dit bleek een interessant project te zijn vanuit het oogpunt van de algoritmiek: het is een NP-hard probleem om de beste boom te bepalen volgens het gebruikte evaluatiecriterium, maar desalniettemin bleek het mogelijk voor vele interessante en bruikbare voorbeelden het antwoord te benaderen met een verrassende mate van snelheid en precisie. Daarbij maakte Cilibrasi gebruik van een cluster-berekenend systeem dat gebouwd was volgens de zogenaamde Message Passing Interface (MPI) standaard. Een voorbeeld dat Cilibrasi op dit moment zeer interesseert is een boom van 100 verschillende monsters van het vogelgriepvirus. Terwijl mutaties en recombinaties nieuwe virale variaties vormen, is het systeem in staat gebleken snelle en nuttige antwoorden te geven. Cilibrasi moedigt geinteresseerden aan de artikelen te bekijken die gepubliceerd zijn op zijn onderzoeks-homepage, of de online demo te proberen op de CompLearn website. Er kan ook een 3D demo gedownload worden met sleur-en-pleur-datamining. Windows en linux versies van alle programmatuur zijn tevens beschikbaar. Mede door een verbinding te maken met ongeveer 15 andere programmatuursystemen, heeft Cilibrasi een stuk gereedschap geproduceerd dat waardevol kan zijn voor onderzoekers over de hele wereld.