K-кратная перекрестная проверка ансамблевого обучения

20

Я запутался в том, как разделить данные для k-кратной перекрестной проверки ансамблевого обучения.

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

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

Если мы используем 5-кратную проверку, я подумываю использовать 5-кратную проверку следующим образом:

  • 3 раза за тренировку первого слоя
  • 1 сгиб для тренировки второго слоя
  • 1 раз для тестирования

Это правильный путь? Должны ли данные обучения для первого и второго уровня быть независимыми? Я думаю, что они должны быть независимыми, чтобы структура обучения ансамбля была устойчивой.

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

  • 4 раза за тренировку первого и второго слоя
  • 1 раз для тестирования

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

Любые советы с благодарностью

Майкл
источник

Ответы:

26

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

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

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

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

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

MichaelJ
источник
Спасибо за ваши очень полезные предложения. Я не понимаю ваш четвертый абзац. Мне кажется, что он снова проходит переподготовку? Я думал, что ваш третий абзац подытожил ваш предложенный метод?
Майкл
1
Как обычно с перекрестной проверкой, когда мы удовлетворены моделью, мы переобучаемся, используя все данные. Модели, описанные в третьем параграфе, не соответствуют данным. Хранение данных - это инструмент для оценки и выбора модели. Вы должны всегда соответствовать окончательной модели на всех данных.
MichaelJ
Мне кажется, что этот подход похож на нейронную сеть с прямой связью
Майкл
Отличное объяснение. Не хватает только диаграммы;)
Джош