Just-a-Fact

Elke dag (Un)supervised leren

Na 4 jaar die-hard wiskunde en algoritmes, begon ik vol goede moed aan mijn PhD in Data Science. Al snel maakte mijn misplaatste optimisme plaats voor wanhoop. Ik begreep namelijk niks van al die ‘nieuwe’ data science termen. Met als grootste vijand toch wel het concept rondom (un)supervised learning. Het kostte me een hele maand om het te begrijpen. En ja,  een PhD is een full-time baan. Reken maar uit.

Nu, ruim vier jaar later kan ik met een gerust hart mededelen dat het concept eigenlijk heel simpel is. Nu denk je vast; geweldig nog zo’n wiskundige die beweert dat het eigenlijk niet zo moeilijk is. Of nog erger; die alles afsluit met logisch toch!? En toch is het logisch. Omdat we zelf ook elke dag aan het (un)supervised leren zijn. Het is herkenbaar en dus te begrijpen.

Hoe leren wij als mens?

Herinner je je deze nog?

Als klein kind leren we zo dat een boom een boom is en een huis een huis, enzovoort. De onderwijzer (expert) wijst iets aan en geeft daar een betekenis aan. Een betekenis door middel van het geven van een label. Dat wat je als kind al herkende, krijgt opeens een betekenis. Het onderscheid tussen een boom en een huis leren we door ernaar te kijken en de betekenis leren we van de experts om ons heen. Fascinerend.

Elke dag leren we iets nieuws en worden we iets wijzer. Dit kan doordat je iets nieuws tegen komt wat je nog niet kent en het later gaat herkennen, of dat een expert zijn of haar kennis met je deelt. We worden getraind door eigen ervaring en ervaringen van anderen. Vergelijkbaar met hoe wij als mens leren, kunnen wij ook slimme algoritmes trainen.

Input én output?

Een algoritme heeft data (input) nodig om het gewilde doel (output) te kunnen berekenen. Voor supervised leren, hebben we input éoutput data nodig. Door naar voorbeelden met labels (= output data) te kijken, wordt het algoritme slimmer en slimmer.  Hierdoor kan het uiteindelijk accuraat de juiste output bij nieuwe input (zonder labels) voorspellen. Bij unsupervised leren komen er geen voorbeelden met labels van pas en groepeert het algoritme de data door middel van het identificeren van patronen in de data. 

Terug naar de bomen en de huizen. Om het algoritme te trainen, gebruiken we als input vijf voorbeelden van een huis en vijf voorbeelden van een boom. Vervolgens voeren we het algoritme een nieuw voorbeeld van een boom. Als er geen labels bij de eerste 10 genoemde voorbeelden aanwezig zijn, vindt het algoritme de nieuwe boom waarschijnlijk het meest vergelijkbaar met de andere bomen.  Unsupervised leren: het herkent het patroon van de boom en geeft aan dat het tot die – verder niet gedefinieerde – groep behoort. Als er wel labels aanwezig zijn, en het dus supervised aan het leren is, herkent het algoritme het voorbeeld als een ‘boom’. 

Data en labels

Het belangrijkste verschil tussen supervised en unsupervised leren is dus de aanwezigheid van gelabeled data of niet. Terwijl supervised algoritmes over het algemeen nauwkeuriger zijn,  vereisen ze vooraf menselijke tussenkomst om de gegevens op de juiste manier te labelen.

Ook zijn de twee manieren van leren gebruikt voor verschillende doeleinden. Supervised algoritmes hebben vaste uitkomsten (classes) en het doel is om te voorspellen tot welk van de mogelijke uitkomsten een nieuwe datapunt behoort (“het is een boom”). Unsupervised algoritmes geven vooral inzichten in de data door groepen (clusters) te vormen in de data (“het behoort tot cluster 1”).

geschreven door Frederique