Drie frequent gebruikte types leerstrategieën van machine learning

Bas Rottier

'Supervised learning', 'unsupervised learning' en 'reinforcement learning' situeren zich in het domein van machine learning en beschrijven types leerstrategieën van een algoritme. Hoewel deze methoden hetzelfde doel hebben - komen tot inzichten, patronen en relaties die kunnen worden gebruikt om beslissingen te nemen - maken ze gebruik van verschillende benaderingen en zijn ze voor verschillende toepassingen bruikbaar.

Bij machine learning wordt een machine (computer) getraind om verbanden te zien. Dit kan op verschillende manieren. Een voorbeeld: stel, u moet een tafel en stoel assembleren die u online heeft gekocht. Hoe pakt u dit aan? Uiteraard zult u de meegeleverde handleiding uitpluizen. U zult de instructies volgen en de volledige set bouwen. Is er geen handleiding voorhanden, dan moet u uitzoeken hoe de tafel en stoel in elkaar te zetten. Dit scenario is vergelijkbaar met machine learning: met een beschikbare dataset en concrete probleemstelling zal een programmeur in staat zijn te kiezen hoe een algoritme te trainen door gebruik te maken van een specifieke leerstrategie. Er zijn verschillende types van dergelijke leerstrategieën voor machine learning, waarvan volgende drie de belangrijkste zijn: 'supervised learning', unsupervised learning' en 'reinforcement learning'.

Supervised learning

Het model van supervised learning - onder toezicht of gecontroleerd leren - kan vergeleken worden met een student die tijdens een cursus wiskunde gesuperviseerd wordt door de leraar bij het oplossen van een probleem, door het aanreiken van voorbeelden. De situatie is vergelijkbaar met hoe een supervised learning algoritme te werk gaat: door input te voorzien als een gelabelde dataset kan een model hiervan leren. Een gelabelde dataset betekent dat voor elke gegeven dataset er ook een antwoord of oplossing voorhanden is. Dit moet het model helpen bij het leren en zo makkelijker zorgen voor een resultaat.

Een gelabelde dataset van dierenafbeeldingen bijvoorbeeld zou het model vertellen of de afbeelding een hond, kat, ... is. Door hiervan gebruik te maken wordt het model getraind en telkens wanneer een nieuwe afbeelding voor het model opduikt, kan het deze afbeelding vergelijken met de gelabelde dataset om het correcte label te voorspellen. De machine leert zo verbanden vast te stellen tussen de input en de output. Op termijn zal ze steeds minder fouten maken en kan ze uiteindelijk op basis van nieuwe input de juiste output produceren.

Voor welke problemen bruikbaar?

Gecontroleerde algoritmen kunnen wat in het verleden is geleerd, toepassen op nieuwe data. De methode wordt dan ook veelal gebruikt bij toepassingen waar historische gegevens toekomstige gebeurtenissen kunnen voorspellen.

Supervised learning kan worden ingezet bij twee grote types van problemen: classificatieproblemen en regressieproblemen. Classificatieproblemen vragen het algoritme een discrete waarde te voorspellen die de inputdata kan identificeren als lid van een bepaalde klasse of groep. In het voorbeeld van de dataset van dierenfoto's werd elke foto gelabeld als zijnde een hond, kat, ..., waarna het algoritme de nieuwe afbeeldingen in een van deze gelabelde categorieën moet onderbrengen.

Regressieproblemen hebben betrekking tot continue data, om bijvoorbeeld de prijs van een stuk grond te voorspellen in een stad, bepaald gebied, bepaalde plaats, ... Hierbij wordt de input naar de machine verzonden om de prijs te voorspellen volgens voorgaande gevallen. De machine bepaalt een functie die de relaties tussen de eigenschappen van de ligging en de prijs in kaart brengt.

Unsupervised learning

Bij supervised learning is de dataset netjes gelabeld, wat betekent dat er een hoeveelheid data voorhanden is om het algoritme te trainen. Dit maakt het grote verschil tussen supervised en unsupervised learning (zonder toezicht of ongecontroleerd leren): er is geen volledige en netjes gelabelde dataset voorhanden. Unsupervised learning is namelijk een soort van zelfgeorganiseerd leren die helpt bij het vinden van onbekende patronen in datasets, zonder vooraf bestaande labels of voorbeelden. Het algoritme moet zelf een structuur ontdekken in de input. Tijdens dit proces zal de machine zelf de input verdelen in categorieën van elementen met gegevens die sterk op elkaar lijken.

Gebruik van unsupervised learning

Bij algoritmen voor unsupervised learning ontvangt een model een dataset zonder instructies erbij. Hierbij is niet exact geweten wat nodig is van het model als output. Mogelijk is er een soort van relatie tussen de gegevens van de dataset voorhanden die het model probeert te achterhalen door de data te groeperen in groepen van gelijkaardige voorbeelden.

Keren we even terug naar het voorbeeld van de dierenfoto's. Veronderstel dat er geen gelabelde dataset voorhanden is. Hoe kan het model dan uitvinden of een dier een kat of hond of vogel is? Als het model over enige informatie beschikt, zoals wanneer een dier veren, een bek, vleugels, ... heeft het een vogel is. Evenzo, heeft het een pluizige pels, hangoren, een krulstaart en misschien enkele vlekken, dan is het een hond. Zo kan het model op basis van deze informatie de dieren met succes onderscheiden.

Unsupervised learning wordt gebruikt bij gegevens die geen labels uit het verleden hebben. Het kan met deze gegevens bijvoorbeeld klantsegmenten identificeren met vergelijkbare eigenschappen, wat nuttig is voor bijvoorbeeld marketingcampagnes. Deze algoritmen worden ook gebruikt om items aan te bevelen.

 

Supervised learning

Unsupervised learning

Methode

Input- en output-variabelen zijn gegeven

Enkel de input-data is gegeven

Doel

De output wordt voorspeld via de gelabelde input-dataset

De output wordt voorspeld op basis van patronen in de input-dataset

Verschil supervised learning vs. unsupervised learning
(Bron: Intellipaat)

Reinforcement learning

Reinforcement learning - versterkt leren - is niet gebaseerd op supervised learning, noch op unsupervised learning; algoritmen leren uit zichzelf te reageren op een omgeving. Het is een soort van leren gebaseerd op interactie van een agent met de omgeving via acties. Dit type leerstrategie zit in een stroomversnelling, waarbij een grote variëteit van leeralgoritmen ontwikkeld worden die kunnen gebruikt worden voor tal van toepassingen.

Om te beginnen is er altijd een start- en eindstatus voorhanden voor de agent (een AI-gedreven systeem). Er kunnen echter verschillende paden bestaan om die eindstatus te bereiken, zoals in een doolhof het geval is. Binnen dit scenario is het via reinforcement learning mogelijk een oplossing voor een probleem te vinden. Reinforcement learning wordt vaak gebruikt voor robotica, gaming en navigatie. Voorbeelden omvatten zelf-navigerende stofzuigers, zelfrijdende auto's, de planning van liften, ...

Hoe gaat het in zijn werk?

Nemen we als voorbeeld een kind dat zijn eerste stapjes probeert te zetten. Welke instructies zal het volgen om te beginnen lopen?

  1. Anderen observeren tijdens het lopen en proberen dit na te bootsen
  2. Stilstaan
  3. Proberen het lichaamsgewicht in evenwicht te houden, en daarbij beslissen op welke voet eerst te staan om te beginnen lopen.

Zo klinkt het als een moeilijke, uitdagende taak voor een kind om te leren lopen, maar voor volwassenen is het makkelijk, aangezien zij het met tijd gewoon geworden zijn.

Laten we nu het kind als een agent zien die de omgeving (oppervlak of vloer) probeert te manipuleren door te proberen lopen en van een bepaalde staat naar een andere overgaan (een stap nemen). Het kind krijgt een beloning wanneer het een paar stappen zet (appreciatie), maar het krijgt geen beloning of appreciatie wanneer het niet in staat is te lopen. Het doel van reinforcement learning is om de agent acties te laten kiezen die de verwachte beloning over een bepaalde tijd maximaliseren. De agent bereikt het doel sneller door een goede methode te volgen. Bij dit leermodel ontdekt het algoritme dus door vallen en opstaan (trial and error) welke acties de grootste beloningen opleveren.

Samengevat

We verstaan onder supervised learning dat een model met behulp van sturing van een gelabelde dataset leert. Bij unsupervised learning wordt de machine getraind op basis van ongelabelde data zonder enige sturing. Bij reinforcement learning interageert een machine of agent met zijn omgeving, voert acties uit en leert via een trial-and-error-methode.

 

Supervised learning

Unsupervised learning

Reinforcement learning

Definitie

Machine leert via gebruik van gelabelde data

Machine is getraind op ongelabelde data zonder sturing

Agent interageert met zijn omgeving door acties uit te voeren en te leren via fouten en beloning

Type problemen

Regressie & classificatie

Patroonherkenning & clustering

Gebaseerd op beloning

Type data

Gelabelde data

Ongelabelde data

Geen vooraf gedefinieerde data

Training

Externe supervisie

Geen supervisie

Geen supervisie

Benadering

Zet gelabelde inputs over naar gekende outputs

Begrijpt patronen en ontdekt de output

Volgt de trial-and-error-methode

(Bron: Intellipaat)

Bron

Authors

Do you have a question?

Send it to innovation@sirris.be