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

Машинное обучение развивается быстрее, чем любая другая технология, и оно способно открывать новые горизонты, создавая больше возможностей, предлагая решения проблем, которые ускользали от нас в течение длительного времени. Даже продукты, которые не полностью зависят от машинного обучения, где оно уже решает определенную проблему, использование машинного обучения может помочь продукту лучше решить ту же проблему. ML скоро станет технологией де-факто для каждого продукта, и его Product Manager, ML предлагает только два варианта: (1) Эффективно внедрить ML или (2) Уйти в забвение. В идеале можно выбрать только один вариант.

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

Хорошие продакт-менеджеры должны быть чрезвычайно хороши в обнаружении, выявлении и последующем определении проблемы. Какова проблема, которую должен решать продукт. Великие продакт-менеджеры тратят время на выявление проблемы, которую стоит решить. Фокус на технологиях и решениях всегда вторичен. Технологии всегда развиваются, как и решения. Определение правильной проблемы обеспечивает правильное начало для определения правильной технологии для предоставления правильного решения. Менеджеры по проектам должны сосредоточиться на выявлении проблемы, и инженеры полностью несут ответственность за определение правильных вариантов ML на основе постановки проблемы, предоставленной менеджером по проектам.

Тогда… Почему я хвастаюсь тем, что продакт-менеджеры знают о машинном обучении? Я предвижу три причины для этого.

Говорите на инженерном языке

Несмотря на то, что продакт-менеджеры должны больше сосредотачиваться на проблеме, а не на решении, и продакт-менеджеры не должны играть роль в разработке того, КАК решить проблему с помощью ML, продакт-менеджеры определенно должны обладать технологической проницательностью, чтобы понять КАК. Понимание того, КАК поможет менеджерам по проектам беспристрастно оценить, насколько ML лучше подходит для решения проблем клиентов, действительно ли оно приносит значительную пользу. Внедрение машинного обучения не дает результатов автоматически. В ML нет никакой магии. Машинное обучение необходимо правильно использовать с правильным набором данных и моделей, чтобы обеспечить правильную ценность. Это правильно, всегда важен не пункт назначения, а путь, который также важен, чтобы убедиться, что менеджеры по проектам обратили внимание на усилия команды инженеров, а не только на результат. Я всегда верю в вознаграждение усилий, а не только в результаты. Во время путешествия PM должен говорить на языке инженеров, чтобы понимать их усилия и помогать им. Позвольте мне представить вымышленный разговор между моим инженером и мной после того, как я попросил его помочь мне спрогнозировать доход от продукта на основе ранее собранных данных.

Инженер: Привет, Мурали, я использовал несколько моделей для решения задачи классификации. Однако систематическая ошибка для всех этих моделей слишком велика, и у нас возникает проблема недообучения. Думаю, нам нужно больше функций.

Я: Что такое функции?

Инженер: любая дополнительная информация, которая может дополнить данные о существующих клиентах.

Я: О, у меня есть клиенты возраста и страны.

Инженер: существует ли тесная связь между страной и полученным доходом?

Я: Хм… Корреляция? я сомневаюсь

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

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

Менеджеры по проектам взаимодействуют со многими организациями (инженерами, руководителями высшего звена, отделами продаж, маркетинга, работы с клиентами и т. д.) и, говоря на их соответствующих языках, завоевывают взаимное уважение и доверие. Когда я настаиваю на том, чтобы продакт-менеджеры изучали машинное обучение, я не сосредотачиваюсь на способности строить новую модель, а на понимании существующих моделей и, по крайней мере, в степени сопоставления имеющейся проблемы с одним из правильных вариантов — прогнозированием, классификацией, ранжированием и т. д. кластеризация или обнаружение аномалий и т. д. Менеджеры по проектам должны понимать общий ландшафт ML, чтобы отличать реальность от причудливых вещей и иметь абсолютную ясность в отношении того, что можно решить с помощью ML.

Что лежит под поверхностью?

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

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

Машинное обучение скоро станет таким же фундаментальным, как Excel для менеджеров по проектам.

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

Визуализация данных

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

Matplotlib, Seaborn и многие другие библиотеки имеют множество готовых графиков для осмысленной визуализации данных. Использование этих библиотек не является ракетостроением. Любой, у кого есть базовые знания в области программирования, должен уметь их использовать. Учитывая, что большинство продакт-менеджеров являются либо разработчиками, либо дизайнерами, использование этих библиотек визуализации должно быть проще простого. Важно то, что эти библиотеки предоставляют огромные возможности для визуализации данных. У продакт-менеджеров есть огромные массивы данных по маркетингу и продажам. Не всегда возможно воспользоваться помощью инженеров для выбора правильных графиков для визуализации данных. Визуализация данных может дать больше информации, чем простые цифры на листе бумаги. Существуют варианты гистограмм, точечных диаграмм, корреляции с помощью тепловых карт, карты страны/мира и т. д.

PS: некоторые из этих библиотек уже доступны в Excel, но я считаю, что Python обеспечивает большую гибкость. Использование Python напоминает те дни программирования. Угадайте, однажды разработчик всегда остается разработчиком :-).

Анализ данных

Это не просто визуализация, важен и анализ данных. На самом фундаментальном уровне каждый менеджер по продукту должен прогнозировать доходы или оценивать вероятность того, что сделка будет успешной или нет, группировать клиентские сегменты на основе определенных общих демографических элементов. Опять же, я говорю в основном из контекста сегмента B2B. Для анализа данных продакт-менеджеры могут понять характер проблемы — предсказание, классификация или кластеризация — и выбрать один из уже доступных алгоритмов для анализа данных. Способность интерпретировать ошибки, такие как среднеквадратическая ошибка, ошибка f1 и т. д., как в обучающей выборке, так и в проверочной выборке, может помочь менеджеру по продукту определить альтернативные решения для устранения компромиссов смещения/дисперсии. В Интернете есть множество предопределенных решений для поиска компромиссов между смещением и дисперсией для различных комбинаций проблем смещения и дисперсии. Машинное обучение, безусловно, является ценным инструментом для анализа данных и создания осмысленных интерпретаций маркетинговых данных для определения ценообразования, разработки рыночных кампаний, определения стратегий по привлечению и удержанию клиентов и т. д.

Как я начал

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

Мой путь начался с курса Эндрю Н.Г. на Coursera. Это дало мне базовое понимание основ машинного обучения.

  • Что такое контролируемое и неконтролируемое обучение?
  • Какие модели относятся к каждой из этих категорий? Как определить правильную модель в зависимости от варианта использования?
  • Как измерить и интерпретировать ошибку для различных алгоритмов?
  • Когда использовать регуляризацию?
  • Что такое предвзятость и дисперсия? Каковы методы для компромиссов смещения/дисперсии?
  • Когда добавить дополнительные функции к существующим данным и когда добавить больше данных к существующим данным?

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

Курс Эндрю NG также требует некоторого количества программирования. Это не так уж сложно, так как они слишком много держатся за руки. Если вы раньше были программистом, старайтесь избегать обычного использования циклов и вместо этого используйте векторы для решения задач. Векторные методы быстрее, и почти весь алгоритм запрограммирован почти в одну строку. Максимум 90% задач я решил с помощью векторов. Прежде чем приступить к работе, получите базовое представление о векторных операциях. Мне потребовалось некоторое время, чтобы осознать, что [A]*[B] не эквивалентно [B]*[A], а также осознать, что векторное умножение 2-х элементов возможно только при условии количества столбцов 1-го вектора эквивалентно количеству строк второго вектора. В идеале, почистите свои основы математики, если вам больше интересно узнать, как выводятся алгоритмы для различных моделей, вам следует ознакомиться с алгеброй и исчислением.

После курса Andrew NG я изучил несколько курсов в Udemy, чтобы получить практический опыт изучения алгоритмов ML, и выбрал следующий курс: Python for Data Science and Machine Learning Bootcamp (это дешевле :-)). Я прошел 50% курса, и основное внимание уделяется использованию существующих библиотек Python для решения задач машинного обучения. Тем не менее, курс не дает никакой теоретической базы на фоне различных алгоритмов машинного обучения. Я люблю каждую часть моего путешествия до сих пор. Надеюсь, что скоро начну решать некоторые базовые задачи в Kaggle. Тем не менее, для продакт-менеджеров я бы посоветовал начать и закончить курс Andrew NG, если вы не собираетесь углубляться.

MIT также предлагает курс Машинное обучение. Если вы ищете набор данных, Kaggle предлагает множество наборов данных для экспериментов с алгоритмами машинного обучения. Еще один хороший ресурс — MNIST. Кроме того, IBM Watson также предлагает определенные инструменты для проверки задач, связанных с наукой о данных. Однако мне еще предстоит изучить его.

Пожалуйста, поделитесь своими мыслями и мнениями об изучении машинного обучения. Желаю удачи в вашем путешествии по изучению машинного обучения.