Готовим продукт к машинному обучению

Продукт

Готовим продукт к машинному обучению

Как переложить головную боль о проблемах клиента на машину

Поделиться
Запинить
Отправить

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

В «Правилах ML» от Google есть интересный совет

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

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

Какие данные используются в алгоритмах машинного обучения?

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

Согласно проведенному в 2017 г. исследованию, самой большой проблемой при работе с машинным обучением являются «грязные данные». Речь идет о данных, которые не структурированы необходимым образом, перекошены в определенную сторону, имеют лакуны или требуют предварительной обработки. Чтобы успешно внедрить машинное обучение, убедитесь, что подобные проблемы сведены к минимуму. Хорошо структурированные данные еще и позволят вам более эффективно использовать эвристические методы.

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

Являются ли данные численными?

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

Вопрос: «Сколько лет вы учились в университете?» Ответ: пять.

Вопрос: «Сколько часов вы спите?» Ответ: семь-восемь.

Такие данные очень легко интерпретировать для использования их ML-алгоритмами.

Являются ли данные категориальными?

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

Вопрос: «Какую степень вы получили в университете?» Ответ: «Бакалавр».

С точки зрения модели ML, каждую категорию можно представить в виде числа. Например, варианты ответов «Бакалавр», «Магистр» и «Кандидат наук» мы можем представлять в виде «0», «1» и «2».

Здесь важно правильно и четко ограничить категории и предоставить пользователю удобный интерфейс для строгих ответов. На каждый вопрос может быть доступен лишь ограниченный набор ответов (например — только «Бакалавр», но не «Бакалавриат» или «Степень бакалавра»). Это поможет вам сразу же структурировать вводимые данные и не возвращаться впоследствии к данному вопросу.

Пользовательский интерфейс для ввода числовых данных или категорий

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

  1. Используйте автоматическое заполнение входных данных. Это позволит пользователю выбирать только из заранее определенного подмножества вариантов.
  2. Используйте ползунки для шкал численных значений (например, возраст: 0- 100).
  3. Разрешите пользователям подключение посредством интеграции с внешними службами для получения данных, если это возможно.

Можно ли преобразовать данные в численную форму?

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

Посредством распознавания образов можно добиться получения вполне конкретных ответов, например: «Есть ли на картинке апельсин?» или «Сколько изображено людей?». Однако технологиям NLP еще довольно далеко до человеческих возможностей интерпретации текста, поэтому использовать их нужно очень осторожно.

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

Готово?

Если вы можете формировать свои данные описанным образом, то в основном готовы передавать их для алгоритмов машинного обучения. Важно быть хорошо знакомыми с индикаторами, которые вы намерены улучшить. Вам может понадобиться инструментарий для сбора данных об уровне кликабельности (CTR), конверсии, объеме продаж. Все это поможет специалистам по машинному обучению понять, что алгоритмы ML — именно то, что вам нужно. Стоит учесть, что для ряда организаций старые добрые методы программирования и обработки информации могут оказаться и вполне достаточными, и более эффективными в сравнении с технологиями ML. Это зависит от потребностей, ресурсов, доступности данных.

Несколько предостережений

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

Следующий важный вопрос: «Можете ли вы сами с учетом имеющихся данных выполнить задачу (разумеется, на небольшой выборке), которую хотите поручить ML?» Если вы пытаетесь определить оптимальную цену продажи подержанного автомобиля, вам будет недостаточно названия модели и года выпуска. Ведь для потенциальных покупателей имеет значение пробег, техническое состояние, «начинка» авто и даже его цвет.

Зависит ли выбранная вами функция от фактора времени? Если да — вам может понадобиться более сложная модель для ее описания и правильного учета на этапе сбора данных.

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

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

Заключение

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

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

Если эта тема вас заинтересовала, можно порекомендовать разработанные авторами Google «Правила ML» или «Почему вам нужно улучшить свои данные по обучению» Пита Уордена.

Оригинал.

машинному обучениеискусственный интеллект
Поделиться
Запинить
Отправить
Facebook YouTube Telegram