Предотвращение переобученных и несбалансированных данных с помощью автоматизированного машинного обучения

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

Определение лжевзаимосвязи

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

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

Модель Точность при обучении Точность при тестировании
Объект 99,9 % 95 %
B 87 % 87 %
C 99,9 % 45 %

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

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

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

Предотвращение лжевзаимосвязи

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

Лучший способ предотвратить переобучение — следовать рекомендациям по машинному обучению, в том числе:

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

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

Реализация рекомендаций

Использование большего объема данных

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

Предотвращение утечки конечных значений

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

Использование меньшего числа признаков

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

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

Регуляризация и настройка гиперпараметров

Регуляризация — это процесс минимизации функции стоимости для наложения штрафа на сложные модели с лжевзаимосвязью. Существуют различные типы функций регуляризации, но в целом они наказывают размер, дисперсию и сложность модели. Автоматизированное машинное обучение использует функции L1 (Lasso), L2 (Ridge) и ElasticNet (одновременно L1 и L2) в различных сочетаниях с различными гиперпараметрами модели, которые контролируют лжевзаимосвязь. Автоматизированное машинное обучение зависит от того, насколько модель регулируется, и выбирает наилучший результат.

ограничения сложности модели;

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

Кросс-валидация

Перекрестная проверка — это процесс выделения нескольких подмножеств из полного набора обучающих данных и обучения модели на основе каждого из них. Идея состоит в том, что модели может "повезти" с одним подмножеством, с которым ее точность будет высока, но если подмножеств много, такая высокая точность не может достигаться каждый раз. При выполнении cv вы предоставляете набор данных проверки, укажите сверки cv (количество подмножеств) и автоматическое машинное обучение обучает модель и настраиваете гиперпараметры, чтобы свести к минимуму ошибки в проверочных наборах. Одно из подмножеств может иметь лжевзаимосвязь, но использование нескольких подмножеств уменьшает вероятность лжевзаимосвязи в окончательной модели. Компромисс заключается в том, что CV приводит к большему времени обучения и большим затратам, так как вы обучаете модель один раз для каждого n в подмножествах CV.

Примечание

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

Выявление моделей с несбалансированными данными

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

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

Диаграмма Описание
Матрица неточностей Оценивает правильно классифицированные метки относительно фактических меток данных.
Соотношение полноты и точности Оценивает отношение количества правильных меток к количеству обнаруженных экземпляров меток данных.
Кривые ROC Оценивает отношение количества правильных меток к количеству ложноположительных меток.

Обработка несбалансированных данных

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

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

  • Алгоритмы, используемые автоматизированным МАШИНным обучением, обнаруживают дисбаланс, когда количество выборок в классе меньшинства равно или меньше 20 % от числа выборок в классе большинства, где класс меньшинства относится к классу с наименьшим количеством выборок, а класс большинства относится к классу с большинством выборок. Впоследствии автоматизированное машинное обучение запустит эксперимент с подсбранными данными, чтобы проверка если использование весовых коэффициентов класса урегулирует эту проблему и повысит производительность. Если в рамках этого эксперимента подтвердится возможность повысить производительность, это средство исправления будет применено.

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

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

  • Повторная выборка для выравнивания баланса классов путем дополнительной выборки для более мелких классов или сокращения выборки для более крупных классов. Использование этих методов требует опыта.

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

Дальнейшие действия

Ознакомьтесь с примерами и узнайте, как создавать модели с помощью автоматизированного машинного обучения: