In dit tweede deel van mijn blog over ‘wat is data science’ ga ik het hebben over de vernieuwingen uit het laatste decennium en hoe zich dat verhoudt tot de vele buzzwords die hier omheen hangen. Ik begin met het uitdiepen van de term Data Science. Daarna gaan we de buzzwords op zijn plek zetten door de termen kunstmatige intelligentie, big data, machine learning en deep learning naast data science te leggen.
De oorsprong van Data Science ligt in het cijfermatig analyseren van bedrijfsprocessen met als doel deze bedrijfsprocessen te verbeteren. Deze oorsprong wordt ook wel analytics genoemd en hierover heb ik het uitgebreid gehad in het eerste deel van dit blog tweeluik.
Data Science is echter veel meer dan dat. Het vakgebied is sterk beïnvloed door de mogelijkheden van de rekenkracht van moderne computers en de veel grotere hoeveelheden data die we tegenwoordig tot onze beschikking hebben. Daarom wordt rondom Data Science ook vaak gesproken over zaken (of buzzwords) als big data, kunstmatige intelligentie en machine learning.
Tegenwoordig hebben we (heel) veel meer data tot onze beschikking dan pak hem beet 10 jaar geleden. En die data bestaat ook vaak uit bijvoorbeeld afbeeldingen, tekst, geluid en filmpjes, de zogeheten ongestructureerde data. Traditionele analytics methoden kunnen zowel met deze hoeveelheid data als dit type data vaak niet uit te voeten. Maar met de enorme hoeveelheid rekenkracht van onze moderne computers (of een cluster in de cloud) kun je wel degelijk wat met deze data doen. En zelfs op één enkele moderne computer met een krachtige grafische kaart, die vaak honderden keren de rekenkracht van je processor heeft, valt al veel te doen.
Data Science is dan ook het snijvlak waar het oplossen van bedrijfsvraagstukken, wiskundige- of statistische methoden en algoritmen en krachtige IT en computer science samen komen. Dit in tegenstelling tot de klassieke analytics, waar de computer slechts een hulpmiddel was. Dit wordt mooi geïllustreerd in het figuur hieronder.
Data Science zit echt in het hart van deze domeinen. Om met hele grote hoeveelheden data, waaronder dus ook afbeeldingen en video’s, te kunnen werken moet je vaak wat van de wiskundige grondigheid opofferen, om vervolgens op basis van grote rekenkracht en slimme IT toch een werkend systeem te kunnen maken. En dan uiteraard een systeem dat waarde heeft in de business context van het vraagstuk.
Om dit voor elkaar te krijgen moet er vaak een hoop gemasseerd worden: ruwe, ongestructureerde data kan niet zomaar een wiskundig model in; methoden en technieken zijn niet altijd één op één toepasbaar op grote datasets. Je moet ook de juist tools hebben die precies die aanpassingen op de standaard techniek ondersteunen, welke nodig zijn voor de Data Scientist om zijn of haar opdracht te voltooien.
Dit is een ambacht op zich, met vele uitdagingen. Ik leg ook niet voor niets vaak de nadruk op dat het Data Science heet. Het kan namelijk een heel onderzoeksproces zijn om tot het juiste model voor de specifieke toepassing te komen. Een onderzoekproces waarin kan blijken dat bepaalde dingen helemaal niet kunnen op basis van je data, of een onderzoeksproces waarin nieuwe business kansen ontstaan juist door te experimenteren met de mogelijkheden met de data. Het is dan ook niet ongebruikelijk dat een dergelijk proces eindigt met een andere eindoplossing dan vooraf gedacht.
Typische voorbeelden van data science vraagstukken zijn:
Nu we een beeld hebben van wat data science is, kunnen we beginnen met een aantal buzzwords op zijn plek te zetten. Laten we beginnen met machine learning, oftewel het leren van patronen door machines.
Dit werkt als volgt: Door data op een gestructureerde manier aan een model of algoritme in een computer te voeren, kan de computer hier patronen in vinden (leren) die hij kan gebruiken om voorspellingen te doen (bijvoorbeeld voor predictive maintenance), dingen te classificeren (zoals in de spoorinspectie en e-mail doorstuur voorbeelden), of structuur te ontdekken in deze data (zoals in de twitterfeed voorbeeld). Voor de goede orde, niet alle Data Science is machine learning: als er niets geleerd wordt door het algoritme dan heet dit geen machine learning.
In zijn meest eenvoudige vorm is machine learning gewoon statistiek, want patronen zoeken in data doen statistici al jaren. Maar bij machine learning is men niet altijd geïnteresseerd of alles statistisch precies klopt. Hier gaat het er om, dat als we het geleerde algoritme data geven die het niet eerder gezien heeft, dat het dan nog steeds zinvolle uitkomsten geeft. Voor iedere uitkomst (voorspelling, classificatie, etcetera) precies begrijpen waarom deze tot stand komt wordt hier soms als minder belangrijk gezien.
Een goede Data Scientists moet deze machine learning methoden wel goed begrijpen. Niet om iedere uitkomst precies te verklaren, maar wel om een keuze te kunnen maken tussen verschillende methodieken en alles wat daar bij aan te passen is. Daarnaast geldt altijd dat de uitkomsten nooit beter worden dan de data die er in gaat: een geleerd model is nooit slimmer dan de data die de leraar (de Data Scientist) het geeft om van te leren.
Naast machine learning spreekt men tegenwoordig vaak over deep learning. Dit is machine learning op basis van één specifieke techniek, namelijk die van de neurale netwerken. Typisch gebruik je deze techniek als je modellen maakt die met plaatjes of geluid moeten werken, daar werken ze erg goed namelijk.
Nadeel van deze neurale netwerken is wel dat het vrijwel volledige black-box modellen zijn. Daardoor is het moeilijk om inzichtelijk te maken waarom een deep learning model een bepaalde uitkomst geeft. Ook kunnen neurale netwerken nuttig zijn als je een model wilt maken waarbij juist net nog dat laatste beetje extra accuraatheid (of varianten daarop) belangrijk is, in tegenstelling tot het begrijpen waarom.
Mijn collega Data Scientist Agis heeft een tijdje terug een leuke blog geschreven over onder andere Machine Learning dus wil je meer weten, lees dit.
De genoemde Data Science voorbeelden roepen bij velen ideeën op over kunstmatige intelligentie. En machine learning voelt al helemaal als kunstmatige intelligentie. Dus hoe verhoudt zich Data Science nu tot wat we kunstmatige intelligentie noemen?
Laat ik beginnen met vertellen dat kunstmatige intelligentie of AI (van het Engelse Artificial Intelligence) een term is die heel weinig concreets betekent. Dit komt deels omdat het kunstmatige intelligentie onderzoek al heel erg oud is. Wat men vroeger al heel intelligent vond, daar vinden we nu niets slims meer aan. Als een ‘slim’ algoritme een set voorgeprogrammeerde beslisregels volgde, werd dit vroeger als kunstmatige intelligentie gezien. Maar ook tegenwoordig wordt de term kunstmatige intelligentie te pas en te onpas gebruikt: soms betekent het machine learning, velen gebruiken het als synomiem voor deep learning en anderen weer voor alles wat data science is.
Toch heeft moderne kunstmatige intelligentie iets, wat niet direct onder andere terminologieën te vangen is. Moderne kunstmatige intelligentie is namelijk ook het bouwen van software bestaande uit vele verschillende componenten die samen iets heel intelligents lijken te doen. Vaak bevatten deze meerdere componenten die gewone data science modellen zijn. Dit in tegenstelling tot de meeste Data Science modellen die zich vaak op één taak richten.
Een mooi voorbeeld hiervan zijn zelfrijdende auto’s: de gebruikte beeldherkenningssystemen (zodat je nergens tegenaan rijdt) staan volledig los van de navigatiesystemen (wat is de beste route) en de resultaten van deze systemen worden in een beslissingseenheid samengevoegd tot wat de auto daadwerkelijk doet. De auto als geheel lijkt heel intelligent, maar bestaat uit losse, wellicht minder spectaculaire, Data Science componenten.
Voor een data scientist is het relevant dat partijen als Microsoft en Google verschillende modellen kant en klaar aanleveren, die een Data Scientist vervolgens kan combineren met zijn eigen modellen. Zo zijn er standaard modellen om tekst in plaatjes te lezen, geluid om te zetten in tekst of vice versa, gezichten te herkennen (en of iemand een man of vrouw is en hoe oud ongeveer), of anderszins objecten in afbeeldingen te herkennen en te beschrijven.
Of deze standaard modellen goed genoeg zijn om een eigen stukje moderne kunstmatige intelligentie te ontwikkelen hangt sterk af van de toepassing. Neem onderstaand plaatje. Voor jou en mij is het vrij duidelijk dat dit een overzicht is van de kunstmatige intelligentie tools die Microsoft aanbiedt. Als je deze afbeelding in Word (Lees: een Microsoft tool) plaatst en 'automatische alternatieve tekst' aanklikt, geeft Word - met behulp van Microsoft Cognitive Services - een omschrijving. Afbeeldingsherkenning én -beschrijving dus. Het resultaat is in dit geval wat tegenvallend, volgens Word is dit: ‘Schermafdruk van een mobiele telefoon’...
Om te eindigen met misschien wel het meest gebruikte buzzword van de afgelopen jaren: big data. Als er één uitdrukking rondom Data Science is die voor verwarring zorgt dan is het big data. Ik ben er namelijk eens op gaan letten en volgens mij kan ‘big data’ drie verschillende dingen betekenen.
Voor een Data Scientists is het bij ‘big data’ vooral van belang door te hebben welke betekenis bedoeld wordt. Daarnaast zijn er voor de echt hele grote dataset speciale big data tools, zonder welke je anders echt niet kunt werken. Echter vergen dergelijke tools ook een specifieke andere benadering van je probleemstelling: want sommige simpele berekeningen die net wat lastiger zijn dan het uitrekenen van een gemiddelde, kunnen op echt heel grote datasets al knap lastig zijn. Misschien wijd ik hier in de toekomst nog een blog aan, maar het voert wat ver om hier nu dieper op in te gaan.
Mijn doel met dit en voorgaande blog is een idee geven van wat Data Science is; wat voor business problemen je hiermee kunt oplossen; en hoe data science zich verhoudt tot de verschillende buzzwords als kunstmatige intelligentie, big data en machine learning. Zeg maar een behapbaar overzicht dat praten over Data Science makkelijker maakt. Vooral voor als het niet je vak is.
Ik hoop daar een beetje in geslaagd te zijn. Ik ben benieuwd naar je mening, dus mis je iets, wil je meer informatie over een specifiek onderwerp of een keer brainstormen over wat Data Science voor jou kan betekenen; laat het me weten!