Наступне було синдиковано з Середній для Батьківський форум, спільнота батьків і впливових осіб, які розповідають про роботу, сім’ю та життя. Якщо ви бажаєте приєднатися до форуму, напишіть нам [email protected].
Місяць тому я спробував A/B тестування щоб побачити, як різні «лікування» або вхідні параметри можуть призвести до тривалого сну для наших близнюків — і, звісно, через проксі, нас. Завдяки цьому я виявив, що режим сну був досить непостійним і не виявив багато, що сильно корелює з збільшенням сну. Минав час, вони почали більшою мірою самостійно, природно. Однак тепер, коли їм виповнилося 4 місяці, у них розпочалася, мабуть, поширена, але рідко обговорювана фаза регресії сну. Я знову виявив, що відчайдушно хочу більше спати. Чи я, як було вказано в одному з коментарів до попередньої публікації, «бажав знайти щось, незалежно від того, наскільки відчайдушно хочеться більше спати?» Так. Так, я був. Тому я звернувся до іншої техніки інформатики, машинного навчання.
flickr / Метью Х.
Машинне навчання — це галузь інформатики, яка надає методи «навчання» комп’ютерів або програм без надання їм дискретних інструкцій. У звичайному програмуванні я б дав комп’ютеру послідовність команд для виконання, додаючи логіку приймати рішення про те, що робити на основі введених даних, але програма ніколи не могла вийти з цього чітко визначеного рейки. Хоча цей опис звучить ближче до Термінатор ніж те, як це насправді виглядає на практиці, машинне навчання дозволяє взяти набір «навчальних» даних і використовувати їх як основу для прогнозування. Незважаючи на те, що він стає все більш популярним у технологічній індустрії, він в основному використовується для покупок поведінку та рекомендації, штучний інтелект, і, можливо, найцікавіше, категоризувати та ідентифікувати зображення та мистецтво — в основному за допомогою Google. Я не зміг знайти багато випадків, коли це застосовувалося до батьківства.
Завдяки бухгалтерському досвіду моєї дружини та нашим характерам типу А ми маємо детальні записи про годування та поведінку хлопців під час сну. Пам'ятаєте цю електронну таблицю?
Використовуючи ці дані, я вирішив знайти оптимальну комбінацію вхідних параметрів, у цьому випадку я дивився на загальне споживання їжі в день, час останнього годування та кількість останнього годування, щоб визначити, що призведе до найдовшого нічного сну для хлопчики. І найкраще, що я міг дозволити комп’ютеру виконувати важку роботу. Крім того, у нас було вдвічі більше даних про ці моделі, тому що у нас, звичайно, не один, а 2 хлопчики.
flickr / Метью Єфрем
Існує кілька чудових бібліотек для машинного навчання, доступних для різних мов програмування. Незважаючи на те, що я переважно використовую Java та Javascript для роботи, я вибрав бібліотеку Python sklearn, оскільки я знайомі з Python, і це здавалося ідеальним додатком для гнучкого написання сценаріїв мова. Є багато чудових посібників для цієї бібліотеки та гарної документації.
Ви можете знайти мій код на github якщо цікаво.
Експортуючи дані, які ми зібрали з електронної таблиці, я витягнув точки даних лише за останній місяць. Через швидке зростання та зміни розвитку, які проходять немовлята, я відчув, що дані за місяць — помножені на 2 дитини — були хорошим балансом останніх і достатньо даних, щоб зробити прогноз.
З’єднати та закодувати
Я також отримав цікаву статистику, включаючи те, що в середньому ми давали хлопцям 27,5 унцій на добу в день, клали їх спати найчастіше о 7:25, нагодували їх 5,22 унції перед сном, і вони спали 9 годин середній. Також виявилося, що 75 відсотків часу хлопчики спали більше 10 годин. Не дуже погано. Але я знав, що за допомогою додаткової роботи ми можемо покращити це.
Використовуючи ці дані, я зміг порівняти кожен параметр із часом сну.
Ви можете побачити, що між більшістю з них вже не існує сильної кореляції, принаймні лінійної. Найближчим є дещо лінійний — з великою кількістю викидів — співвідношення між загальною кількістю їжі та годинами сну. Як не дивно, більше їжі, здається, призводить до менше сну.
flickr / hegbar
Існує багато різних типів алгоритмів машинного навчання. Вони в основному поділяються на лінійні та нелінійні типи. Я взяв дані та провів їх через 6 досить широко використовуваних алгоритмів, щоб побачити, наскільки точним може бути кожен. Ось результати.
Або в більш піктографічній формі
Тут ви можете побачити, що алгоритм Support Vector Machine явно показав найкращі результати щодо даних, хоча діапазон дуже широкий, а середнє значення не набагато краще, ніж інші. Жодна з них не досягає навіть 50 відсотків, що досить погано для прогнозування. Це повністю пов’язано з псевдовипадковим характером даних. Навіть маючи такі результати, я вирішив піти вперед, сподіваючись отримати будь-яке розуміння.
Використовуючи SVM, я навчив алгоритм на вхідних даних. Використовуючи це, я міг тепер передбачити, скільки ми будемо спати, виходячи з кількості їжі, яку ми споживали за день, коли ми укладали їх спати, і скільки ми нагодували під час останнього годування. Наприклад, якщо дати їм 28 унцій, покласти їх спати в 7 і дати 6 унцій під час останнього годування, це призведе до досить поганого сну протягом 8 годин.
Висновки
Завдяки напрацьованому алгоритму я міг з певною впевненістю передбачити, скільки ми будемо спати. Що ще важливіше, я міг би подивитися на лінії тренду для них і побачити, який тип поведінки привів до більшого сну, намагаючись оптимізувати. Нерозумно, раніше лягати спати, з меншою кількістю їжі тоді і протягом дня фактично збільшує сон. Це, ймовірно, пов’язано з багатьма факторами, але моя теорія полягає в тому, що менше їжі означає менше газів, менше скорочення шлунка під час голоду, а отже, більш спокійний сон. Скільки разів ви виходили, а потім дивно прокидалися посеред ночі, голодуючи?
flickr / Діон Хінчкліфф
На жаль, як і під час тестування A/B, жоден індивідуальний вхід, здається, не має сильного прямого впливу на сон. Гадаю, якби це було, хтось би це вже виявив і заробив би мільйони. Взявши разом, машинне навчання може знайти деякі з цих тенденцій та зв’язки між змінними, що призводить до кращих, точніших результатів, ніж тестування A/B або метод проб і помилок, але результати все ще далекі від чудових. З цих даних я міг би отримати максимум 41 відсоток точності прогнозів. Це означає, що найчастіше вони помиляються. Через часті зміни в розвитку і навіть відмінності між хлопчиками, важко застосувати дані до них. Знову ж таки, більший розмір вибірки може допомогти, але ми не прагнемо трійні найближчим часом.
Тим не менш, ці результати краще, ніж нічого, і вони допомагають продемонструвати перспективність галузі машинного навчання та науки про дані. Я, наприклад, віддаю перевагу приймати рішення на основі даних, а не інтуїтивних почуттів, і ці дані навіть лише підтверджують деякі з моїх припущень, змушують мене відчувати себе краще щодо нашого підходу до виховання.
Тайлер Лунд є редактором Тато в бігах.