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

«“haathi ke daant khane ke aur, dikhane ke aur”.”

Популярные пресс-релизы о прогрессе в области искусственного интеллекта и машинного обучения подобны бивням слона, на которые приятно смотреть, в то время как другие скрытые зубы выполняют всю тяжелую работу, необходимую для поддержания жизни слона, помогая ему жевать и есть пищу. изо дня в день. Несмотря на то, что Google и Facebook мира демонстрируют захватывающие демонстрации футуристических возможностей и потенциальных возможностей моделей глубокого обучения, именно классические методы машинного обучения с умными методами разработки функций часто служат требованиям бизнеса. Стильные нейронные модели глубокого обучения находят свое место в решении реальных приложений. Фактически, для некоторых проблем, особенно связанных со зрением и речью, нет лучших моделей, чем решения для глубокого обучения. Тем не менее, именно менее привлекательные методы машинного обучения, если их правильно применять, сегодня в наибольшей степени готовы стать основой для успешных решений реальных проблем. Конечно, крылатая фраза «если правильно применить». Итак, что нужно, чтобы добиться успеха с классическими методами машинного обучения?

Разработка функций с учетом предметной области

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

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

Подготовка к реальным задачам

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

Ценность научного знания (знание снизу вверх)

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

Понимание стратегий решения проблем (нисходящие знания)

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

Вывод

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

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