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

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

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

Проблемы с данными

Нет данных: это кажется очевидным (и, возможно, даже забавным, что я упоминаю об этом в блоге о машинном обучении). Однако, когда я руководил своей компанией PatternEQ, где мы продавали решения машинного обучения компаниям, я был удивлен тем, сколько компаний хотели использовать машинное обучение и разработали стратегии «умного программного обеспечения», но не имели никаких данных. Вы не можете использовать машинное обучение, если у вас нет данных. Вам либо нужны данные, которые собирает ваша компания, либо вы можете получать общедоступные данные или накапливать данные в рамках партнерства с другими компаниями, у которых есть данные. Без данных нет машинного обучения. Период. (Это также хороший фильтр для использования при оценке работы, заявленной многими стартапами в области ИИ. Эти стартапы утверждают, что у них есть крутая технология ИИ, но нет данных, на которых можно было бы использовать эти методы.)

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

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

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

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

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

Проблемы с посадкой

Переоснащение

Чтобы объяснить переоснащение, у меня есть интересная история. Во время финансового кризиса 2007 года произошел количественный крах. События, которые не предполагалось коррелировать, оказались коррелированными, и многие допущения, которые считались незыблемыми, были нарушены. Алгоритмы вышли из строя, и в течение 3 дней финансовые фонды понесли огромные убытки.

Во время финансового кризиса 2007 года я работал инженером в количественном хедж-фонде под названием D.E.Shaw. D.E. Shaw понес в то время относительно меньшие убытки, чем другие финансовые фонды. Почему ? Другие квантовые фонды были новее, и их алгоритмы были обучены на данных за последние годы, предшествующие 2007 году, когда никогда не было спада. Таким образом, когда цены начали падать, модели не знали, как реагировать. D.E. Шоу, с другой стороны, столкнулся с аналогичным обвалом российского рубля в 1998 году. D.E. Shaw тоже понес убытки, но с тех пор его алгоритмы были откалиброваны для таких сценариев. И, следовательно, его алгоритмы не падали так сильно, как некоторые другие фирмы.

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

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

Недостаточное оснащение

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

Как этого избежать? Здесь пригодятся интуиция продукта / клиента и понимание рынка. Если ваша модель не работает, спросите, собраны ли вы все данные, необходимые для точного понимания проблемы. Можете ли вы добавить больше данных из других источников, которые помогут лучше понять основное поведение, которое вы пытаетесь смоделировать?

Стоимость вычислений

При создании продуктов машинного обучения упускается из виду, насколько дорого обходится машинное обучение с точки зрения вычислений. С помощью таких сервисов, как AWS и Azure, вы можете запускать и создавать возможности машинного обучения. Однако в масштабе вам нужно будет выполнить жесткую математику того, сколько вычислительных затрат вы готовы нести, чтобы предоставить пользователям функции машинного обучения. В зависимости от стоимости вам может потребоваться компромисс между качеством прогнозов. Например, вы не сможете хранить все данные о своих товарах. Или вы не сможете предоставить самые свежие рекомендации, и вам придется проводить предварительные вычисления заранее и т. Д. Знание того, как ваша команда инженеров торгует между стоимостью вычислений и точностью / отзывом машинного обучения и т. Д., Поможет вам понять, соответствует ли качество продукта скомпрометированы.