Чтобы научиться проектировать системы машинного обучения, полезно прочитать тематические исследования, чтобы увидеть, как реальные команды справляются с различными требованиями и ограничениями развертывания. Многие компании, такие как Airbnb, Lyft, Uber, Netflix, ведут отличные технические блоги, в которых делятся своим опытом использования машинного обучения для улучшения своих продуктов и / или процессов.

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

  1. Использование машинного обучения для прогнозирования стоимости домов на Airbnb
    (Роберт Чанг, Airbnb Engineering & Data Science, 2017)

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

2. Использование машинного обучения для повышения качества потоковой передачи в Netflix
(Чайтанья Эканадхам, технологический блог Netflix, 2018)

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

3. 150 успешных моделей машинного обучения: 6 уроков, извлеченных на Booking.com
(Бернарди и др., KDD, 2019).

По состоянию на 2019 год на Booking.com работает около 150 моделей машинного обучения. Эти модели решают широкий спектр задач прогнозирования (например, прогнозирование предпочтений пользователей в поездках и количества людей, с которыми они путешествуют) и оптимизаций (например, оптимизацию фоновых изображений и обзоров для отображения для каждого пользователя). Адриан Колайер дал хорошее резюме шести извлеченных уроков:

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

4. Как мы выросли с 0 до 4 миллионов женщин с помощью нашего модного приложения с помощью вертикального машинного обучения
(Габриэль Альдамиз, HackerNoon, 2018)

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

5. Поисковый рейтинг Airbnb на основе машинного обучения
(Михайло Грбович, Airbnb Engineering & Data Science, 2019)

В этой статье вы шаг за шагом рассмотрите канонический пример проблемы ранжирования и рекомендации. Четыре основных шага - это проектирование системы, персонализация, онлайн-скоринг и бизнес-аспекты. В статье объясняется, какие функции использовать, как собирать данные и маркировать их, почему они выбрали Gradient Boosted Decision Tree, какие метрики тестирования использовать, какие эвристики следует учитывать при ранжировании результатов, как проводить A / B-тестирование во время развертывания. Еще одна замечательная особенность этого поста заключается в том, что он также касается персонализации, чтобы по-разному ранжировать результаты для разных пользователей.

6. От поверхностного к глубокому обучению в мошенничестве
(Хао И Онг, Lyft Engineering, 2018)

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

7. Пространство, время и продукты
(Джереми Стэнли, технический специалист Instacart, 2017)

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

8. Платформа Uber для больших данных: 100+ петабайт с минутной задержкой
(Реза Шифтехфар, Uber Engineering, 2018)

С массивными данными возникают огромные инженерные требования. В значительной степени полагаясь на данные для принятия решений, «от прогнозирования спроса на пассажиров во время событий с высокой загруженностью до выявления и устранения узких мест в процессе регистрации наших партнеров и водителей», Uber собрал «более 100 петабайт данных, которые необходимо очистить, сохранить, и обслуживается с минимальной задержкой ». В этой статье рассматривается эволюция хранилища аналитических данных в Uber от Vertica до Hadoop и их собственной библиотеки Spark Hudi, каждая из которых имеет свои ограничения, проанализированные и устраненные.

9. Создание современного конвейера OCR с использованием компьютерного зрения и глубокого обучения
(Брэд Нойберг, Dropbox Engineering, 2017)

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

10. Масштабирование машинного обучения в Uber с Микеланджело
(Джереми Херманн и Майк Дель Бальсо, Uber Engineering, 2019)

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

Спасибо за прочтение!

Если вам понравилось, подпишитесь на меня на Medium, чтобы узнать больше. Это отличное кардио для 👏 И поможет другим людям увидеть историю.

Если вы хотите и дальше получать этот тип статей, вы можете поддержать меня, став Средним подписчиком. Это стоит 5 долларов в месяц. Мне достается часть вашей абонентской платы .

Ссылка