Het volgende is gesyndiceerd van: Medium voor Het Vaderlijke Forum, een community van ouders en influencers met inzichten over werk, gezin en leven. Als je lid wilt worden van het Forum, stuur ons dan een bericht op [email protected].
Een maand geleden heb ik geprobeerd A/B-testen om te zien hoe verschillende "behandelingen" of invoerparameters kunnen resulteren in een langere slaap voor onze tweeling - en natuurlijk bij volmacht, ons. Hierdoor ontdekte ik dat slaappatronen vrij grillig waren en niet veel vond dat sterk correleerde met meer slaap. Naarmate de tijd verstreek, begonnen ze op natuurlijke wijze meer op zichzelf. Nu ze echter 4 maanden hebben bereikt, zijn ze begonnen aan de schijnbaar veel voorkomende maar zelden besproken slaapregressiefase. Ik merkte opnieuw dat ik wanhopig op zoek was naar meer slaap. Was ik, zoals iemand op de vorige post opmerkte, "op zoek naar iets, hoe wanhopig ik ook op zoek was naar meer slaap?" Ja. Ja ik was. Daarom wendde ik me tot een andere informaticatechniek, machinaal leren.
flickr / Matthew H.
Machine learning is een vakgebied binnen de informatica dat methoden biedt voor het 'leren' van computers of programma's zonder ze discrete instructies te geven. Bij normaal programmeren zou ik de computer een reeks opdrachten geven om uit te voeren, met logica om beslissingen nemen over wat te doen op basis van input, maar het programma zou nooit van deze goed gedefinieerde af kunnen gaan rails. Hoewel deze beschrijving dichter bij de Terminator dan hoe het er in de praktijk uitziet, stelt machine learning je in staat om een reeks 'lerende' gegevens te nemen en die te gebruiken als basis voor het maken van voorspellingen. Hoewel het in de technologische industrie steeds populairder wordt, wordt het vooral gebruikt om naar inkoop te kijken gedrag en aanbevelingen, AI, en misschien wel het meest interessante, om afbeeldingen en kunst te categoriseren en te identificeren - grotendeels door Googlen. Ik kon niet veel voorbeelden vinden waarin het werd toegepast op het ouderschap.
Dankzij de boekhoudkundige achtergrond van mijn vrouw en onze type A-persoonlijkheden hebben we gedetailleerde gegevens over het voedings- en slaapgedrag van de jongens. Herinner je je deze spreadsheet nog?
Met behulp van deze gegevens ben ik op zoek gegaan naar de optimale combinatie van invoerparameters, in dit geval heb ik gekeken naar het totale voedsel dat wordt geconsumeerd in de dag, het tijdstip van de laatste voeding en de hoeveelheid van de laatste voeding, om te bepalen wat zou resulteren in de langste nachtrust voor de jongens. En het beste van alles was dat ik de computer het zware werk kon laten doen. Bovendien hadden we twee keer zoveel gegevens over deze patronen omdat we natuurlijk niet één maar twee jongens hebben.
flickr / Matthew Ephraim
Er zijn verschillende geweldige bibliotheken voor machine learning beschikbaar in verschillende programmeertalen. Hoewel ik voornamelijk Java en Javascript voor mijn werk gebruik, koos ik voor de Python-bibliotheek sklearn, omdat ik vertrouwd zijn met Python en dit leek de perfecte toepassing voor flexibele scripting taal. Er zijn veel geweldige tutorials voor deze bibliotheek en ook goede documentatie.
Je kunt mijn code vinden op github indien geïnteresseerd.
Bij het exporteren van de gegevens die we uit de spreadsheet hebben verzameld, heb ik alleen de gegevenspunten van de afgelopen maand geëxtraheerd. Vanwege de snelle groei en ontwikkelingsveranderingen die baby's doormaken, vond ik dat de gegevens van één maand - keer 2 baby's - een goede balans waren tussen recentheid en voldoende gegevens om een voorspelling te doen.
Samenvoegen en coderen
Ik kreeg ook enkele interessante statistieken, waaronder dat we de jongens gemiddeld 27,5 oz per voerden dag, legde ze het vaakst om 7:25 uur in bed, voedde ze 5,22 oz voor het slapengaan, en ze sliepen 9 uur op gemiddeld. Ook bleek dat de jongens 75 procent van de tijd meer dan 10 uur sliepen. Niet slecht. Maar ik wist dat we dit met wat meer werk konden verbeteren.
Met behulp van deze gegevens kon ik elke parameter uitzetten tegen de slaaptijd.
Je kunt zien dat er al geen sterke correlatie is, althans niet lineair tussen de meeste hiervan. Het dichtste is de enigszins lineaire - met veel uitbijters - relatie tussen het totale voedsel en het aantal uren slaap. Vreemd genoeg lijkt meer voedsel te resulteren in minder slaap.
flickr / hegbar
Er zijn veel verschillende soorten machine learning-algoritmen. Deze zijn grotendeels ingedeeld in lineaire en niet-lineaire typen. Ik nam de gegevens en liet ze door 6 vrij veelgebruikte algoritmen lopen om te zien hoe nauwkeurig ze allemaal konden zijn. Hier zijn de resultaten.
Of in een meer pictografische vorm
Hier kunt u zien dat de Support Vector Machine-algo duidelijk het beste presteerde ten opzichte van de gegevens, hoewel het bereik erg breed is en het gemiddelde niet veel beter is dan de andere. Geen van hen zit zelfs op 50 procent, wat behoorlijk slecht is om te voorspellen. Dit is volledig te wijten aan het pseudo-willekeurige karakter van de gegevens. Zelfs met zulke resultaten besloot ik door te gaan, in de hoop enig inzicht te krijgen.
Met behulp van SVM heb ik het algoritme getraind op de invoergegevens. Hiermee kon ik nu voorspellen hoeveel slaap we zouden krijgen op basis van de hoeveelheid voedsel die op een dag wordt ingenomen, wanneer we ze naar bed brengen en hoeveel we ze bij de laatste voeding hebben gevoerd. Als je ze bijvoorbeeld 28 ons geeft, ze om 7 uur naar bed brengt en 6 ons geeft bij die laatste voeding, zou dit resulteren in een redelijk slechte 8 uur slaap.
conclusies
Met het nu getrainde algoritme kon ik met enige zekerheid voorspellen hoeveel slaap we zouden krijgen. Wat nog belangrijker is, ik kon kijken naar de trendlijnen hiervoor en zien welk soort gedrag leidde tot meer slaap in een poging om te optimaliseren. Contra-intuïtief, eerder naar bed gaan, met minder eten dan en gedurende de dag, eigenlijk meer slaap. Dit is waarschijnlijk te wijten aan vele factoren, maar mijn theorie is dat minder voedsel minder gas betekent, minder maagkrimp als je honger hebt, en dus meer rustgevende slaap. Hoe vaak ben je al uitgehongerd en dan bizar midden in de nacht wakker geworden van de honger?
flickr / Dion Hinchcliffe
Helaas lijkt, net als bij de A/B-tests, geen enkele individuele input een sterke directe input te hebben voor slaap. Ik denk dat als dat zo was, iemand het al zou hebben ontdekt en miljoenen zou verdienen. Alles bij elkaar genomen kan machine learning enkele van deze trends en verbanden tussen variabelen vinden, wat leidt tot tot betere, nauwkeurigere resultaten dan A/B-testen of vallen en opstaan, maar de resultaten zijn nog verre van geweldig. Uit deze gegevens kon ik hoogstens een nauwkeurigheidspercentage van 41 procent van de voorspellingen halen. Dat betekent dat ze vaker wel dan niet ongelijk hebben. Vanwege de frequente veranderingen in ontwikkeling en zelfs de verschillen tussen de jongens, is het moeilijk om gegevens over hen toe te passen. Nogmaals, een grotere steekproefomvang kan helpen, maar we streven niet snel naar een drieling.
Toch zijn deze resultaten beter dan niets en helpen ze de belofte van het gebied van machine learning en data science aan te tonen. Ik geef er de voorkeur aan om beslissingen te nemen op basis van gegevens in plaats van onderbuikgevoelens en deze gegevens, zelfs als ze slechts enkele van mijn gissingen bevestigen, zorgen ervoor dat ik me beter voel over onze opvoedingsaanpak.
Tyler Lund is de redacteur van Papa op de vlucht.