Evalml: AutoML: используйте отдельное разделение резюме для ансамбля

Созданный на 26 янв. 2021  ·  4Комментарии  ·  Источник: alteryx/evalml

# 1732 обновляет наш составной конвейер ансамбля, чтобы использовать тот же разделитель данных, который используется в AutoML . Мы продолжили с # 1732, потому что полагали, что это все еще улучшение нашего текущего подхода (scikit-learn по умолчанию).

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


Обновление: продолжая обновлять # 1732, мы столкнулись с загадкой с взаимодействием между наложением стекирования и AutoML, которая заставила нас пересмотреть вопрос о том, действительно ли было хорошей идеей использовать такое же разбиение данных для ансамбля стекирования, которое мы используем в AutoML. Мы решили нет, и, как указал Раймонд, мы, вероятно, захотим использовать отдельное резюме для нашего ансамбля. ( @dsherry также упомянул хороший фрагмент информации о том, что использование ансамбля позволяет модели уделять меньше внимания более сложным моделям, поэтому CV, вероятно, помогает в этом - пожалуйста, поправьте меня, если я перефразировал неправильно 😂).

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

enhancement performance

Самый полезный комментарий

План: если стек включен, мы создадим отдельный разделитель, который можно будет передать в составной ансамбль для резюме.

Было бы неплохо изучить возможность поддержки использования прогнозов вне выборки (проверка, отделенная от исходного резюме) при передаче данных в стек. Однако я предлагаю начать с более простого подхода - просто создать отдельное разделение, если стек включен.

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

  • «Использование перекрестной проверки [прогнозов] суммирования позволяет избежать неоправданно высокого веса моделям с более высокой сложностью». AKA переоснащение
  • «Наиболее распространенный подход к подготовке набора обучающих данных для метамодели - это k-кратная перекрестная проверка базовых моделей, где внеконкурсные прогнозы используются в качестве основы для набора обучающих данных для метамодели. . Обучающие данные для метамодели могут также включать входные данные для базовых моделей, например входные элементы обучающих данных. Это может обеспечить дополнительный контекст для метамодели относительно того, как наилучшим образом объединить прогнозы из метамодели. После того, как набор обучающих данных подготовлен для метамодели, метамодель может быть обучена изолированно на этом наборе данных, а базовые модели могут быть обучены на всем исходном наборе обучающих данных ». - сообщение в блоге
  • «Важно, чтобы метаученик был обучен на отдельном наборе данных для примеров, используемых для обучения моделей уровня 0, чтобы избежать переобучения». - еще одно сообщение в блоге
  • Оригинальный реферат, в котором обсуждается, как составное ансамблирование можно рассматривать как обобщение перекрестной проверки.
  • Я также нашел это , чтобы быть хорошим читать.

@rpeck FYI, после некоторого вращения мы следуем вашему предложению 😆

Все 4 Комментарий

План: если стек включен, мы создадим отдельный разделитель, который можно будет передать в составной ансамбль для резюме.

Было бы неплохо изучить возможность поддержки использования прогнозов вне выборки (проверка, отделенная от исходного резюме) при передаче данных в стек. Однако я предлагаю начать с более простого подхода - просто создать отдельное разделение, если стек включен.

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

  • «Использование перекрестной проверки [прогнозов] суммирования позволяет избежать неоправданно высокого веса моделям с более высокой сложностью». AKA переоснащение
  • «Наиболее распространенный подход к подготовке набора обучающих данных для метамодели - это k-кратная перекрестная проверка базовых моделей, где внеконкурсные прогнозы используются в качестве основы для набора обучающих данных для метамодели. . Обучающие данные для метамодели могут также включать входные данные для базовых моделей, например входные элементы обучающих данных. Это может обеспечить дополнительный контекст для метамодели относительно того, как наилучшим образом объединить прогнозы из метамодели. После того, как набор обучающих данных подготовлен для метамодели, метамодель может быть обучена изолированно на этом наборе данных, а базовые модели могут быть обучены на всем исходном наборе обучающих данных ». - сообщение в блоге
  • «Важно, чтобы метаученик был обучен на отдельном наборе данных для примеров, используемых для обучения моделей уровня 0, чтобы избежать переобучения». - еще одно сообщение в блоге
  • Оригинальный реферат, в котором обсуждается, как составное ансамблирование можно рассматривать как обобщение перекрестной проверки.
  • Я также нашел это , чтобы быть хорошим читать.

@rpeck FYI, после некоторого вращения мы следуем вашему предложению 😆

@dsherry @rpeck @ angela97lin Я начал StackedClassifier и StackedRegressor sklearn действительно используют внутреннюю перекрестную проверку во время обучения модели , чтобы предотвратить переобучение. Похоже, это та же проблема, которую мы пытаемся решить с помощью этой проблемы, поэтому кажется, что она должна быть решена. Я не думаю, что нам нужно будет делать отдельные резюме для обучения / проверки методов составного ансамбля, но что вы все думаете?

image

После обсуждения с @dsherry , вот идея, которую мы хотим продолжить.

План обсуждался с @ bchen1116 : эта проблема отслеживает:

  • Создайте отдельный разделитель для обучения метаобучению для ансамблевых конвейеров
  • Продолжайте использовать sklearn impl для составного ансамбля

Отдельное повышение производительности: лучшая поддержка небольших данных. Не создавайте отдельные сплиты для ансамбля. Используйте предустановки конвейера вне выборки из обычного резюме (из всех складок резюме) для обучения ансамбля. # 1898

Еще одно отдельное улучшение производительности: обучите конвейеры и метаузел на разных данных. # 1897

Была ли эта страница полезной?
0 / 5 - 0 рейтинги