Обучение ансамблю относится к нескольким различным методам. Повышение качества и пакетирование, вероятно, являются двумя наиболее распространенными. Кажется, вы пытаетесь реализовать метод обучения ансамбля, называемый стекированием . Цель стекирования состоит в том, чтобы повысить точность, комбинируя прогнозы из нескольких алгоритмов обучения. Есть довольно много способов сделать сложение и не много строгой теории. Это интуитивно понятно и популярно.
Рассмотрим подход вашего друга. Вы подгоняете модели первого слоя к четырем из пяти сгибов, а затем подгоняете модель второго слоя (голосования), используя те же четыре сгиба. Проблема заключается в том, что второй уровень предпочтет модель с наименьшей ошибкой обучения. Вы используете одни и те же данные для подгонки моделей и разработки процедуры для агрегирования этих моделей. Второй уровень должен объединять модели с использованием внеплановых прогнозов. Ваш метод лучше, но есть способ сделать еще лучше.
Мы продолжим опускать один раз для целей тестирования. Возьмите четыре раза и используйте четырехкратное резюме, чтобы получить прогнозы вне выборки для каждой из ваших моделей первого слоя во всех четырех сгибах. То есть оставьте одну из четырех сгибов и подгоните модели к остальным трем, а затем сделайте прогноз на удержанных данных. Повторите для всех четырехкратных сгибов, чтобы получить прогнозы вне выборки для всех четырехкратных сгибов. Затем подгоните модель второго уровня к этим внеплановым прогнозам. Затем снова поместите модели первого слоя на все четыре сгиба. Теперь вы можете перейти к пятому сгибу, к которому вы еще не прикоснулись. Используйте модели первого слоя, подходящие по всем четырем сгибам, вместе с моделью второго слоя, чтобы оценить погрешность удерживаемых данных. Вы можете повторить этот процесс снова с другими складками, удерживаемыми из подгонки модели первого и второго слоя.
Если вы удовлетворены производительностью, то сгенерируйте внеплановые прогнозы для моделей первого уровня во всех пяти сгибах, а затем поместите в них модель второго уровня. Затем примените модели первого слоя в последний раз ко всем вашим данным и используйте их с моделью второго слоя для любых новых данных!
Напоследок несколько общих советов. Вы получите больше пользы, если ваши модели первого слоя будут довольно отличны друг от друга. Вы находитесь на правильном пути, используя SVM и деревья решений, которые сильно отличаются друг от друга. Поскольку в модели второго слоя есть эффект усреднения, вы можете попробовать постепенно подбирать модели первого слоя, особенно если у вас их много. Второй слой, как правило, является чем-то простым, и ограничения, такие как неотрицательность весов и монотонность, являются общими. Наконец, помните, что наложение зависит от перекрестной проверки, которая является лишь оценкой истинного риска. Если вы получаете очень разные коэффициенты ошибок и очень разные веса моделей в разных сгибах, это означает, что ваша оценка риска на основе cv имеет высокую дисперсию. В этом случае вы можете рассмотреть простое смешиваниеиз ваших моделей первого слоя. Или вы можете пойти на компромисс, сложив ограничения с максимальным / минимальным весом, установленным для каждой модели первого слоя.