Search

Conversie Verhogen Door Machine Learning

Naar blogoverzicht
Door Rutger | 22 June 2015

Inleiding

We verzamelen steeds meer data. De totale hoeveelheid opgeslagen data verdubbelt op dit moment zo'n beetje ieder jaar. Ontwikkelingen als goedkope opslag, verwerking in de cloud, Big Data, API’s en Internet of Things zorgen ervoor dat er steeds goedkoper, steeds makkelijker, steeds meer data kan worden opgeslagen. Maar aan data alleen heb je nog niet zoveel. Data worden pas waardevol als je data om kunt zetten in informatie.


En dat is precies waar machine learning ons van dienst kan zijn. Machine learning klinkt vaak dreigend als een oncontroleerbare technologie van zelflerende computer netwerken die de wereld en mensheid gaan overnemen… Denk hier maar even aan de befaamde scenes van A. Schwarzenegger in de film Terminator.Inmiddels zijn we zo’n 6 terminator vervolgfilms verder en zijn we, voor zover we weten, nog niet overgenomen door enen en nullen. Het kan dus vast geen kwaad om ons iets meer te verdiepen in wat machine learning nou eigenlijk is.

Wat is Machine Learning?

Een traditioneel computer programma kun je zien als een soort doos. Aan de ene kant stop je input data in de doos. Deze input data worden in de doos verwerkt, zodat de gewenste output er aan de andere kant uitkomt. De ontwikkelaar is verantwoordelijk voor de implementatie van de logica in de doos die ervoor zorgt dat de input correct wordt omgezet naar de verwachte output. Machine learning daarentegen is een totale shift ten opzichte van dit klassieke paradigma. Bij machine learning stoppen we aan de linkerkant zowel voorbeeld input als de bijbehorende output in de zwarte doos. Vervolgens gaan de machine learning algoritmes binnen de zwarte doos “zelfstandig” aan de slag om te proberen de “ regels” te ontdekken die op basis van de input de output kunnen genereren. Het algoritme kan met deze regels de output van nieuwe input voorspellen. De dataset wordt vaak opgesplitst in een trainingsset en een testset. Met deze testset kunnen de learnings uit de trainingsset gevalideerd worden.

Alhoewel dit een klein verschil lijkt, heeft het wel enorme implicaties. Voorheen moesten we om een bepaalde taak op te kunnen lossen, precies begrijpen waardoor het onderliggend probleem veroorzaakt wordt en hoe het opgelost kan worden. Uit een set van mogelijke oorzaken, moest je dus eerst uitsluiten welke factoren wel invloed op de oplossing hebben en welke factoren niet. Vervolgens moest je van de factoren die van invloed zouden kunnen zijn, op basis van hypotheses gaan testen welke invloed dit precies is. Het grote verschil en ook voordeel van machine learning is dat het niet meer nodig is om eerst onderliggende oorzaak van een probleem te achterhalen. In plaats daarvan maken we gebruik van de enorme hoeveelheid data die we tegenwoordig relatief makkelijk kunnen verzamelen en verwerken. Machine learning algoritmes zijn in staat om met behulp van technieken als statische analyse, beslisbomen en door simpelweg alle mogelijke combinaties te proberen, op basis van historische gegevens te leren hoe je op basis van een set input variabelen de output kunt voorspellen, zonder dat deze algoritmes ook maar enige kennis/besef hebben van waarom deze regels het juiste resultaat opleveren. Dus “wat” in plaats van “waarom”, oftewel correlatie in plaats van causaliteit. Een arts zou dus bv niet meer verschillende hypotheses hoeven te onderzoeken om te kunnen voorspellen of iemand kans heeft om een bepaalde ziekte te krijgen. In plaats daarvan zou een computerprogramma op basis van analyse van een grote set historische data kunnen leren hoe deze kans voorspeld kan worden.

De verschillende soorten machine learning algoritmes.

Machine Learning Algoritmes zijn grofweg in te delen in twee soorten, te weten, begeleide en onbegeleide algoritmes, oftewel supervised en unsupervised.

Begeleide Algoritmes

Een begeleid algoritme wil zeggen dat je het algoritme als het ware begeleid doordat je naast de input dataset ook de bijbehorende output aanbiedt. Bij onbegeleide algoritmes lever je geen output aan en gaat het algoritme dus zelf conclusies trekken op basis van alleen de input data. Naast de voorspelde waarde geven deze algoritmes vaak ook de kans aan dat deze voorspelde waarde klopt.

Begeleide algoritmes kun je weer onderverdelen in classificerings algoritmes en regressiealgoritmes.

Classificerings algoritmes voorspellen een uitkomst uit een set van discrete (vaste) mogelijke uitkomsten, oftewel klasses. Hierbij kun je denken aan het voorspellen van bv “ Ja” of “Nee”, of welk merk auto een potentiële klant zou kiezen.

Regressie algoritmes zijn daarentegen in staat een (of zelfs een aantal) continue waarden te voorspellen. Denk hierbij bv aan de toekomstige waarde van aandelenkoersen.

Onbegeleide Algoritmes

Onbegeleide algoritmesn zijn in staat om zonder “ hulp” conclusies te trekken uit de data. Stel bv je hebt een excel met klant gegevens. In de kolommen staan eigenschappen en in de rijen staan de klanten. Dan kun een onbegeleid algoritme bv zelfstandig de klanten in deze data groeperen in een vooraf opgegeven aantal klantgroepen. Dit noemen we clustering.


Implementatie & Retraining

Voor alle deze soorten algoritmes bestaan weer meerdere manieren om deze algoritmes te implementeren. Zo zijn er bv verschillende beslisboom algoritmes, probabilistische netwerken, neurale netwerken, genetische algoritmes etc. Vaak worden ook verschillende algoritmes in combinatie met elkaar gebruikt om een nog betere voorspelling te kunnen doen.
Aangezien tijden veranderen is het van belang dat je het machine learning blijft voorzien van nieuwe data. Dit noemen we hertraining. Naast hertraining met nieuwe data is het ook belangrijk om juiste de foute voorspellingen aan het systeem door te geven. In tegenstelling tot mensen is een machine learning algoritme wel in staat om van zijn fouten te leren. Een machine learning algorimte zal nooit twee keer dezelfde fout maken. Op deze manier ontstaat een constante feedback loop en wordt het algoritme steeds beter in het voorspellen.

Toepassingen van Machine Learning

In de vorige paragrafen hebben we kort uitgelegd wat machine learning is en welke verschillende typen algoritmes we kunnen onderscheiden. Nu is het de hoogste tijd om te gaan ontdekken hoe we machine learning kunnen toepassen.

Een veelgebruikte toepassing van machine learning zijn zogenaamde recommendation engines. Hierbij moet je denken aan het doen van bv restaurant suggesties op basis van gebruikersprofielen en hun voorkeuren. Misschien wel de bekendste en een van de meest succesvolle recommendation engines is de “Gebruikers die dit kochten, kochten ook: …” functie van Amazon. Deze recommendation engine verhoogde de omzet van amazon met 29%. Vroeger waren dit soort complexe algoritmes voorbehouden aan internet reuzen als Amazon. Tegenwoordig zijn deze technieken, mede dankzij de snelle adaptatie van de cloud, veel laagdrempeliger beschikbaar. Recommendation engines hebben een aantoonbare positieve invloed op de omzet per klant.

Hieronder staan kort nog een aantal voorbeelden van concrete toepassingen van Machine Learning:

Het in kaart brengen van klantgroepen/persona’s

In tegenstelling tot cohortanalyse waar je zelf de doelgroepen definieert, is machine learning zelf in staat te leren wie de doelgroepen zijn. Dus op basis van data in plaats van aannames.

Het classificeren van leads

Classificeer real time de leads die via je website binnenkomen om zo de opvolging en het conversiepercentage te optimaliseren.

Voorspellen van prijsstijgingen/dalingen

Op basis van historische data

Multi Armed Bandits

Met behulp van deze techniek kan er b.v. realtime, op basis van het gebruikersprofiel, de productaanbieding worden getoond die de hoogste kans op conversie oplevert. Multiarmed Bandits kunnen in complexe scenario's beter presteren dan AB-tests.

Start Learning!

We hebben in deze blog post getracht op een eenvoudige manier uit te leggen wat Machine Learning is en hoe het toegepast kan worden. Heeft deze blog je interesse gewekt? En ben je benieuwd hoe de groei ambities van je organisatie kunt laten verwezenlijken door Machine Learning? Kom dan een keer langs voor een Rotterdams bakkie. Wij voorspellen op basis van historische datasets of je je koffie met of zonder melk en suiker drinkt ;-)


Rutger Buijzen
CTO
DotControl
Volg mij op twitter: @rutgerbuijzen

Sources
The Big Data Revolution, Mayer-schonberger V, Cukier K
How Machine Learning Is Eating the Software World, Woodie A, 2015, http://www.datanami.com/2015/05/18/how-machine-learning-is-eating-the-software-world/
Mark Hall, Ian Witten, Eibe Frank , Data Mining: Practical Machine Learning Tools and Techniques

Deel deze post op social media

Van Nelleweg 1, 3044 BC Rotterdam
+31 (0)10 71 44 646 info@dotcontrol.nl