То, что я узнал в основном, совершая ошибки

Масса данных + новейшее машинное обучение + дешевые вычисления = прибыль.

Верно?

Все не так просто.

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

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

Задавая правильный вопрос

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

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

  • Что мы делаем? Задайте вопрос с количественным ответом
  • Почему мы это делаем? Знайте преимущества выполнения работы и то, как превратить ответ в действие
  • Как мы будем получать и обрабатывать данные? Идеальные данные против фактических данных
  • Когда оно вам понадобится? Своевременность vs точность
  • Кто будет это делать? Наличие правильного набора навыков в вашей команде

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

Что мы делаем? Задайте вопрос с количественным ответом

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

Плохой пример: Какие закономерности присутствуют в моих данных?

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

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

Хороший пример: каких клиентов мы, скорее всего, потеряем, если не вмешаемся? На какие из них мы должны нацелить вмешательство? Какое из конкретных вмешательств принесет наивысшую ожидаемую рентабельность инвестиций?

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

Зачем мы это делаем? Знайте преимущества выполнения работы и то, как превратить ответ в действие

Если определяемая работа не может быть четко связана с достижением целей организации (или что-то очевидное, например, доказуемое улучшение продукта или снижение затрат), к проекту следует относиться скептически.

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

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

Как мы будем получать и обрабатывать данные? Идеальные данные против фактических данных

Не все варианты использования одинаковы, но вот несколько мыслей о том, как сделать проекты в области науки о данных ценными.

Разработка специального анализа / экспериментов

Насколько это возможно, полезно знать заранее:

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

В этом случае специалист по данным может даже не понадобиться. В большинстве случаев подойдут инструменты самообслуживания для визуализации / аналитики.

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

Стоимость данных

Не весь сбор данных можно определить заранее или как побочный эффект чего-то еще. Как правило, данные связаны с затратами на сбор, извлечение и хранение, и мы должны действовать избирательно.

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

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

Количественная оценка неопределенности

Некоторые действия требуют почти уверенности, а некоторые ситуации требуют других действий, когда вы не уверены. Наука о данных также включает работу с небольшими наборами данных (или с неидеальными данными, которые у вас были в холодильнике). Популярные методы (глубокое обучение, классическая проверка гипотез) не предназначены для того, чтобы показать вам, насколько неопределенными являются ваши результаты. Ознакомьтесь с BEST для проверки гипотез, гауссовскими процессами для классификации / регрессии и PyMC3 для оценки плотности.

Когда тебе это нужно? Своевременность vs точность

Своевременность ~ удобство использования результатов + интерпретируемость анализа + требуемый уровень достоверности

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

Письмо Джеффа Безоса акционерам Amazon содержало множество советов относительно своевременности. Одним из основных моментов было следующее:

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

Еще один хороший совет перед тем, как реализовать этот алгоритм на сайте arxiv.org, - это оценить выгоду в расчете на час человеческих усилий. Однажды мы с товарищами по лаборатории провели всю ночь, кодируя более быстрый алгоритм рисования изображений для Курса обработки изображений Каролы Шонлиб. Усталые и гордые собой, представляя нашу работу, профессор из аудитории дал нам только один комментарий: Человеческое время стоит дорого, компьютерное время дешево. Наше время лучше было бы провести в другом месте.

Касательная: рост популярности глубокого обучения по сравнению с другими методами машинного обучения можно частично объяснить этим - глубокое обучение часто требует относительно простого понимания математической проблемы, способности манипулировать тензорами и градиентного спуска. Сравните это с классическими методами, которые требуют обширного проектирования функций и сравнения моделей для различных семейств проблем. Байесовские методы еще сложнее применять, поскольку они требуют твердого понимания распределений вероятностей, их взаимодействия и вычислительных особенностей их эффективного приближения. Таким образом, проще перейти от разработки программного обеспечения к глубокому обучению, а это значит, что все больше людей используют его, и этот рост становится постоянным. Это замечательно, но это не делает глубокое обучение подходящим инструментом для каждой работы (по крайней мере, сейчас), оно помогает помнить о других инструментах.

Кто это будет делать? Наличие правильного набора навыков в вашей команде

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

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

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

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

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

Надеюсь, это поможет! Комментарии и исправления получены с благодарностью.

Я скоро снова напишу о том, почему AI! = Машинное обучение! = Наука о данных

Спасибо Джону Типплу, Алу Гранту, Питу Харрису и Уиллу Мэтьюзу за обсуждения на первом саммите ARM Data & Insights Summit, которые привели к созданию этой публикации. Все ошибки и мнения мои собственные.