Разберитесь в работе обучения ансамбля Bootstrap Aggregation (Bagging) и реализуйте модель Random Forest Bagging с использованием библиотеки sklearn.
Производительность модели машинного обучения говорит нам, как модель работает для невидимых точек данных. Существуют различные стратегии и приемы для повышения производительности модели машинного обучения, некоторые из них:
- Тонкая настройка гиперпараметра модели ML
- Использование ансамблевого обучения.
Что такое ансамблевое обучение?
Ансамблевое обучение - это метод объединения нескольких моделей машинного обучения в единую модель. Множественные модели машинного обучения, также называемые базовыми моделями или слабыми учащимися, могут иметь разные алгоритмы или одни и те же алгоритмы с изменением гиперпараметров.
Как и для задач классификации, несколько моделей машинного обучения могут быть логистической регрессией, наивным байесовским методом, деревом решений, SVM и т. Д. Для задач регрессии несколько моделей машинного обучения могут быть линейной регрессией, регрессией лассо, регрессией дерева решений и т. Д.
Ансамблевое обучение сочетает в себе преимущества базовых моделей, чтобы сформировать единую надежную модель с улучшенными характеристиками. К различным методам ансамблевого обучения относятся:
- Бэггинг (агрегирование бутстрапа)
- Повышение
- Голосование
- Каскадный
- Штабелирование
И многое другое. В этой статье будет рассказано о работе и применении техники Bagging Ensemble.
Обзор бэггинга (Bootstrap Aggregation):
Метод пакетного ансамбля, также известный как Bootstrap Aggregation, использует рандомизацию для повышения производительности. При упаковке мы используем базовые модели, которые обучаются на части набора данных. В пакете мы используем модели слабых учеников (или базовые модели) в качестве строительных блоков для создания сложных моделей, комбинируя несколько из них.
В большинстве случаев эти базовые модели не работают хорошо, потому что они либо переоснащены, либо недостаточно подходят. Решение о переоснащении или недообучении модели решается путем компромисса смещения отклонения.
Что такое компромисс между отклонением и смещением? [1]
Общая ошибка модели зависит от систематической ошибки и дисперсии модели в соответствии с приведенным ниже уравнением:
Для хорошей надежной модели погрешность модели минимальна. Чтобы минимизировать ошибку, необходимо, чтобы смещение и дисперсия были минимальными, а неснижаемая ошибка оставалась постоянной. Приведенный ниже график зависимости ошибки от гибкости модели (степени свободы) описывает изменение смещения и дисперсии вместе с ошибкой теста и обучения:
Анализ приведенного выше графика:
- Когда модель находится в начальной фазе обучения, ошибки обучения и тестирования очень высоки.
- Когда модель достаточно обучена, ошибка обучения очень мала, а ошибка теста высока.
- Фаза, на которой высока ошибка обучения и тестирования, - это недостаточное соответствие.
- Фаза, на которой ошибка обучения низкая, а ошибка теста высокая - переобучение.
- Лучше всего подходит фаза, на которой достигается баланс между обучением и ошибкой тестирования.
- Модель недостаточного соответствия имеет низкую дисперсию и высокую систематическую ошибку.
- Модель Overfit имеет высокую дисперсию и низкую систематическую ошибку.
Технику Bagging Ensemble можно использовать для базовых моделей с низким смещением и высокой дисперсией. Ансамбль Bagging использует рандомизацию набора данных (будет обсуждаться позже в этой статье), чтобы уменьшить дисперсию базовых моделей, сохраняя низкое смещение.
Работа в мешках [1]:
Теперь ясно, что мешковина уменьшает дисперсию базовых моделей, сохраняя низкую систематическую ошибку. Дисперсия базовых моделей уменьшается за счет комбинирования стратегий бутстраповой выборки и агрегации. Вся работа Bagging делится на 3 этапа:
- Выборка начальной загрузки
- Базовое моделирование
- Агрегирование
На диаграмме ниже описаны все три шага для образца набора данных D, содержащего n строк:
Выборка начальной загрузки:
Образец начальной загрузки - это меньший образец, который является подмножеством исходного набора данных. Образец начальной загрузки создается из исходного набора данных путем выборки с заменой.
Предположим, что для набора данных, имеющего n строк и f функции, мы делаем выборку начальной загрузки, которая относится к выборке с заменой на k различных меньших наборов данных, каждый размером m с одинаковым е особенности. Каждый сформированный меньший набор данных D_i видит подмножество набора данных. На рисунке ниже исходный набор данных D формы (n, f) отбирается в набор данных k каждой формы (m, f), где m ‹n.
На изображении ниже показано, как загрузить образец. Набор данных D, содержащий 10 строк, отбирается с заменой в k меньших наборов данных, каждый из которых имеет 5 строк. Здесь n = 10 и m = 5 из вышеприведенной диаграммы.
Замечено, что каждый из наборов данных, сформированных с помощью начальной загрузки, видит только часть исходного набора данных, и все наборы данных независимы друг от друга.
Это 1-й шаг метода ансамбля пакетов, в котором k меньших наборов данных создаются путем начальной загрузки независимо друг от друга.
Моделирование:
Моделирование - это 2-й этап упаковки. После создания k меньших наборов данных путем начальной загрузки каждый из k наборов данных обучается с использованием алгоритмов машинного обучения. Алгоритмы, используемые для обучения набора данных k, могут быть одинаковыми с изменением гиперпараметров или без них, либо могут использоваться разные алгоритмы.
Например,
- Алгоритмы дерева решений могут использоваться в качестве базовых моделей с изменением гиперпараметров, таких как «глубина».
- Может использоваться комбинация различных алгоритмов, таких как SVM, наивный байесовский алгоритм, логистическая регрессия.
Модели, которые обучаются на каждом наборе данных начальной загрузки, называются базовыми моделями или слабыми обучающимися. На приведенной ниже диаграмме описывается обучение каждого набора данных отдельных моделей:
Агрегация:
Окончательная мощная надежная модель создается путем объединения k различных базовых моделей. Поскольку базовые модели обучаются на выборке начальной загрузки, каждая модель может иметь разные прогнозы. Техника агрегирования различается в зависимости от постановки задачи.
- Для задачи регрессии: агрегирование может быть средним прогнозом каждой базовой модели.
Notation, prediction: Final Output of bagging ensemble k: number of base models pred_i: prediction of ith base model
- Для проблемы классификации: агрегирование может осуществляться с использованием большинства голосов, класс, имеющий максимальное количество голосов, может быть объявлен в качестве окончательного прогноза.
Notation, prediction: Final Output of bagging ensemble pred_i: prediction target class of ith base model 1,2,3...,c: c different target class C: Target Class having maximum vote
Случайный лес:
Случайный лес - это пример группового обучения. В алгоритме случайного леса базовыми учащимися являются только деревья решений. Random Forest использует сборку вместе с выборкой столбцов для формирования надежной модели.
Другими словами, RF использует реализацию обучения ансамбля пакетов, в дополнение к этому, он выполняет выборку столбцов с заменой на этапе начальной загрузки. Вариант первого шага начальной загрузки показан ниже:
Форма исходного набора данных D (n строк, f функции), в случае выборки начальной загрузки + выборка столбца, сформированный базовый набор данных k представляет собой выборку из строк и столбцов. . Форма базового набора данных D_i: (m строк, d объекты), где n ›m и f› d .
Реализация случайного леса:
Внедрение дерева решений и классификатора случайного леса для Набор данных о диабете индейцев пима из Kaggle.
Наблюдение за классификатором дерева решений
Классификатор дерева решений обучается для X_train (строки 16–19), а производительность модели классификатора DT (строки 21–23) проверяется на данных X_test. Наблюдение за производительностью модели DT:
Наблюдение за классификатором случайного леса:
Классификатор случайного леса для k = 50 обучен для X_train (строки 25–28), а производительность модели классификатора RF (строки 30–32) проверяется на данных X_test. Наблюдение за производительностью модели RF:
Наблюдение за улучшением производительности:
- Точность модели увеличивается с 71% (для классификатора DT) до 75% (для классификатора RF).
- Изменение в уменьшении значений FN и FP и увеличение значений TP и FN можно наблюдать из двух матриц неточностей.
Ссылки:
[1] (23 апреля 2019 г.), Методы ансамбля: бэггинг, бустинг и стекинг: https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205
Спасибо за чтение!