Machine Learning & Algoritmen

Al sinds de jaren 70 wordt er veelvuldig onderzoek gedaan naar kunstmatige intelligentie. Hierdoor is het mogelijk om computers iets te leren. Zo kan een computer aan de hand van voorbeelden voorspellingen doen of objecten herkennen.
Een belangrijk deel van de onderzoeken houdt zich bezig met het omzetten van ons begrip hoe leren werkt naar modellen die door computers uitgevoerd kunnen worden. Deze modellen noemen we algoritmen.

 

Leren is nog steeds een mysterie. Tot op heden is er geen groot, algemeen, overkoepelend algoritme gevonden dat alle vormen van leren volledig na kan bootsen. Er zijn verschillende soorten algoritmen voor verschillende doeleinden. Ieder soort algoritme werkt voor een bepaalde vorm van leren of om een specifiek probleem op te lossen. Algoritmen verschillen ook op het gebied van nauwkeurigheid voor een taak en de tijd die nodig is om het algoritme te trainen.

 

(Un)supervised Algoritmen

Algoritmen zijn grofweg in te delen in twee soorten: supervised en unsupervised. Bij supervised algoritmen worden voorbeelden aangegeven welke eigenschappen de data heeft, evenals de eigenschappen waarop je de computer wilt trainen. Bij unsupervised algoritmen moet de computer zelf op zoek naar deze eigenschappen.

 

Een financiële instelling heeft bijvoorbeeld een historisch overzicht van allerlei transacties, waaronder een aantal fraudegevallen. Ze willen Machine Learning inzetten om in de toekomst fraudegevallen sneller te detecteren. Als in de historische data de fraudegevallen gemarkeerd zijn, dan kunnen supervised algoritmen gebruikt worden om de specifieke fraudepatronen herkennen. Indien de fraudegevallen niet zijn gemarkeerd, dan kunnen unsupervised algoritmen de transacties gaan clusteren zodat transacties die op elkaar lijken gegroepeerd worden. Door verschillende eigenschappen te kiezen waarop gegroepeerd wordt, is het mogelijk om potentiële fraudegevallen te isoleren. In dit voorbeeld zal met een gemarkeerde dataset en supervised classificerende algoritmen toekomstige fraudezaken het beste worden herkend. Unsupervised clusterende algoritmen worden ingezet om nieuwe manieren van fraude te kunnen ontdekken.

 

Bij een supervised leerproces wordt, door voorbeelden en tegenvoorbeelden te geven, het Machine Learning algoritme getraind op een specifieke dataset. Doel hiervan is de nauwkeurigheid zo ver te verbeteren dat de uitkomsten bruikbaar worden. Een ongetraind algoritme zal nooit goed presteren, maar een te ver getraind algoritme is te weinig bestand tegen afwijkingen van de trainingsdata. Het is van belang de nauwkeurigheid van een getraind algoritme regelmatig te meten. Dit kan door het getrainde algoritme los te laten op bekende, reeds door mensen geclassificeerde data. Het verschil tussen de bekende waarden en de door het algoritme bepaalde uitkomst bepaald de nauwkeurigheid.

 

Het meten van de nauwkeurigheid van een unsupervised algoritme is complexer. Deze algoritmen worden gebruikt om onderliggende relaties en verbanden te vinden. Het is dus niet altijd mogelijk de uitkomst te vergelijken met vooraf geclassificeerde data. Die gevallen bevinden zich vaak in de experimentele hoek; statistieken of gezond verstand helpen dan om te bepalen hoe bruikbaar de uitkomsten zijn voor het beoogde doel.

 

Neurale netwerken

Recent is er opnieuw aandacht voor ‘neurale’ netwerken, deze algoritmen zijn gebaseerd op de werking van de hersenen. Eind jaren tachtig is dit voor het eerst toegepast, maar door de beperkte rekenkracht bleef het gebruik beperkt tot tekstherkenning (OCR). Het simuleren van verbindingen tussen hersencellen vraagt om veel parallelle rekenkracht. Moderne grafische kaarten (GPU’s) zijn gebouwd rondom deze berekeningen en kunnen zeer effectief ingezet worden voor dit type algoritmen.

Door de toegenomen rekencapaciteit van deze GPU’s, kunnen complexere neurale netwerken worden gebruikt, deze bestaan uit meerdere uitgebreide lagen. Met deze complexiteit kunnen neurale netwerken worden gekoppeld aan een automatische meting van de nauwkeurigheid (reinforced deep learning). Hierdoor zijn computers in staat afbeeldingen en spraak te herkennen, soms zelfs beter dan mensen.

 

Om Machine Learning effectief toe te passen is het noodzakelijk om te weten wat je wilt bereiken. Het detecteren van bekende vormen van fraude vraagt om een andere aanpak en algoritme dan het vinden van mogelijk nieuwe vormen van fraude. Daarnaast is het belangrijk om goed zicht te houden op de kwaliteit van de data waarmee je het algoritme voedt. Dit helpt bij het kiezen van de beste trainingsmethoden.

Verder is een duidelijk succes criterium belangrijk; wanneer is de oplossing snel of nauwkeurig genoeg en op welke manier je gaat meten.