Michiel Vlieger - Unrest Predictor
In dit stuk wil ik kijken naar mijn persoonlijke voorderingen. Hieronder valt de doelen die ik had gesteld, de hulp die ik heb gekregen en zelfmanagement.
In dit stuk wil ik kijken naar mijn projectmatige voorderingen. Hieronder valt mijn projectresultaat en hoe dit project bij mij past.
In dit stuk beschrijf ik wat ik ga doen voor de eindverantwoording en maak mijn planning in een mooi en overzichtelijk diagram.
Deze eerste periode van de minor heb ik veel voortgang gemaakt op de persoonlijke doelen die ik mijzelf had gesteld. De project doelen zullen voornamelijk deze komende periode progressie maken aangezien ik als eerst kennis wilde vergaren en het project nu pas echt begint. De persoonlijke doelen zullen minder aan bod komen deze komende periode. Ik ga ze natuurlijk nog wel testen aan het eind van de minor
Ik wou voor het testen van dit doel een MLN ontwerpen en ontwikkelen. Hiervoor koos ik
een MLN die een aantal figuren uit een teking kan herkennen. Hiervoor is een dataset
online beschikbaar wat het ontwikkelen makkelijker maakt. Ik koos ervoor dat de MLN een
bij, kaars, klok, vis, gitaar, octopus, sneeuwpop, boom en een paraplu kan
herkennen.
Als eerst had ik de MLN ontworpen (waarschuwing veel technische praat). Ik koos voor
tensorflow javascript als machine learning platform, omdat het opensource is en werkt
met javascript wat handig is om het op een website te laten werken. Daarnaast had ik
phaser gebruikt om de UI te maken, omdat ik daar al eerder mee had gewerkt. Sinds het
een tekening moet kunnen lezen had ik gebruik gemaakt van een convolutional neural
network (CNN). Een CNN zoekt in kleine stukjes naar vaak voorkomende vormen in de
tekeningen. Bijvoorbeeld bij een auto zoekt hij naar twee kleine cirkel, de wielen.
Uiteindelijk zou de CNN 256 input neuronen. Daarna moest ik kiezen hoeveel hidden layers
er zouden komen en hoeveel neuronen die layers zouden krijgen. Ik koos ervoor om 2
hidden layers te gebruiken met elk 6 neuronen. Dit bleek een goede hoeveelheid te zijn
voor de hoeveelheid hidden layers, want na testen met andere hoeveelheden werkte dit het
best. Maar de CNN werkte beter met 8 in plaats van 6 neuronen per hiddenlayer. Met het
ontwerpen van een MLN ben ik dus gevorderd.
Het bouwen van de MLN verliep erg soepel. Ik had mijzelf 2 weken de tijd gegeven om deze
CNN te maken. Hier het uiteindelijke resultaat. In
deze twee weken heb ik een goed product neergezet, al zeg ik het zelf. Link op het
scherm zie je twee grafieken die laten zien hoe goed de MLN de tekeningen kan herkennen.
Het middelste vak is een test van tekeningen na 50 keer oefenen. Met de "TRAIN MORE"
knop kan je het MLN meer laten trainen om accurater te worden. De "NEXT TEST" knop geeft
de MLN 16 nieuwe test tekeningen, hij kan minder duidelijke tekeningen waardoor hij soms
een foute voorspelling kunnen maken. In het rechter vak in het witte vierkantje kan je
zelf een tekening maken (onder op het scherm staat wat de MLN kan herkennen, kies daar
dus iets van uit). In het groene blokje daaronder staat wat de MLN gokt wat je aan het
tekenen bent. De "CLEAR" knop verwijderd je tekening waardoor je iets nieuws kan
tekenen.
De standaard week zag er als volgt uit: Maandag gesprekken met school/ leerteam en daarna nog een paar uur aan het project besteden, dinsdag tot en met zondag vier dagen uit de week aan het project zitten voor minimaal 8 uur en de rest van de tijd besteden aan wat ik op dat moment wilde doen. Het gesprek met het leerteam was altijd leerzaam en gezellig. Ik heb veel geleerd van de intervisies die we hebben gehad, zelfs als ik niet de leervraag brenger was. Vaak ging het over onderwerpen die ook belang hebben voor mij. Ik heb bijvoorbeeld meer geleerd over plannen en om hulp vragen terwijl dat niet eens mijn leervragen waren. Daarnaast had ik natuurlijk ook leervragen ingebracht en was ik goed geholpen. Ik hoop dat onze intervisies zo door blijven gaan! Naast het leerteam kreeg ik ook nog technische hulp van Daniël en van Diederick krijg ik veel hulp om de categorieën op te stellen van verschillende onrust veroorzakende factoren.
Ik heb me aan de zelfmanagement die ik in mijn PvA had beschreven gehouden en het werkte goed. Ik beloonde mijzelf na hard werk, zorgte dat ik altijd aan iets leuks werkte (door te wisselen tussen theoretisch en praktisch te leren) en ik zette mijzelf veel deadlines (bijvoorbeeld wanneer ik wat af wilde hebben van de cursus). Ik wil deze manier van zelfmanagement doorzetten aangezien het de vorige periode goed werkte.
Het eerste gedeelte van dit project (tot de status update) was voornamelijk onderzoek
doen. Ik begon met het volgen van
een online cursus. Deze was
afgerond in week 14 van dit jaar. Door deze cursus heb ik geleerd hoe een MLN werkt, hoe
je een MLN kan ontwerpen en hoe je daadwerkelijk een MLN bouwt. Voor deze cursus heb ik
veel huiswerk gemaakt, ik heb MLN's gemaakt die: toekomstige klanten zou kunnen vinden,
dieren uit foto's kan herkennen, beurs prijzen kan voorspellen, fraude kan opsporen en
aanbevelingen kan maken.
Na deze cursus ging ik meer onderzoek doen in text analyse door middel van MLN's. Een
paar goede websites waar ik veel van heb geleerd zijn monkeylearn.com en towardsdatascience.com.
Naast het onderzoeken heb ik ook nog andere dingen gedaan. Ik heb afspraken gemaakt met
Diederick, samen met Daniël userstories gemaakt en een technische setup gedaan.
Nu ik meer weet over MLN's, weet ik pas echt hoe interessant ik dit onderwerp vind. Mijn enthousiasme voor dit project is met de week gegroeid en ik kan niet wachten om er binnenkort aan te beginnen. Ik heb in mijn hoofd al een eerste versie van de MLN geschetst en ik ben erg benieuwd of die goed gaat werken.
Voor mijn eindverantwoording wil ik in ieder geval tot fase 9 af hebben. Ik verwacht dat ik nog in fase 10 zit aan het einde van de periode, omdat er altijd wel iets valt te verbeteren. Ik ga mijn doelen nogmaals testen voor de eindverantwoording om te kijken of ik verbeterd ben in deze vlakken.
Om de ML network te kunnen trainen heb ik data nodig. In het geval van dit project is dat news artikelen met wat er daarna is gebeurt in het bedrijf. Hier ga ik in ieder geval een week of 2 aan moeten zitten, aangezien het veel data moet gaan worden voor een zo accuraat mogelijk product.
Om de data daadwerkelijk te kunnen gebruiken moet het als eerst opgeschoond worden. Dit houdt in dat interpunctie en sommige woorden verwijderd moeten worden omdat het niet nodige informatie is voor de MLN.
In deze fase ga ik starten met het ontwikkelen van de MLN. Ik ga in deze fase de eerste versie maken van de MLN. Deze versie zou ongetwijfeld niet de beste zijn, maar het is een goed begin.
Met het begin dat ik in fase 9 heb opgezet wil ik verder werken om te verbeteren wat er te verbeteren valt. Dit kan betekenen dat ik verschillende instellingen van hoeveelheid hidden layers en hoeveelheid neuronen aanpas en kijk wat beter werkt.
Wanneer ik mijn MLN genoeg getest heb en het werkt goed is het klaar om aan Diederick te verkopen. Ik weet nog niet zeker of ik dit allemaal af ga krijgen voor het einde van deze school periode, maar ik ga mijn best doen!!!