Как создать автоматизированную модель машинного обучения?

Ваша основная роль Data Scientist заключается в создании моделей, их обновлении, проверке и обновлении с течением времени. Почему бы не автоматизировать и это? Почему машина не может сделать за меня даже эту работу и обновить ее со временем? Существует обучение с подкреплением, которое учится само по себе, но в то же время его сложнее использовать в применении этой методологии.

Пошаговое обучение, также называемое самообучением. Это метод, который позволяет нам моделировать проблему, когда к нам поступает непрерывный поток данных.

Зачем нам нужно инкрементное обучение?

Общая практика использования любых результатов модели заключается в проверке модели на последних данных или обновлении ее текущими данными. В случае проверки модель может хорошо работать с текущими данными, но мы можем упустить некоторую важную информацию, представленную в новых данных, поскольку мы полагаемся на модель, построенную на старых данных. В случае обновления модели мы можем упустить некоторую информацию, если будем полагаться только на новые данные, или объединение всех данных может оказаться слишком сложным для вычислений. Инкрементное обучение может помочь нам получить информацию из полных данных и с меньшими затратами на вычисления. Основная цель добавочного обучения состоит в том, чтобы хранить информацию о существующей модели и обновлять модель по мере поступления новой информации. Вместо того, чтобы строить модель на полных данных (предварительный обучающий набор и ввод новых данных), добавочное обучение будет обновить параметры модели для существующей модели, полученной из новых данных.

Приложения постепенного обучения

В настоящее время многие веб-сайты используют различные версии добавочного обучения, чтобы учиться у потока пользователей, которые продолжают возвращаться на веб-сайты. Инкрементное обучение можно использовать для изучения предпочтений пользователя из потока данных и оптимизации некоторых решений на веб-сайте.

Веб-сайт службы доставки:

На веб-сайте службы доставки, где веб-сайт предлагает цену доставки на основе данных, введенных пользователем (происхождение, пункт назначения, размер посылки), иногда пользователи выбирают нашу службу, а иногда нет. Здесь можно зафиксировать свойства пользователя (демографические данные, введенные данные, предыдущий ответ на отправку да/нет с предложенной ценой) и предложить оптимизированную цену, чтобы у них была довольно высокая вероятность выбрать нашу услугу. Здесь можно использовать любой алгоритм машинного обучения (логистическая регрессия, нейронная сеть, древовидная модель), чтобы предсказать вероятность того, что пользователь выберет нашу услугу по заданной цене. Что здесь будет делать модель добавочного обучения, так это то, что по мере того, как мы получаем непрерывный поток данных для пользователей, она будет обновлять текущие параметры модели с каждым новым экземпляром данных. Любое изменение (например, экономическое, когда пользователь может отказаться платить высокую или обычную цену), которое может повлиять на предпочтения пользователя, также будет адаптировано самой моделью с течением времени.

Поисковая система:

Другим примером является приложение на веб-сайте поиска продуктов, где мы хотим применить постепенное обучение, чтобы предоставить пользователю хороший поиск. Когда пользователь вводит поисковый запрос, т.е. характеристики нужного мобильного телефона, сайт показывает пользователю 10 разных телефонов из всей возможной массы телефонов, удовлетворяющих его требованию. Мы хотели бы повысить вероятность того, что пользователь перейдет по ссылке из заданных избранных телефонов, где параметрами в модели будут характеристики телефона из поискового запроса, корреляция между словами в поисковом запросе и названием/описанием телефона. Модель добавочного обучения будет обновлять параметры модели с каждым положительным/отрицательным ответом, собранным в данных для данной ссылки и поискового запроса.

В моей следующей статье я поделюсь более подробно через коды и методологию того, как вы можете использовать это в реальном проекте.

Со мной можно связаться в Linkedin или через мой веб-сайт.

использованная литература

[1] З. Абдаллах, М. Габер, Б. Шринивасан и С. Кришнасвами. Адаптивная система распознавания активности мобильных устройств с развивающимися потоками данных. Нейрокомпьютинг, 150(PA):304–317, 2015.

[2] М. Акерман и С. Дасгупта. Инкрементная кластеризация: случай дополнительных кластеров. В NIPS, страницы 307–315, 2014 г.

[3] К. Алиппи, Г. Боракки и М. Ровери. Классификаторы «как раз вовремя»: управление случаем медленного дрейфа. В IJCNN, страницы 114–120, 2009 г.

[4] Р. Алламараджу, Х. Кинграви, А. Аксельрод, Г. Чоудхари, Р. Гранде, Дж. Хоу, К. Крик и В. Шэн. Планирование пути БПЛА с учетом человека в городских условиях с использованием нестационарных MDP. На Международной конференции IEEE по робототехнике и автоматизации, стр. 1161–1167, 2014 г.

[5] Ю. Амират, Д. Дэни, С. Мохаммед, А. Спаланцани, А. Чибани и О. Симонин. Помощь и сервисная робототехника в среде человека. Робототехника и автономные системы, 75, часть A:1–3, 2016 г.

[6] А. Анак Джозеф и С. Одзава. Быстрый инкрементальный анализ основных компонентов ядра для потоков данных.