Вероятностное программирование против машинного обучения

За последние десять лет мы стали свидетелями бурного роста приложений машинного обучения. Эти приложения были особенно успешными в поиске, электронной коммерции, рекламе, социальных сетях и других сферах. Эти приложения были особенно ориентированы на точность прогнозирования и часто связаны с большими объемами данных - иногда в районе терабайт - на самом деле это привело к появлению множества инноваций в таких технологических гигантах, как Netflix, Amazon, Facebook и Google.

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

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

Если мы выйдем за рамки этих ограничений, мы откроем дверь для новых видов продуктов и анализов, что и является предметом данной статьи. Решением является статистический метод, называемый байесовским выводом. Этот метод начинается с того, что мы формулируем предыдущие убеждения о моделируемой системе, что позволяет нам закодировать экспертное мнение и знания по предметной области в нашей системе. Эти убеждения сочетаются с данными, чтобы ограничить детали модели. Затем, когда модель используется для прогнозирования, она дает не один ответ, а скорее распределение вероятных ответов, что позволяет нам оценивать риски.

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

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

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

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

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

Какие есть приложения?

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

Источник: https://www.psychologyinaction.org/psychology-in-action-1/2012/10/22/bayes-rule-and-bomb-threats

Сила правила Байеса проистекает из того факта, что оно связывает величину, которую мы можем вычислить (вероятность того, что мы наблюдали бы измеренные данные, если бы гипотеза была верна), с величиной, которую мы можем использовать для ответа на произвольные вопросы (апостериорная вероятность того, что гипотеза верна с учетом данных).

Иерархические модели

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

Это может быть, например, модель ценообразования в сфере недвижимости или ценовой риск в коммерческом страховании. В обеих моделях у вас есть квартиры или магазины в районах, а районы - в районах. Не все магазины в районе похожи, но в среднем они довольно похожи. Средний магазин в Пекхэме отличается от среднего магазина в Дептфорде и очень отличается от среднего магазина в Патни.

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

Рисунок: Иерархия для модели «прогнозирования дохода».

Хотите узнать больше?

  • Https://www.youtube.com/watch?v=0kRytJZcHVw - это мой доклад, который я недавно сделал в PyData London.
  • Вы можете подписаться на список рассылки Probabilistic Programming Primer здесь http://eepurl.com/dFZZGb
  • Я собрал курс под названием Учебник по вероятностному программированию, он дает практические инструкции по более чем 3 с половиной часам скринкастов для углубленного изучения вероятностного программирования.
  • Чтобы узнать больше о науке о данных, подписывайтесь на меня в Twitter @ springcoil