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