МАШИННОЕ ОБУЧЕНИЕ
Как смещение и дисперсия влияют на модель машинного обучения
Поймите эти две темы, которые необходимо знать при построении алгоритма
Каждый день создается 2,5 квинтиллиона байтов данных. В период с 2016 по 2018 год было создано около 90% всех данных в мире. Огромный объем данных - основная мотивация компаний вкладывать средства в сбор этих данных. Таким образом, эти компании могут преобразовывать эти данные для создания и улучшения новых продуктов. С таким огромным объемом данных легко упустить основы при работе над прогнозом модели. В этой статье давайте вернемся и проанализируем некоторые основы машинного обучения и проанализируем, каковы компромиссы смещения и дисперсии и как этого избежать.
Компромисс смещения и дисперсии
В машинном обучении предвзятость - это склонность алгоритма постоянно узнавать неправильные вещи, игнорируя всю информацию в данных. Таким образом, высокая систематическая ошибка возникает из-за того, что в алгоритме отсутствуют соответствующие связи между функциями и целевыми переменными. Используя нашу аналогию с дротиком, мы постоянно не попадаем в цель. Модель не понимает, к чему должна стремиться, и ее прогнозы систематически ошибочны.
Дисперсия означает чувствительность алгоритма к небольшим изменениям в обучающей выборке. Высокая дисперсия является результатом подгонки алгоритма к случайному шуму в обучающей выборке. Возвращаясь к нашей аналогии с дротиком, высокая дисперсия означает, что броски дротика неизменно неточны и повсеместны. Представьте, что кто-то впервые играет в дартс, не имея способностей, и тогда вы сможете представить себе, как будет выглядеть высокая дисперсия. Это означает, что модель хорошо настроена на данные, которые она видела, поэтому она может делать прогнозы для выборок, которые идентичны тем, что она видела раньше. Однако он плохо работает на примерах, которые не имеют такого же сходства с обучающей выборкой.
И систематическая ошибка, и дисперсия связаны со сложностью модели. Низкая сложность означает высокую систематическую ошибку и низкую дисперсию. Повышенная сложность означает низкую систематическую ошибку и высокую дисперсию.
Недостаточное и переобучение
Недооценка возникает, когда модель слишком проста, с большим смещением и низкой дисперсией и не может уловить тенденцию в данных, что приводит к высокой общей ошибке. Следовательно, модель не может понять, что происходит в обучающей выборке, и игнорирует важные фрагменты информации, которые помогли бы делать точные прогнозы. На рисунке ниже мы видим, что модель не захватывает кластер в нижнем левом углу рисунка (кружки), а только определяет прямую линию.
Переобучение - это крайняя противоположность недостаточной подгонки, которая возникает, когда модель очень сложна и слишком близко подходит к ограниченному набору данных. В этом случае модель запоминает увиденные примеры и может делать высокоточные прогнозы в этом обучающем наборе. Однако, когда он применяется к другому набору данных, он, вероятно, даст худший прогноз, потому что он не научился работать с разными шаблонами; он просто запоминал примеры. Это вызовет низкую систематическую ошибку и высокую дисперсию.
В поисках оптимального компромисса
Глядя на график ниже, мы видим недостаточную подгонку слева, где у нас высокая систематическая ошибка и низкая дисперсия. Справа у нас низкая систематическая ошибка и высокая дисперсия. Цель состоит в том, чтобы найти модель, которая подходит где-нибудь в середине графика, где мы видим оптимальную сложность модели и достигаем минимальной общей ошибки. Нам нужно найти модель средней сложности, в которой она может идентифицировать закономерности в обучающих данных, но не запоминать каждый пример в данных. Если у вас низкая тестовая ошибка как в обучающем, так и в тестовом наборе, у вас хорошая модель. Однако, если у вас высокая ошибка теста, вы можете посмотреть на ошибку обучения, чтобы понять, переоснащаетесь вы или недостаточно. Затем вы можете работать над улучшением своей модели.
Настройка гиперпараметров
Во-первых, давайте поймем разницу между параметром и гиперпараметром. Параметр модели - это переменная конфигурации, значение которой можно оценить по данным. Параметры требуются модели для прогнозирования. Гиперпараметр - это внешняя по отношению к модели конфигурация, значение которой невозможно оценить по данным. Значение указывает, как алгоритм извлекает значения параметров из данных.
Например, представьте, что вы пытаетесь предсказать, стоит ли дом больше или меньше 300 тысяч долларов, используя дерево решений, основанное на таких характеристиках, как квадратный метраж, местоположение, количество спален, почтовый индекс, находится ли он близко к воде или нет, и т.д. Мы называем этот параметр. Теперь, возможно, некоторые из этих функций могут превосходить нашу модель, поэтому мы можем использовать гиперпараметры, чтобы уменьшить количество функций, которые необходимо учитывать, и максимальную глубину дерева. На рисунке ниже мы видим, что когда мы настраиваем гиперпараметры для использования только глубины дерева 3, наша модель обнаруживает наименьшую ошибку теста.
Регуляризация
Регуляризация - это метод, используемый для уменьшения переобучения за счет того, что каким-то образом препятствует чрезмерно сложным моделям. Основная цель состоит в том, чтобы обеспечить достаточную гибкость алгоритму для изучения закономерностей в данных и обеспечения защиты, чтобы модель не стала более сложной, чем это необходимо, что позволяет избежать запоминания обучающих данных. Например, мы можем использовать Ridge or Lasso Regression, который добавит штраф к функции потерь для ограничения коэффициентов.
Мы рассмотрели некоторые из наиболее важных концепций оптимизации моделей в одной из самых интересных областей в настоящее время. Чтобы узнать больше о ключевых концепциях, я настоятельно рекомендую Ускоренный курс машинного обучения, предлагаемый Google бесплатно.