23
mei

Wat is Machine Learning?

Een populaire definitie van Machine Learning is van Arthur Samuel, die hij al in 1959 (!) maakte. Zijn definitie luidde als volgt: “Computers die het vermogen hebben om te kunnen leren, zonder dat ze expliciet geprogrammeerd zijn”. In de praktijk kunnen we dit vertalen in het ontwikkelen van een computer programma dat voorspellingen kan doen gebaseerd op data. Net zoals mensen kunnen leren van ervaringen, kunnen computers leren van data.

Inmiddels is Machine Learning niet meer weg te denken in de technologie die we vandaag de dag toepassen. Machine Learning gebruiken we allemaal, bijna dagelijks. Denk aan een Google zoekopdracht, waarbij wordt bepaald welke resultaten het beste bij jou zoekopdracht passen en in welke volgorde deze weergegeven worden. Of Netflix, waarbij wordt bepaald op basis van je kijkgedrag, wat voor jou interessante films of series zijn!

“Net zoals mensen kunnen leren van ervaringen, kunnen computers leren van data.”

Machine Learning in het kort richt zich op het ontwikkelen van algoritmes waarmee computers kunnen worden getraind. De computer krijgt voorbeelden van invoer en de juiste output. De computer leert in feite te herkennen aan welke voorwaarden (input) een bepaalde output dient te voldoen. Herhaling is sleutel want hoe vaker een computer wordt getraind, hoe betrouwbaarder de resultaten zullen zijn. Een ander voorbeeld van Machine Learning is het ongecontroleerd leren waarbij een computer zelf opzoek gaat naar structuur in aangeboden data.

De slimme hedendaagse toepassingen van Machine Learning maken gebruik van intelligente algoritmes die leren van data en acties uit het verleden.

Hoe leert een computer?

Er zijn verschillende manieren om het leren toe te passen bij Machine Learning. Laten we op basis van een voorbeeld een algemene toepassing beschouwen. Bijvoorbeeld, we willen voorspellen of iemand op een bepaalde functie past of niet. Hoe gaan we dit voorspellen met het zogenaamde voorspellende model (Predictive Model). We gaan dit proces opdelen in een vijftal stappen.

Eerste stap – Data verzamelen

Verzamelen van historische data over personen op deze functie. Wie heeft deze functie al eens uitgevoerd, wie werd er wel een afgewezen op deze functie. Daarnaast verzamelen we gegevens over opleiding, werkervaring e.d. van de (voorgaande) kandidaten/sollicitanten.

Tweede stap – Opschonen en voorbereiden

Nu starten we met het opschonen, voorbereiden en aanpassen van de verzamelde gegevens. Deze stap houdt in dat we de data leesbaar en bruikbaar maken, zodat een computer ze kan “begrijpen”. Bijvoorbeeld het omzetten van Ja/Nee gegevens naar 1/0. Beter te gebruiken voor onze Machine Learning algoritme. En bijvoorbeeld categorieën aanmaken voor de hoogst genoten opleiding “HBO”, “Universiteit” en hier een nummer aan toekennen.

Derde stap – Trainen

De derde stap is het opzetten van een wiskundig model. In ons voorbeeld hebben we een zogenoemd “classificatie” probleem. Met andere woorden, we willen bepalen of een persoon geschikt is, of niet. Een wiskundig model stelt ons in staat om onze gegevens compact te definiëren. De verschillende eigenschappen van dit model kunnen vervolgens aangepast worden zodat we van onze gegevens in het model kunnen gaan “leren”. Die stap wordt Training genoemd.

Vierde stap – Testen

De volgende stap is het model Testen en voorspellingen laten doen. De kunnen ons model valideren door dezelfde data uit de training te gaan testen met data. Zodoende kunnen we de nauwkeurigheid van ons model bepalen.

Vijfde stap – Verbeteren

De volgende stap is het verbeteren van het model en hiermee de fouten beperken en de nauwkeurigheid vergroten.

Types Machine Learning

Er zijn verschillende types van Machine Learning. Het type wat je kiest voor je toepassing is afhankelijk van het probleem dat je wilt oplossen. De typen Machine Learning zijn mooie Engelse termen en eigenlijk niet goed te vertalen in het Nederlands. We zullen dan ook de Engelse termen gebruiken.

“Er zijn verschillende types van Machine Learning. Het type wat je kiest voor je toepassing is afhankelijk van het probleem dat je wilt oplossen.”

Gecontroleerd Leren

De meest gebruikte vorm. Hierbij geven we het model voorbeeldgegevens waarbij de uitvoer duidelijk gedefinieerd is. We vertellen het systeem vervolgens wat het “juiste” antwoord is, en daar leert het model dan van. Twee soorten problemen die goed gebruik kunnen maken van deze vorm zijn Classificatie- en Regressieproblemen.

xkcd over Machine Learning

 

 

 

 

 

 

 

Ongecontroleerd Leren

Bij deze vorm leren we het systeem niet expliciet. In plaats daarvan voeden we het systeem met gegevens en laten we de onderliggende structuren en patronen erin zoeken. Clusteren is een voorbeeld waar deze vorm, Unsupervised Learning, veel gebruikt wordt. Google Nieuws verzamelt bijvoorbeeld nieuwsartikelen (uit verschillende bronnen) over verschillende onderwerpen. Vervolgens worden de gerelateerde onderwerpen bij elkaar gebracht door een “cluster” te vormen. Hierdoor kan een gebruiker een aantal artikelen over een bepaald onderwerp vinden. Een ander gebruik van Unsupervised Learning is de analyse van sociale netwerken, waarbij men geïnteresseerd is in bepaalde patronen.

Reinforcement Learning

Bij Reinforcement Learning gaat het om een op beloningen gebaseerd leersysteem. Wanneer je je hond traint om een bepaalde taak te doen, beloon je hem met iets, zodat hij gewend raakt specifiek gedrag uit te voeren. In het Machine Learning systeem dient de Agent (component wat leert) zoveel mogelijk leren van de acties die hij neemt, en vooral leren van de beloningen en die optimaliseren. Dit soort leren vindt vaak plaats bij het spelen van games. Als we bijvoorbeeld een computer leren schaken, leert hij in een aantal spellen door de verschillende stappen, en optimaliseert dat in een toekomstig spel.

Azure Machine Learning

Microsoft Azure (PaaS) bidet uitgebreide mogelijkheden om Machine Learning in te zetten. Dit werkt volgens dezelfde principes die eerder zijn toegelicht. De oplossingen zijn cloud based en bieden krachtige analytische functies om los te laten op de data. Het grote voordeel van Azure is dat het een waslijst aan algoritmes of modellen aanbiedt, vanuit de community of door Microsoft, om de meeste uitdaging te ondervangen. Denk hierbij aan voorspellende algoritmes die bijvoorbeeld kunnen bepalen wat voor effect een marketingactie heeft op de verkopen. Daarnaast kunnen uiteraard ook modellen worden ontwikkeld en de computer worden getraind.

  1. Data integreren
  2. Voorbereiden van de data
  3. Features defineren
  4. Trainen van het model en het toepassen van een algoritme

Data Integreren

De eerste stap is het vaststellen en vastleggen van de data waarmee de computer getraind zal worden.

Data Voorbereiden

Om een dataset goed te kunnen analyseren moeten er vaak nog een aantal processen worden uitgevoerd om de data hiervoor geschikter te maken. Bijvoorbeeld lege rijen of cellen kunnen niet worden geanalyseerd, dus hier moeten vervangende waardes voor worden bepaald. Daarnaast is het belangrijk om de data goed te normaliseren en alle redundante informatie achterwege te laten.

Features defineren

In Machine Learning bedoelen we met features de individuele meetbare eigenschappen van iets waar je meer over wilt weten. Zo kan in een dataset elke rij een transactie zijn en de kolommen bevatten features of eigenschappen van de transactie. Hier zie je dus hoe belangrijk het is om de dataset goed op orde te hebben. Goede definitie van features betekent dat je de diepgaande kennis van het probleem dat je wilt oplossen.

Trainen van het model en het toepassen van een algoritme

Wanneer de data klaar staat, moet een model worden getraind. Daar gebruiken we onze data dus voor. Vervolgens testen we het model om de betrouwbaarheid te bepalen.

Datavibes en Machine Learning

De DataVibes collega’s staan voor u klaar om u te helpen met de implementatie van Machine Learning binnen uw organisatie. Uiteraard kunnen wij u eerst adviseren en een plan opstellen voordat uw project start. Ook leveren wij vanuit de DataVibes Academy training en opleiding van (eind) gebruikers om uw collega’s snel op weg te helpen met Machine Learning.

Voor meer informatie neem contact met ons op.

Geen reacties

Leave a Comment

Your email address will not be published. Required fields are marked *

Contact