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

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

Выберите модель с правильным типом прогноза:

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

Классификация

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

Регрессия

Модели регрессии предсказывают непрерывное число, такое как количество или цена. Вот несколько примеров: предсказание стоимости дома, веса объекта или объема продаж продукта.

Смещение и дисперсия Выбор и настройка моделей для ваших наборов данных:

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

Что такое высокое смещение?

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

Что такое высокая дисперсия?

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

Настройка моделей для смещения и дисперсии

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

Например, выбор модели дерева решений с малой глубиной может не соответствовать (высокое смещение). Однако мы можем увеличить гиперпараметр глубины дерева, чтобы увеличить сложность модели и уменьшить ошибку смещения.

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

Практический пример кода дерева решений

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

Давайте кратко рассмотрим, как мы можем вручную настроить сложность дерева классификации, используя реализацию в scikit-learn.

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

Если вы запустите приведенный выше код, мы получим точность около 31% в нашем тестовом наборе данных. Теперь попробуйте увеличить гиперпараметр max_depth, чтобы сделать прогнозы модели более точными. Как вы думаете, на какой глубине лучше остановиться?

Инструменты с открытым исходным кодом, такие как scikit-learn и Determined AI (для глубокого обучения), имеют функции, которые могут автоматически оценивать наилучшие значения гиперпараметров, чтобы сэкономить время и построить лучшие модели.

Линейные и нелинейные модели

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

Несколько часто используемых типов линейных моделей:

  • Логистическая регрессия (используется для бинарной классификации)
  • Линейная регрессия (используется для простой регрессии)
  • Полиномиальная регрессия (используется для регрессии)

Несколько часто используемых типов нелинейных моделей:

  • Деревья решений (используются для классификации и регрессии)
  • K-ближайшие соседи (используются для классификации и регрессии)
  • Нейронные сети (используются для классификации и регрессии)

Мы рассмотрим их реализацию в следующих постах!

Попробуйте начать с простого, чтобы установить базовый уровень и получить быструю победу!

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

Основные выводы:

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

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