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

За последние десять лет мы стали свидетелями бурного роста приложений машинного обучения. Эти приложения были особенно успешными в поиске, электронной коммерции, рекламе, социальных сетях и других сферах. Эти приложения были особенно ориентированы на точность прогнозирования и часто включают большие объемы данных - иногда в районе терабайт - на самом деле это привело к появлению множества инноваций в таких технологических гигантах, как 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