Поделиться через


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

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

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

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

Рассмотрим следующие обученные модели и соответствующие их точности обучения и тестирования:

Модель Точность при обучении Точность при тестировании
а 99,9 % 95 %
Б 87 % 87 %
C 99,9 % 45 %
  • Модель A. Тест для этой модели немного меньше точности, чем обучение модели. Существует распространенное неправильное представление о том, что если точность теста на невидимых данных ниже точности обучения, модель переопределена. Однако точность тестирования всегда должна быть меньше точности обучения. Различие между переполнением и соответствующим образом подходящими данными сводится к измерению того, сколько меньше точности.

  • Модель A и модель B. Модель A — это более эффективная модель, так как она имеет более высокую точность тестирования. Хотя точность теста немного ниже на 95%, это не существенное различие, которое предполагает, что избыточность присутствует. Модель B не предпочтительна, так как точность обучения и тестирования аналогична.

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

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

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

В следующей таблице приведены распространенные рекомендации.

Рекомендация Внедрение Автоматическое машинное обучение
Использование дополнительных обучающих данных и устранение статистической предвзятости X
Предотвращение утечки конечных значений X
Включение меньше возможностей X
Поддержка нормализации и оптимизации гиперпараметров X
Применение ограничений сложности модели X
Использование перекрестной проверки X

Применение рекомендаций для предотвращения переполнения

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

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

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

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

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

Включение меньше возможностей

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

Просмотрите функции автоматизированного машинного обучения, чтобы предотвратить переполнение

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

Поддержка нормализации и настройки гиперпараметров

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

Применение ограничений сложности модели

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

Использование перекрестной проверки

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

Примечание.

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

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

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

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

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

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

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

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

  • Алгоритмы, используемые автоматизированным машинным обучением, обнаруживают дисбаланс, если количество выборок в классе меньшинства равно или меньше 20% числа выборок в классе большинства. Класс меньшинства относится к одному с наименьшими выборками, и большинство класс относится к одному с большинством выборок. Позже автоматизированное машинное обучение выполняет эксперимент с вложенными данными, чтобы проверить, может ли использование весов классов устранить эту проблему и повысить производительность. Если он определяет более высокую производительность с помощью этого эксперимента, он применяет средство защиты.

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

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

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

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

Следующий шаг