Følgende blev syndikeret fra Medium til Det Faderlige Forum, et fællesskab af forældre og influencers med indsigt i arbejde, familie og liv. Hvis du gerne vil tilmelde dig forummet, så skriv til os på [email protected].
For en måned siden prøvede jeg A/B test for at se, hvordan forskellige "behandlinger" eller inputparametre kan resultere i længere søvn for vores tvillinger - og selvfølgelig ved proxy, os. Gennem dette fandt jeg ud af, at søvnmønstrene var ret uregelmæssige og fandt ikke meget, der korrelerede stærkt med øget søvn. Som tiden gik, startede de mere og mere på egen hånd naturligt. Men nu, hvor de er nået 4 måneder, har de påbegyndt den tilsyneladende almindelige, men sjældent omtalte søvnregressionsfase. Jeg oplevede igen, at jeg var desperat efter mere søvn. Var jeg, som en kommenterede i det forrige indlæg påpegede, "søger at finde noget, uanset hvor desperat efter mere søvn?" Ja. Ja jeg var. Derfor vendte jeg mig mod en anden datalogisk teknik, maskinlæring.
flickr / Matthew H.
Machine learning er et felt inden for datalogi, der giver metoder til at "undervise" computere eller programmer uden at give dem diskrete instruktioner. I normal programmering ville jeg give computeren en sekvens af kommandoer til at udføre, og kaste logik til træffe beslutninger om, hvad der skal gøres baseret på input, men programmet kunne aldrig gå ud af disse veldefinerede skinner. Selvom denne beskrivelse lyder tættere på Terminator end hvordan det rent faktisk ser ud i praksis, giver maskinlæring en mulighed for at tage et sæt "lærings"-data og bruge det som grundlag for at lave forudsigelser. Selvom det bliver mere og mere populært på tværs af teknologiindustrien, er det mest blevet brugt til at se på indkøb adfærd og anbefalinger, kunstig intelligens, og måske mest interessant, at kategorisere og identificere billeder og kunst – i høj grad ved at Google. Jeg kunne ikke finde mange tilfælde af, at det blev anvendt til forældre.
Takket være min kones regnskabsmæssige baggrund og vores type A-personligheder har vi detaljerede optegnelser om fodring og søvnadfærd for drengene. Kan du huske dette regneark?
Ved at bruge disse data satte jeg mig for at finde den optimale kombination af inputparametre, i dette tilfælde kiggede jeg på det samlede madforbrug i dagen, tidspunktet for sidste fodring og mængden af sidste fodring for at bestemme, hvad der ville resultere i den længste nattesøvn for drenge. Og bedst af alt kunne jeg lade computeren gøre det hårde arbejde. Derudover havde vi dobbelt så mange data om disse mønstre, fordi vi selvfølgelig ikke har én men 2 drenge.
flickr / Matthew Ephraim
Der er flere gode biblioteker til maskinlæring tilgængelige på tværs af programmeringssprog. Selvom jeg primært bruger Java og Javascript til arbejdet, valgte jeg Python-biblioteket sklearn, da jeg har kendskab til Python, og dette virkede som det perfekte program til den fleksible scripting Sprog. Der er mange gode tutorials derude til dette bibliotek og god dokumentation også.
Du kan finde min kode på github hvis interesseret.
Ved at eksportere de data, vi indsamlede fra regnearket, udtog jeg kun den sidste måneds datapunkter. På grund af den hurtige vækst og udviklingsændringer, som spædbørn gennemgår, følte jeg, at en måneds data - gange 2 spædbørn - var en god balance mellem nyligt og nok data til at kunne forudsige.
At sætte det sammen og kode det op
Jeg fik også nogle statistikker, der var interessante, herunder at vi i gennemsnit fodrede drengene 27,5 oz pr dag, læg dem oftest i seng kl. 7:25, fodrede dem 5,22 oz ved sengetid, og de sov 9 timer på gennemsnit. Det viste sig også, at drengene sov over 10 timer 75 procent af tiden. Ikke dårligt. Men jeg vidste, at vi kunne forbedre dette med noget mere arbejde.
Ved hjælp af disse data var jeg i stand til at plotte hver parameter mod søvntiden.
Du kan se, at der allerede ikke er en stærk sammenhæng, i det mindste lineær mellem de fleste af disse. Det nærmeste er det noget lineære - med mange afvigelser - forholdet mellem samlet mad og timers søvn. Mærkeligt ser mere mad ud til at resultere i mindre søvn.
flickr / hegbar
Der er mange forskellige typer af maskinlæringsalgoritmer. Disse er stort set klassificeret i lineære og ikke-lineære typer. Jeg tog dataene og kørte dem gennem 6 temmelig udbredte algoritmer for at se, hvor nøjagtige hver enkelt kunne blive. Her er resultaterne.
Eller i en mere billedskøn form
Her kan du se Support Vector Machine algo klarede sig klart bedst i forhold til dataene, selvom rækkevidden er meget bred, og gennemsnittet ikke er meget bedre end de andre. Ingen er endda på 50 procent, hvilket er ret dårligt til at forudsige. Dette skyldes udelukkende den pseudo-tilfældige karakter af dataene. Selv med sådanne resultater besluttede jeg at gå videre i håb om overhovedet at få nogen indsigt.
Ved hjælp af SVM trænede jeg algoritmen på inputdataene. Ved at bruge dette kunne jeg nu forudsige, hvor meget søvn vi ville få baseret på mængden af mad indtaget på en dag, hvornår vi lægger dem i seng, og hvor meget vi fodrede dem ved sidste fodring. For eksempel at give dem 28 ounce, lægge dem i seng kl. 7 og give 6 ounce ved den sidste fodring ville resultere i temmelig dårlige 8 timers søvn.
Konklusioner
Med den nu trænede algoritme kunne jeg med nogen sikkerhed forudsige, hvor meget søvn vi ville få. Endnu vigtigere, jeg kunne se på trendlinjerne for disse og se, hvilken type adfærd der førte til mere søvn i et forsøg på at optimere. Kontraintuitivt, at gå tidligere i seng, med mindre mad derefter og i løbet af dagen øgede faktisk søvnen. Dette skyldes sandsynligvis mange faktorer, men min teori er, at mindre mad betyder mindre gas, mindre mavekrympning, når du er sulten, og derfor mere afslappende søvn. Hvor mange gange har du pigget ud og så bizart vågnet op midt om natten og sultende?
flickr / Dion Hinchcliffe
Desværre, ligesom med A/B-testen, synes ingen enkelt input at have et stærkt direkte input til søvn. Hvis det gjorde det, ville nogen allerede have opdaget det og ville tjene millioner. Tilsammen kan maskinlæring finde nogle af disse tendenser og sammenhænge mellem variabler, hvilket fører til bedre, mere præcise resultater end A/B-test eller trial and error, men resultaterne er stadig langt fra gode. Ud fra disse data kunne jeg højst få en nøjagtighed på 41 procent af forudsigelser. Det betyder, at de oftere end ikke tager fejl. På grund af de hyppige ændringer i udviklingen og endda forskellene mellem drengene, er det svært at anvende data på tværs af dem. Igen kan en større stikprøvestørrelse måske hjælpe, men vi sigter ikke efter trillinger lige nu.
Alligevel er disse resultater bedre end ingenting og hjælper med at demonstrere løftet inden for maskinlæring og datavidenskab. Jeg foretrækker at træffe beslutninger ud fra data frem for mavefornemmelser, og disse data bekræfter endda nogle af mine gæt, får mig til at føle mig bedre tilpas med vores forældretilgang.
Tyler Lund er redaktør af Far på flugt.