Снижение риска реализации проектов машинного обучения

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

«ML особенно полезен для создания систем, для которых мы не можем определить эвристическое решение»

- Эммануэль Амейзен, Создание приложений на базе машинного обучения. Стр. 3.

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

Определение осуществимости продуктов

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

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

Машинное обучение нужно не всегда!

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

  • (1) Сформулируйте цель продукта в парадигме машинного обучения. Для одной цели может быть несколько формулировок.
  • (2) Оцените осуществимость машинного обучения. Рассмотрите все возможные варианты и начните с того, который считается самым простым.

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

Обрамление продукта

В этом сценарии я представлю, что мы хотим создать помощника по письму. Наш помощник по писательству должен уметь принимать статьи на Medium, написанные авторами, и улучшать их, чтобы они были написаны лучше. Учитывая эту формулировку, нам нужно сначала разобраться в том, что подразумевается под словом «лучше». Мы можем сделать это, задавая больше вопросов, пока не придем к четкому определению цели продукта нашего помощника по письму.

Вот пример более четкой формулировки:

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

Стать алгоритмом

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

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

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

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

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

Основываясь на том, что мы узнали

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

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

Последние мысли

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

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

Если вам понравилась эта статья, свяжитесь со мной, подписавшись на мою БЕСПЛАТНУЮ еженедельную рассылку. Никогда не пропустите мой пост об искусственном интеллекте, науке о данных и фрилансе.

Статьи по Теме