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

Итак, что означает слово ансамбль? Согласно Google, ансамбль определяется как «группа элементов, рассматриваемых как единое целое, а не по отдельности». Это определение говорит само за себя, но для целей машинного обучения мы рассмотрим пример.

Допустим, вы хотите изучить машинное обучение. У вас есть два ресурса: книга и видеокурс. Оба ресурса хороши сами по себе. Здесь вам нужно принять решение, но, поскольку вы новичок, вы не знаете, какой ресурс выбрать. Итак, вы спрашиваете об этом профессора вашего университета. Он говорит вам пройти курс. Точно так же вы спрашиваете своего друга, и он предпочитает книгу. Точно так же, как вы просили, скажем, 15 человек и разные люди имеют разные мнения. У вас тоже будет выбор.

Пример еще не закончен, но давайте сопоставим его с машинным обучением. Понятно, что это проблема классификации с целевой переменной, имеющей один из двух вариантов выбора Book или Course. Давайте представим каждого из опрошенных вами людей как моделей машинного обучения от M1 до M15. У каждой модели Mi будет выход, соответствующий выбору людей. Теперь предположим, что пятый человек или модель M5 - это тот, кому вы доверяете с завязанными глазами, и вы выбираете ресурс, который он выбрал. Так что в этом случае вы бы выбрали только одну модель.

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

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

Итак, давайте разберемся с ансамблевым обучением. Ниже приведена диаграмма, объясняющая концепцию ансамблевого обучения. Теперь, когда вы знаете, что такое базовые и сильные ученики, мы можем двигаться дальше. Итак, взгляните на картинку ниже. Слева находится стопка кружков, обозначенных как базовые учащиеся. Это 15 моделей, из которых вы получите результат. Синие линии показывают, что результаты принимаются кружком справа, который является сильным учеником. Наконец, сильный ученик делает прогноз. Здесь важно отметить, что набор данных показан каждой модели, включая сильного ученика.

Итак, почему ансамблевое обучение? А когда я использую ансамблевое обучение? В процессе ответа мы получим ответ на вопрос, почему. Итак, во-первых, в нашей повседневной жизни, если мы задаем вопрос более чем одному человеку, мы получаем разные точки зрения, которые помогают нам лучше ответить на этот вопрос. Если мы спросим только одного человека, мы получим только одну точку зрения. Итак, обычно мы можем сказать, что получение большего количества точек зрения дает нам более широкий взгляд и в целом лучше. Точно так же использование результатов нескольких моделей лучше, чем использование результатов одной модели, особенно когда модели имеют более низкую точность, чем ожидалось. В этом случае ансамблевое обучение может объединить модели для создания новой модели, которая будет иметь более высокую точность. Ансамблевое обучение в основном следует одному из двух принципов или обоим - «Единство в разнообразии» и «Единство - сила».

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

Давайте посмотрим на некоторые базовые техники ансамблевого обучения.

СЛУЧАЙНЫЕ ЛЕСА

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



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

ГОЛОСОВАНИЕ

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

Жесткое голосование обычно используется в задачах классификации. Требуется большая часть прогнозов, данных всеми моделями, и класс большинства для определенной точки данных выдается как прогноз. Скажем, у нас есть 5 моделей, и для тестового примера, если 4 модели говорят ДА, а 1 модель говорит НЕТ, результатом будет ДА, так как она набрала наибольшее количество голосов.

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

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

УПАКОВКА

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

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

Получите доступ к экспертному обзору - Подпишитесь на DDI Intel