Цель этого блога — понять, как можно надежно создавать модели машинного обучения. Многие претенденты на науку о данных выбирают область науки о данных, потому что считают, что построение модели для решения реальных проблем — это слишком круто! И, конечно же, это так, но выбор правильной модели для имеющегося набора данных имеет первостепенное значение. Никогда не становитесь жертвой постоянно растущих передовых архитектур моделей SOTA только потому, что они популярны и используются всеми.

Этап 2. Как надежно создавать модели
Учитывая доступность моделей SOTA в ML/DL с помощью таких библиотек, как HuggingFace, TensorFlow Hub, и таких инструментов, как AutoML и т. д. , любой, у кого есть приличные навыки кодирования, может легко обучать/переобучать модели. Но понимание обоснования того, как выбрать правильную модель, как должен проводиться процесс обучения и выбор правильного типа гиперпараметров, требует гораздо больше усилий, чем просто использование инструментов/библиотек. Следующие пункты могут помочь в выборе правильной модели для решения проблемы:

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

а) Выполнение подготовки данных для всего набора данных без разделения на обучающие, проверочные и тестовые подмножества. Воспользуйтесь scikit-learn, чтобы разделить набор данных.
б) Выполнение разработки признаков и выбора признаков для всего набора данных.
c) Использование одного и того же набора тестов для оценки общности нескольких моделей.

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

II. Поэкспериментируйте с разными моделями. Вы слышали о "теореме о бесплатном обеде"? Не существует единой модели, которая лучше всего справлялась бы со всеми проблемами. Как только вы поймете, что пытаетесь решить, начните с простейшей базовой модели. Продолжайте экспериментировать с разными моделями, пока не найдете лучшую для своей задачи. Сбой быстро. Используйте априорные знания и выбирайте соответствующие модели для опробования. Общение с экспертами в предметной области / малыми и средними предприятиями и изучение того, что уже сделано в вашей области, поможет вам определить правильную модель для вашей задачи.

III. Не используйте неподходящие модели. Убедитесь, что вы выбрали модель на основе характеристик набора данных. Например, если ваши данные содержат категориальные признаки, выберите метод на основе дерева. Если у вас меньше данных для начала, то использование модели ML кажется более подходящим, чем модель DL. Если вашу проблему можно решить с помощью статистических методов или даже правил, если на то пошло, не выбирайте сложную причудливую модель глубокого обучения. Вы никогда не должны выбирать модель, основываясь на ее популярности. Знаешь, прихлопнуть муху можно и руками! Обоснование выбора модели должно полностью основываться на данных и никогда не должно основываться на новизне модели.

iv.Чтобы сделать модель лучше, всегда оптимизируйте гиперпараметры модели. В прикладных исследованиях ваша цель — найти наилучшую модель, способную решить бизнес-проблему. Все модели, будь то ML или DL, поставляются со своим набором параметров или архитектур по умолчанию. И в большинстве случаев конфигурации модели по умолчанию никогда не дадут наилучшего результата. Нет универсального решения. Вам может потребоваться тонкая настройка гиперпараметров на основе набора данных (набор данных проверки), и делать это вручную — утомительная задача. Чтобы облегчить себе жизнь, вы можете прибегнуть к некоторой стратегии оптимизации, такой как поиск по сетке, случайный поиск или поиск по лучу. Но по-прежнему сложно масштабировать эти методы для большого количества гиперпараметров или сложных моделей. Инструменты AutoML могут значительно сократить ваши усилия по поиску правильных гиперпараметров для модели и, по сути, правильной модели для вашей задачи.

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

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

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

*Примечание. Это вторая часть серии из 5 статей Как избежать ловушек машинного обучения: с точки зрения практикующего специалиста. Прежде чем читать этот блог, ознакомьтесь с Часть 1, чтобы понять различные этапы процесса машинного обучения.

Спасибо за прочтение и ценим ваши отзывы. Ждите следующей части!