Если вы захотите купить ноутбук, вы просто подойдете к магазину и выберете какой-нибудь ноутбук? Это маловероятно.

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

Цель этой статьи - представить концепцию ансамблевого обучения и понять алгоритмы, в которых используется этот метод.

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

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

Обычно различают два семейства ансамблевых методов:

  1. Методы усреднения. Главный принцип заключается в том, чтобы построить несколько оценщиков независимо, а затем усреднить их прогнозы. В среднем комбинированная оценка обычно лучше, чем любая из оценок с одной базовой базой, потому что ее дисперсия уменьшается. Примеры: методы упаковки, леса из рандомизированных деревьев.
  2. Методы повышения. Базовые оценщики строятся последовательно, и каждый пытается уменьшить смещение комбинированного оценщика. Мотивация состоит в том, чтобы объединить несколько слабых моделей для создания мощного ансамбля. Примеры: AdaBoost, Gradient Tree Boosting.

Три самых популярных метода комбинирования прогнозов из разных моделей:

  1. Упаковка. Создание нескольких моделей (обычно одного типа) из разных подвыборок обучающего набора данных.
  2. Повышение. Построение нескольких моделей (обычно одного типа), каждая из которых учится исправлять ошибки прогнозирования предыдущей модели в последовательности моделей.
  3. Голосование. Построение нескольких моделей (обычно разных типов) и простая статистика (например, вычисление среднего) используются для объединения прогнозов.

Преимущества ансамблевого алгоритма:

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

Недостатки ансамблевого алгоритма:

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

Метод начальной загрузки

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

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

Рассмотрим выборку из 100 значений (x), и мы хотим получить оценку среднего значения выборки. Мы можем вычислить среднее значение непосредственно из выборки как:

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

  1. Создайте множество (например, 1000) случайных подвыборок набора данных с заменой (то есть мы можем выбирать одно и то же значение несколько раз).
  2. Рассчитайте среднее значение каждой подвыборки
  3. Вычислите среднее значение всех собранных нами средних значений и используйте его в качестве расчетного среднего для данных

Пример. Предположим, мы использовали 3 повторных выборки и получили средние значения 2,3, 4,5 и 3,3. Взяв среднее значение из них, мы можем принять расчетное среднее значение данных равным 3,367. Этот процесс можно использовать для оценки других величин, таких как стандартное отклонение, и даже величин, используемых в алгоритмах машинного обучения, таких как изученные коэффициенты.

Агрегация или упаковка бутстрапа

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

  • Он сочетает в себе B растягивание и Agg регенерацию, чтобы сформировать одну ансамблевую модель.
  • Уменьшает ошибку дисперсии и помогает избежать переобучения

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

Повышение

Термин «ускорение» относится к семейству алгоритмов, которые превращают слабого ученика в сильного.

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

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

Некоторые примеры повышения: XGBoost, GBM, ADABOOST и т. Д.

Как бустинг выявляет слабых учеников?

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

Как выбрать разное распределение для каждого раунда?

Шаг 1. Базовый учащийся берет все распределения и присваивает каждому наблюдению равный вес или внимание.

Шаг 2: Если есть какая-либо ошибка прогноза, вызванная первым базовым алгоритмом обучения, мы уделяем больше внимания наблюдениям, имеющим ошибку прогнозирования. Затем мы применяем следующий базовый алгоритм обучения.

Шаг 3. Повторяйте шаг 2 до тех пор, пока не будет достигнут предел базового алгоритма обучения или не будет достигнута более высокая точность.

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

Как бы вы классифицировали электронное письмо как СПАМ или нет?

Наш первоначальный подход заключался бы в том, чтобы идентифицировать электронные письма «СПАМ» и «НЕ СПАМ» с использованием следующих критериев. Если:

  1. В электронном письме есть только один файл изображения (рекламное изображение), это СПАМ.
  2. В электронном письме есть только ссылки, это СПАМ.
  3. Тело письма состоит из таких предложений, как «Вы выиграли денежный приз в размере xxxxxx долларов США». Это СПАМ.
  4. Электронная почта с нашего официального домена «www.medium.com», а не СПАМ.
  5. Электронная почта из известного источника, а не СПАМ.

По отдельности этих правил недостаточно, чтобы классифицировать электронное письмо как «СПАМ» или «НЕ СПАМ». Поэтому эти правила называются слабым учеником.

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

  • Использование среднего / средневзвешенного
  • Учитывая, что прогноз имеет более высокий голос

Пример. Выше мы определили 5 слабых учеников. Из этих 5, 3 были признаны «СПАМом», а 2 - «Не СПАМом». В этом случае по умолчанию мы будем рассматривать электронное письмо как СПАМ, потому что у нас есть более высокий (3) голос за «СПАМ».

Это было просто введение в алгоритм ансамбля. Увидимся до следующего раза. Пожалуйста, предложите правки и улучшения. Спасибо.