Machine Learning: een korte toelichting op de techniek en toepassing

Door Sjoerd Maessen, lead software engineer
22 oktober 2015 - 6400 x bekeken - Categorie├źn: Kennis, Tech

De term ‘machine learning’ vliegt ons tegenwoordig om de oren. Op de bekende nieuwssites duiken steeds vaker artikelen op die te maken hebben met dit onderwerp. En zonder dat de meesten van ons het weten, zijn er al veel toepassingen van machine learning onder ons. Bedrijven als Google, Facebook en Netflix zetten de techniek al veelvuldig in, waardoor we suggesties voorgeschoteld krijgen. En niet zomaar uit de lucht gegrepen, het zijn allemaal toepassingen die gebaseerd zijn op veel data. Maar wat is machine learning nou precies en waar wordt het voor gebruikt? In deze blogpost geef ik een korte toelichting op de techniek en toepassing ervan.

Wat is machine learning?

Om deze vraag te beantwoorden, is het goed om een andere gerelateerde term toe te lichten, namelijk ´artificial intelligence´, ofwel ´kunstmatige intelligentie´. We spreken van kunstmatige intelligentie op het moment dat een computer in staat is om te slagen voor een zogenoemde turingtest, een test waarbij de mens niet langer het idee heeft dat hij met een computer communiceert. Kunstmatige intelligentie is echter zeer complex en bestaat uit verschillende onderzoeksgebieden:

1. Natural language processing
Onder natural language processing verstaan wij het gebied dat zich richt op de communicatie tussen computers en mensen. Dit betekent onder andere dat een gesprek dat wordt gevoerd tussen mens en computer correct wordt geïnterpreteerd: begrijpen wat er wordt gezegd in een normale taal, zoals het Nederlands.

2. Knowledge representation
Bij knowledge representation past een computer eerder opgedane kennis opnieuw toe. Hij kan bijvoorbeeld in een gesprek teruggrijpen op eerder besproken informatie.

3. Automated reasoning
Automated reasoning draait om het gebruiken van informatie om vervolgens tot nieuwe conclusies te komen. Ik kan de computer bijvoorbeeld vertellen dat ik in Etten-Leur woon. De computer kan op een later moment vragen hoe ik het vind om iedere dag vanuit Etten-Leur naar Breda te rijden. Dit bewijst dat de computer niet alleen de taal verstaat en begrijpt, maar ook in staat is om zelf tot nieuwe inzichten te komen op basis van de informatie die ik heb verstrekt.

4. Machine learning
Machine learning komt in principe neer op het vermogen om zich aan te passen aan nieuwe situaties. Iedere situatie brengt informatie voort en machine learning wordt gebruikt om hier patronen in te ontdekken en te gebruiken. De machine stelt door middel van algoritmes zelf bepaalde regels op, om bepaalde input te koppelen aan bepaalde output. Machine learning is hierdoor een onmisbaar onderdeel van het onderzoeksgebied van kunstmatige intelligentie, omdat dit ervoor zorgt dat een machine kan evolueren.

Normaal gesproken schrijf je een programma om input om te vormen naar een bepaalde output. Bij machine learning is dit niet het geval. De computer krijgt diverse input en output en komt zelf tot een programma. De fase waarin de computer een dergelijk programma leert, noemen we de trainingsfase. Na de trainingsfase is de computer in staat om nieuwe en onbekende input tot een goede output te laten komen door middel van het aangeleerde programma.

Machine learning is onder te verdelen in een aantal categorieën of vormen:

1. Supervised
Eén van de meest voorkomende vormen is supervised. Bij supervised learning gaat de computer zelf associaties proberen te leggen tussen input en output. De in- en output wordt in de meeste gevallen door een mens verzameld en gelabeld. De computer probeert de associaties samen te vatten in een universele regel voor de set aan input en output. De mens fungeert hierbij als ‘teacher’ van het systeem.

2. Unsupervised
We spreken van unsupervised als de computer alleen grote hoeveelheden input te zien krijgt, die niet gelabeld zijn. Het doel is dat de machine gaat kijken of er verbanden zijn tussen de input. Het ontdekken van deze verbanden kan al een doel op zich zijn.

3. Semi-unsupervised
Semi-unsupervised is een combinatie van supervised en unsupervised. Het grote verschil is dat de computer nu een groot aantal gelabelde input krijg en slechts een aantal outputs, of er ontbreekt bepaalde data.

4. Reinforcement
Een beloningsmechanisme voor goede associaties tussen input en output noemen we reinforcement. Reinforcement wordt vaak bovenop een andere vorm toegepast, om tot betere resultaten te komen. Zoals de naam al doet vermoeden, verbetert het systeem zich op deze manier.

Classificatie en regressie

Het is zelfs mogelijk om nóg een onderscheid te maken binnen machine learning, namelijk classificatie en regressie. Classificatie wordt toegepast om input te verdelen in twee of meerdere groepen. Classificatie kan door personalisatie engines worden toegepast. Bijvoorbeeld om te bepalen of de bezoeker van een bepaalde website geïnteresseerd is in technische blogposts, of simpelweg op zoek is naar persberichten.

Een ander bekend voorbeeld van classificatie is het markeren van e-mailberichten als spam. De classificaties die we in dit geval hebben zijn ´spam´ en ´geen spam´. Regressie verschilt van classificatie, doordat het kan worden gebruikt om bepaalde waardes te voorspellen. Een toepassing kan zijn het voorspellen van temperatuur op een bepaald tijdstip.

Om te onthouden of je regressie of classificatie dient te gebruiken, beoordeel je of de data gemeten of geteld moet worden. Regressie gebruik je als de data gemeten moet worden. In alle andere gevallen is classificatie de beste keuze.

Veel nieuwe mogelijkheden online én offline

Naast het voorspellen van de temperatuur of het beoordelen of e-mail wel of geen spam is, zijn er tal van andere toepassingen te bedenken voor machine learning. Allemaal gebaseerd op veel data. Omdat het erg tijdrovend is en vrijwel onmogelijk om snel alle patronen van deze data in kaart te brengen, brengt machine learning uitkomst.

Niet alleen online wordt machine learning gebruikt. Denk aan de Nest thermostaat. Deze slimme thermostaat voor in huis leert van de gebruiker die de thermostaat bedient. Wanneer deze de thermostaat bijvoorbeeld iedere maandag, woensdag en vrijdag rond een uur of zes ‘s avonds op 21 graden zet, dan leert de thermostaat zich dit schema aan. Hierdoor zorgt hij ervoor dat het iedere maandag, woensdag en vrijdag rond zes uur ‘s avonds 21 graden is; zonder tussenkomst van de gebruiker. 

Een ander voorbeeld zit misschien op dit moment zelfs in je broekzak. Siri is jouw persoonlijke digitale assistent van Apple en is onder andere beschikbaar op de iPhone. Siri is één van de grootste AI projecten op dit moment. Leuk weetje, Siri is een spin-off van het CALO programma wat staat voor 'Cognitive Assistant that Learns and Organizes', een project van DARPA (Defense Advanced Research Projects Agency), onderdeel van het Amerikaanse defensie programma. Het doel van CALO was om de soldaat op het slagveld te assisteren door de combinatie van allerlei slimme toepassingen op het gebied van AI. En een deel van deze technologie vinden we nu dus volop om ons heen door Siri.

De toekomst

Machine learning zal nog veel meer toegepast gaan worden. In zowel fysieke apparaten (denk aan Internet of Things) als online, bijvoorbeeld op het gebied van e-commerce. De hele tak is al jaren in ontwikkeling, maar lijkt de laatste tijd werkelijk een vlucht te maken qua ontwikkeling. Steeds meer academici studeren af in een onderwerp dat gerelateerd is aan big data, data analyses en machine learning. Er zullen ongetwijfeld een hoop toepassingen bij komen, die ons leven makkelijker en veiliger gaan maken. In mijn volgende blogpost zal ik een kritische blik werpen op de gevaren van de alsmaar slimmer wordende computers om ons heen.

E-sites faciliteert tweetwall voor #Twitterroom in SX Eindhoven

Door E-sites

Vandaag opende Twitter Nederland een #TwitterRoom in SX, het centrum voor sport, marketing en media in Eindhoven. E-sites faciliteert de Tweetwall. - Lees meer

Lees verder