Серии ансамблевого обучения… !!!

Эй, ребята…!!! Снова добро пожаловать в эту серию статей об изучении ансамбля… !!! Сегодня я говорю об удивительной концепции под названием Stacking. Итак, давайте предположим сценарий, в котором вы хотите купить какой-то продукт, и вы получили так много отзывов от людей об этом продукте, отзывы и т. Д., А затем, после того, как вы купили этот продукт на основе всех полученных вами отзывов, этот процесс аналогичен стекированию. .

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

Серия ансамблевого обучения - (Удачного обучения… !!!)

  1. Связь ансамблевого обучения с предвзятостью и дисперсией
  2. Ансамблевое обучение - сердце машинного обучения
  3. Бэггинг - ансамблевый метаалгоритм для уменьшения дисперсии
  4. Повышение - ансамблевый метаалгоритм для уменьшения систематической ошибки
  5. Суммирование - объединение мета-алгоритмов для улучшения прогнозов
  6. Влияние ансамблевого обучения на глубокое обучение

Укладка - метод, улучшающий результат вашего прогноза

В предыдущей статье мы получили представление о том, как несколько моделей одного и того же типа могут помочь нам повысить точность нашей классификации. Что, если мы объединим модели двух разных типов? Это может нам помочь? Ответ - да s !!!. В некоторых случаях очень полезно использовать различные типы моделей прогнозирования для повышения точности прогнозов. Что ж, следующий вопрос: как?

  • В Boosting мы обучили одно дерево решений, известное как «слабый обучающийся» или In Bagging. Оно может помочь нам сделать только частичный прогноз, чтобы уменьшить ошибку смещения из-за нашей модель для этого нам нужно увеличить количество классификаторов в наших рамках ансамбля. Точно так же, если набор данных сложен, одно решение может дать вам правильную скорость прогнозирования, для такого сценария нам нужно объединить несколько разных классификаторов, где выходные данные одного классификатора становятся входными данными другого.
  • Интересная часть процесса стекирования заключается в том, что новая модель обучается комбинировать предсказания из ранее обученных моделей на одном и том же наборе данных.

Что такое стекирование?

  • Стекирование - это расширение классификатора голосования или регрессора голосования на более высокий уровень (уровень смешивания), который изучает наилучшее агрегирование индивидуальных результатов. На вершине стека находится (по крайней мере) другой классификатор или регрессор.
  • Стекирование особенно полезно, когда результаты отдельных алгоритмов могут сильно отличаться, что почти всегда имеет место в случае регрессии - поскольку значения непрерывны, а не несколько классов. Алгоритмы наложения могут даже охватывать несколько уровней, что значительно усложняет их обучение.

Как это работает?

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

  • В приведенном выше примере мы видим, что у нас есть обучающий набор данных, который обучен на разных классификаторах C1, C2…. Cm и которые дают результат P1, P2… Pm, и мы можем принять все эти прогнозы с помощью Stacking, и мы получили окончательный результат Pf.

Методы стекирования:

  1. Усреднение: возьмите P1, P2… Pm и выполните усреднение.

2. Средневзвешенное значение: взвешивайте отдельные функции в соответствии с их важностью, и мы получаем окончательный результат.

Средневзвешенное значение = P1 * w1 + P2 * w2 +… .. + Pm * wm

Важно то, что подмодели (исходный классификатор) должны давать некоррелированные результаты; При этом их результаты не должны совпадать. Следовательно, прогноз подмодели является некоррелированной характеристикой для окончательного классификатора:

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

Реализация стекирования:

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

Спасибо за прочтение…!!!

Ссылки:

  1. Https://medium.com/@rrfd/boosting-bagging-and-stacking-ensemble-methods-with-sklearn-and-mlens-a455c0c982de
  2. Https://en.wikipedia.org/wiki/Ensemble_learning