健康

我是如何使用机器学习和数据科学黑进我的婴儿双胞胎的睡眠的

睡眠训练,机器人先生式的。

通过 泰勒隆德
更新:
出版:
数据科学改善双胞胎婴儿的睡眠
flickr /唐尼·雷·琼斯

以下是辛迪加从媒介父爱论坛万博max手机3.0这是一个由父母和有影响力的人组成的社区,他们对工作、家庭和生活都有深刻的见解。如果你想加入论坛,请给我们写信TheForum@万博max手机3.0Fatherly.com

一个月前,我试过A / B测试看看不同的“治疗”或输入参数是如何导致我们的双胞胎——当然也代表了我们自己——更长的睡眠时间。通过这项研究,我发现睡眠模式相当不稳定,并没有发现太多与睡眠增加有很强的相关性。随着时间的推移,他们自然而然地开始更多地依靠自己。然而,现在他们已经长到4个月大了,他们已经开始了明显常见但很少被讨论的睡眠回归阶段。我再一次发现自己非常想多睡一会儿。我是不是,就像一个人在之前的帖子下评论指出的那样,“无论多么迫切地想多睡一会儿,我都在找东西?”是的。是的,我是。因此,我转向了另一种计算机科学技术——机器学习。

机器学习是计算机科学中的一个领域,它提供了“教”计算机或程序的方法,而不给它们离散的指令。在正常的编程中,我会给计算机一系列要执行的命令,并在逻辑中根据输入决定要做什么,但程序永远不会偏离这些定义良好的轨道。虽然这个描述听起来更接近《终结者》与实际情况不同,机器学习允许人们获取一组“学习”数据,并将其作为做出预测的基础。虽然它在科技行业越来越受欢迎,但它主要被用于查看购买行为和推荐、人工智能,也许最有趣的是,主要是通过谷歌对图片和艺术进行分类和识别。我找不出很多应用于育儿的例子。

由于我妻子的会计背景和我们的A型人格,我们对两个男孩的进食和睡眠行为有详细的记录。还记得这个电子表格吗?

利用这些数据,我开始寻找输入参数的最佳组合,在这种情况下,我观察了一天中消耗的总食物,最后一次喂食的时间和最后一次喂食的数量,以确定什么会导致男孩们最长的夜间睡眠时间。最好的是,我可以让电脑做艰苦的工作。另外,我们有两倍的这些模式的数据,因为我们当然不是一个,而是两个男孩。

有几个很棒的跨编程语言的机器学习库。尽管我在工作中主要使用Java和Javascript,但我选择了Python库sklearn,因为我熟悉Python,这似乎是灵活的脚本语言的完美应用程序。这个库有很多很棒的教程和很好的文档。

你可以打开我的代码github如果感兴趣。

导出我们从电子表格中收集的数据,我提取了过去一个月的数据点。由于婴儿经历了快速的成长和发育变化,我觉得一个月的数据——乘以两个婴儿——是一个很好的平衡,最近的数据和足够的数据来做出预测。

把它放在一起并编码

我还得到了一些有趣的数据,包括我们平均每天给男孩们27.5盎司的食物,让他们在7点25分上床睡觉,睡前给他们5.22盎司的食物,他们平均睡9个小时。研究还表明,这些男孩75%的时间睡眠时间超过10小时。还不错。但我知道,通过更多的工作,我们可以改善这一点。

使用这些数据,我能够绘制出每个参数与睡眠时间的关系。

你可以看到,它们之间已经没有很强的相关性,至少在大多数之间是线性的。最接近的是食物总量和睡眠时间之间的线性关系——有很多异常值。奇怪的是,更多的食物似乎导致更少的睡眠。

有许多不同类型的机器学习算法。这些主要分为线性和非线性类型。我拿着这些数据,用6种相当广泛使用的算法进行运算,看看每种算法的准确率有多高。以下是结果。

或者用更象形的形式

在这里,你可以看到支持向量机算法对数据的表现是最好的,尽管范围很广,均值也不比其他算法好多少。甚至没有一个达到50%,这是非常糟糕的预测。这完全是由于数据的伪随机性质。即使有了这样的结果,我还是决定继续前进,希望能发现一些真知灼见。

使用SVM,我在输入数据上训练算法。利用这个方法,我现在可以根据一天的食物摄入量、让它们睡觉的时间以及最后一次喂食的量来预测我们的睡眠时间。例如,给它们28盎司,7点让它们睡觉,最后一次喂它们6盎司,会导致8小时的睡眠相当差。

结论

现在训练好算法后,我可以确定地预测我们能睡多久。更重要的是,我可以看看这些趋势线,看看什么样的行为会导致更多的睡眠,并试图优化。与直觉相反的是,早睡、少吃以及全天都能增加睡眠。这可能是由很多因素造成的,但我的理论是,少吃东西意味着少放屁,饿的时候胃收缩更小,因此睡眠更安稳。有多少次你狼吞虎咽,然后奇怪地在半夜饿着肚子醒来?

不幸的是,就像A/B测试一样,没有一个单独的输入似乎对睡眠有很强的直接影响。我想如果是这样的话,早就有人发现了,而且赚了几百万。综上所述,机器学习可以发现其中的一些趋势和变量之间的关联,这导致了比A/B测试或试错更好、更准确的结果,但结果仍然远远不够好。从这些数据中,我最多可以得到41%的预测准确率。这意味着他们往往是错的。由于发育过程中的频繁变化,甚至是男孩之间的差异,很难将数据应用于他们之间。同样,更大的样本量可能会有所帮助,但我们的目标不是短期内的三胞胎。

不过,这些结果聊胜于无,有助于展示机器学习和数据科学领域的前景。就我个人而言,我更喜欢根据数据而不是直觉来做决定,这些数据甚至只是证实了我的一些猜测,让我对我们的育儿方法感觉更好。

泰勒·伦德是跑路的爸爸

本文最初发表于

Baidu