IKKE NIE SNAP NIE…

Gegroet Dataridders,

In dit bericht ga ik je drie praktische tips geven om om te gaan met het gevoel dat je een idioot bent tijdens het bestuderen van Data Science.

Of wat dan ook eigenlijk. Maar ik denk dat deze tips vooral erg nuttig zijn voor de aspirant Dataridder, omdat deze vaak niet alleen met hele complexe theorie in aanraking komt, maar dat vaak ook in isolatie doet van zijn mede idioten…

 

Tip nummer 1: Iedereen is een idioot

Wij mensen geloven graag dat we heel erg slim zijn. We kijken naar uitvindingen zoals de space shuttle, nano-technologie en Jersey Shore en kunnen ons superioriteitsgevoel over het dierenrijkdom niet bedwingen. Maar, de bittere waarheid is dat wij mensen als individu niet zo veel slimmer zijn dan de gemiddelde chimpansee als we graag willen geloven.

Tuurlijk, als soort als geheel kunnen wij een hele hoop indrukwekkende dingen bereiken maar als individu zijn we eigenlijk niet echt zo slim. Er zijn uitzonderingen geweest zoals Einstein en Mozart, maar zelfs deze geweldige brainiacs bouwden voort op de gezamenlijke intellectuele inspanningen van alle idioten die voor hen kwamen.

Iedereen kan een briljant idee hebben, maar niemand kan altijd briljant zijn, en dingen niet snappen is een state of life. Zelfs Einstein heeft nooit uitgevogeld hoe hij nu die muur moest bouwen.

Dus als jij een tutorial serie over Deep Learning aan het kijken bent en af en toe geen idee hebt waar meneer de Data Scientist het allemaal over heeft hoef je je echt niet te schamen of ontmoedigd te raken. De kans is groot dat hij het zelf ook niet altijd weet, en de student achter de laptop in het huis aan de overkant weet het al helemaal niet.

 

Tip nummer 2: De aanhouder wint, meestal…

Oke, misschien dat je het de eerste keer allemaal maar half begrijpt en je hoofd inmiddels op springen staat, maar morgen is er weer een nieuwe dag. Zie het leren als het drinken van een grote emmer vol water, bier, thee, of wat je vloeistof naar keuze ook mag zijn.

Het punt is, er is maar zoveel nieuwe informatie die je op een dag kan verwerken. Maar, morgen is er weer een nieuwe dag, is je hoofd weer uitgerust en kan je de informatie weer opnieuw aanvallen.

Grote kans dat je het deze keer beter begrijpt dan de vorige keer!

Herhaal dit proces vaak genoeg en op een gegeven moment zul je de informatie meestal voldoende geadsorbeerd hebben.

Meestal. Geen garanties echter. Soms is de informatie gewoon geschreven in het Chinees en is het beter om een andere leerbron te vinden of door te gaan naar de volgende les. Of om eerst Chinees te leren.

Maar dat je iets niet meteen snapt hoeft niet te betekenen dat je het met wat herhaling niet kan ontcijferen. Zelfs een chimpansee kan een paar woordjes Chinees leren met voldoende doorzettingsvermogen.

 

Tip nummer 3: Je hoeft het niet allemaal te snappen!

Dit is misschien nog wel het allerbelangrijkste om je te realiseren. Zoals ik al zei kan je als je iets niet snapt af en toe het beste gewoon door gaan naar de volgende les. Maar, de beste manier om uit te vinden of je moet weten om iets te doen is door het gewoon te doen.

Blijf niet hangen in de theorie, probeer gewoon dat model te trainen. Kom je er dan niet uit dan weet je vaak wel wat je moet herhalen om er uit te komen. Zo niet, dan wordt het tijd om daar achter te komen.

Zelfs als je 80 procent van de theorie niet begrijpt kun je soms nog steeds prima de opgaves maken. Als je altijd alles probeert te snappen dan kom je nooit aan uitvoeren toe en leer je uiteindelijk niets praktisch.

Dat is alles voor nu,

 

Tot de volgende keer!

Moeiteloos leren

Gegroet aspirant Dataridder,

Ben je al DAGEN, WEKEN, misschien zelfs MAANDEN lang aan het studeren voor Machine Learning? Heb je je verdiept in Neurale Netwerken, Beslissingsbomen, Lineaire Algebra, Statistiek en Python en ben je inmiddels al weer vergeten wat je geleerd had over Neurale Netwerken? En heb je nog steeds geen enkele praktijk ervaring met het trainen van Machine Learning modellen?

Dat moet toch makkelijker kunnen?

In een eerder bericht had ik je al verteld dat ik recent mijn eerste eigen Machine Learning project volbracht had. In dit bericht ga ik jou vertellen hoe jij dit OOK kan bereiken, maar dan zo snel, gemakkelijk en plezierig mogelijk!

Waarom is dit eerste project nou zo belangrijk?

Nou, het is mijn ervaring dat je het beste leert programmeren door, je raadt het al, te programmeren. Het merendeel van mijn vaardigheden met Java heb ik aangeleerd door gewoon lekker te prutsen met het maken van mijn eigen spellen. En wat dat betreft is machine learning precies hetzelfde.

Dankzij de Machine Learning Accelerator had ik de vaardigheden geleerd die nodig waren om mijn eerste project te volbrengen. En tijdens dat project heb ik een hele hoop geleerd.

Vervolgens ben ik door gegaan naar Kaggle en heb ik in een fractie van de tijd NOG een project volbracht, de Titanic wedstrijd, en daarbij NOG meer geleerd.

Nu ben ik met enthousiasme begonnen aan de Digit Recognizer en daarvoor het Deep Learning traject aan het bestuderen voor Image Recognition met TensorFlow. Dankzij de ervaring die ik heb opgedaan tijdens mijn eerste twee projecten sluit deze nieuwe informatie geweldig aan bij wat ik al weet.

Zie je wat de kracht is van het maken van je eerste machine learning model?

Je zou jaren lang door kunnen blijven leren over Neurale Netwerken, Lineaire Algebra, optimalisatie problemen en ga zo maar door en nog steeds geen stap dichterbij zijn bij het maken van je eerste model. De kans is groot dat je ook de motivatie verliest LANG voordat je zover bent. Maar leer om één model te maken, hoe stom of simpel dan ook, en je hebt niet alleen de basiskennis om een geavanceerder model te maken, maar ook de motivatie!

Misschien dat je denkt dat dit allemaal vanzelfsprekend is. Geweldig! Maar, zelf heb ik gemerkt hoe gemakkelijk het is om verdwaald te raken in de overvloed aan informatie die beschikbaar is op het internet, vooral als je helemaal zelfstandig en groen aan het leren bent.

Oké, hopelijk heb ik je nu overtuigd.

Maar, wat moet je nu leren om je eerste machine learning project te volbrengen? Nou, er is niet echt één antwoord. Het hangt ervan af wat je wil maken. En dat is maar goed ook. Want, dat betekent dat er ook al meteen een hele hoop is wat je NIET hoeft te leren.

Desalniettemin zijn er een aantal dingen die ik zou adviseren om te leren, ongeacht wat je eerste project ook zal zijn:

  1. Wat is Machine Learning?
  2. Basis van met Python programmeren in Jupyter Notebook
  3. Hoe werkt een Machine Learning Algoritme?
  4. De Machine Learning Workflow

En dat is het!

Blijf echter niet te lang vast hangen in deze stappen. Zorg gewoon dat je snel een overzicht hebt van deze onderwerpen en begin dan gewoon. Als er gaten blijken te zijn dan kan je die het best al doende aanvullen tijdens het uitvoeren van je eerste project. Zo voorkom je dat je tijd en momentum verspilt aan dingen die je niet echt nodig hebt voor het volbrengen van je eerste project.

Nu zijn er meer dan genoeg opties beschikbaar om dit punt te bereiken. Het IS mogelijk om dit allemaal stukje voor stukje van het internet aan te vissen, maar ik zou aanraden om een tutorial te volgen die al deze stappen behandeld zonder teveel overige afleidingen.

Zelf heb ik dat dus gedaan met de Machine Learning Accelerator cursus, maar Kaggle heeft bijvoorbeeld ook een Intro to Machine Learning cursus van Dan Becker, welke al deze elementen lijkt te bevatten. Nu heb ik deze cursus zelf niet gevolgd, maar de Deep Learning cursus die ik nu volg is ook van Dan Becker en de kwaliteit is goed, al vermoed ik wel dat het lastig kan zijn om het te volgen als je niet een beetje meer achtergrond hebt.

Maar ja, welke cursus het meest geschikt voor jou is hangt af van je bestaande voorkennis en hoe snel je dingen op pakt. Dat is aan jou. Maar, wat ik je met dit bericht hopelijk heb meegebracht is dat de leukste, makkelijkste en snelste manier om te leren programmeren of modelleren al doende is.

En dat je daarom dan ook van het begin af aan zo weinig mogelijk tijd wilt verspillen aan andere onzin. Focus op het leren van alleen het meest essentiële voor het uitvoeren van dat eerste project. Zodra je dat in je zak hebt wordt het leerproces opeens een stuk leuker en gaat het bijna vanzelf.

Ik zou daarom ook aanraden om dat eerste project niet al te ambitieus te maken. Begin bijvoorbeeld gewoon met de Titanic wedstrijd op Kaggle. Dat is al uitdaging genoeg voor een beginner, geloof me. En als je dan vast loopt zijn er dan ook meer dan genoeg hulpbronnen te vinden om je verder te helpen.

Bijvoorbeeld sedaniel@dataridder.nl 😉

Maar dat is alles voor nu,

 

Tot de volgende keer!