В области машинного обучения глубокое обучение () в основном преобладают нейронные сети, а неглубокое обучение () по-прежнему является областью модели дерева. С одной стороны, хотя глубокое обучение эффективно в больших масштабах, оно плохо работает в малых масштабах; с другой стороны, алгоритмы ансамблевого дерева (,,и т. д.) из-за его высокой интерпретации модели, низкой сложности в настройке параметров, высокой скорости работы и почти отсутствия необходимости в разработке признаков, он полностью подавляет глубокое обучение на малых и средних наборах данных, и это трудно для «разнородных данных». (такие как контроль рисков), данные, такие как возраст, доход, город в сцене), модель дерева ансамбля работает лучше, чем глубокое обучение, даже на крупномасштабных наборах данных. В практических приложениях крупные предприятия, такие как Facebook и Alibaba, используют комбинацию LR.В качестве технической поддержки для важных предприятий, таких как оценка рейтинга кликов и рекомендации по рекламе, а такжеВ последние годы он неоднократно процветал в конкурсе алгоритмов Kaggle.
Эта статья знакомит с ансамблевым обучениемметод и члены его семьи,, если вы мало знаете об основном алгоритме дерева решений, я рекомендую прочитать другой мой пост в блоге:Модель дерева решений:,,Введение алгоритма
интегрированное обучение
-
Целью традиционного машинного обучения является обучение «сильного ученика» (дерева решений, нейронной сети и т. д.) с максимально возможной точностью прогнозирования, но на практике найти оптимального «сильного ученика» сложно, поэтому «обучение ансамблем "предлагается. «Ансамблевое обучение» предполагает, что для нескольких «слабых учеников» с низкой точностью предсказания (требующей лишь немного более высокой точности предсказания, чем случайное угадывание), если эти несколько «слабых учеников» объединены соответствующим образом, то его можно повысить до «сильный ученик», чтобы получить более высокую точность предсказания. Основываясь на этой идее, в 1990 году Шапир впервые построил алгоритм полиномиального уровня и сделал положительное доказательство этой проблемы. Это оригинальный алгоритм повышения. Позже «обучение ансамбля» стало очень зрелым и широко используемым методом машинного обучения. , в его семейство входят RF, GBDT, XGboost и многие другие превосходные алгоритмы.
-
На сегодняшний день существует три основных типа ансамблевого обучения:(Мешковый метод),(метод подъема),(метод укладки), в этой статье объясняетсяметоды и связанные с ними алгоритмы (,).
метод
-
отличается отв параллели,Это серия в виде лестницы. Она начинается с первого базового учащегося, и каждый последующий базовый учащийся будет корректировать распределение веса выборок в соответствии с правильностью и ошибкой предсказания предыдущего базового учащегося для каждой выборки. В то же время, в соответствии с самим базовым учеником. Чтобы получить ряд базовых учеников с разными весами, несколько учеников взвешиваются и объединяются для получения окончательного ученика. Конкретные шаги заключаются в следующем:
-
1. Сначала он заставляет каждую выборку иметь одинаковое значение веса (1/n, используется для расчета частоты ошибок или коэффициента точности, это значение веса не будет меняться в некоторых алгоритмах классификации) и строит слабый классификатор.
-
2. Измените распределение веса выборки: увеличьте вес неправильного образца, уменьшите вес правильного образца, измените вес классификатора: рассчитайте правильный показатель классификатора, чем выше правильный показатель, тем больше его весовое значение;
-
3. Построить новый слабый классификатор по выборочным данным после изменения распределения веса.
-
4. Повторяйте шаги 2 и 3 до тех пор, пока не будет достигнуто заданное количество учащихся или заданная точность предсказания.
-
Интуитивное понимание:
- Каждый шаг всегда больше ориентирован на неправильно классифицированные образцы, что упрощает их правильную классификацию на следующем этапе;
- Вес классификатора с более высокой степенью точности больше, так что лучший классификатор после окончательной линейной комбинации имеет большее право голоса, в отличие от классификатора.Каждый классификатор в методе имеет одинаковый вес.
(адаптивное улучшение)
- даАлгоритмы начального уровня в методах. Оригинальный алгоритм Adaboost использовался для решения задач бинарной классификации, поэтому для обучающей выборки
- в, сначала инициализируйте веса тренировочного набора
- В зависимости от веса каждого раунда тренировочного набора, выборка данных обучающего набора, чтобы получить, а затем согласноТренируйтесь, чтобы получить базового ученика для каждого раунда. Базовый учащийся может быть получен расчетным путемОшибка, по ошибке базового обучаемого рассчитывается весовой коэффициент базового обучаемого в конечном обучаемом.
- Обновите веса тренировочного набора
- внормировочный коэффициент
- тем самым гарантируяявляется распределением вероятностей. наконец построен в соответствии сбазовые учащиеся, чтобы получить окончательного учащегося:
-
Следующие диаграммы используются для интуитивного понимания:
-
1. Слева в начале все точки данных имеют одинаковый вес (положительные и отрицательные знаки имеют одинаковый размер), и первый базовый обучаемый делит выборку данных на две части. Как видно, три точки данных, отмеченные положительным знаком, неправильно классифицированы, поэтому мы придаем этим трем точкам больший вес. В то же время учащемуся присваивается весовое значение в соответствии с показателем точности классификации.
-
2. На среднем рисунке, второй базовый обучаемый, вы можете видеть, что веса трех (+) баллов, которые не были правильно классифицированы предыдущим обучающимся, увеличились.В это время второй базовый обучаемый меняет распределение веса в соответствии После обучения получается вторая классификационная модель, поскольку ее классификация неправильно идентифицирует точки, отмеченные тремя (-) знаками, в следующей классификации точкам, отмеченным тремя (-) знаками, присваивается больший вес. В то же время учащемуся присваивается весовое значение в соответствии с показателем точности классификации.
-
3. На правом рисунке третий базовый ученик повторите те же шаги.
-
4. Наконец, взвешенная линейная комбинация первых трех базовых обучаемых будет использоваться в качестве окончательного сильного обучаемого, который будет работать лучше, чем любой из предыдущих слабых классификаторов.
(дерево с градиентным усилением)
Алгоритм прямого шага и повышение градиента
-
И другие типы моделей повышенного дерева основаны на «алгоритме прямого шага». Пошаговый алгоритм вперед можно понять следующим образом: Предположим, мы хотим использовать дерево решений для прогнозирования возраста человека.В начале инициализация модели напрямую даст прогнозируемое значение, Обратите внимание, что это прогнозируемое значение не нужно обучать с помощью дерева решений, и оно не обязательно является точным (например, начальный прогноз модели в начале составляет 0 лет, или относительно разумное значение дается в соответствии с возрастной состав населения). Затем обучите первое дерево решений на основе прогноза, данного на предыдущем шаге модели, В это время выходом модели является прогнозируемое значение инициализации модели плюс выходное значение первого дерева решений, а затем продолжаем добавлять второе дерево решений дерево, чтобы второе дерево решений могло минимизировать общие потери на основе ранее построенной модели, и продолжаем этот процесс до тех пор, пока количество построенных деревьев решений не будет удовлетворять требованиям или общие потери не будут меньше порога.
-
Текущий пошаговый алгоритм переходит кшаг, функция предсказания может быть выражена как:
-
впервыйфункция предсказания шага, иэто первое, что нам нужно построитьДрево решений,Представляет скорость обучения (также называемую размером шага). из-за предыдущегоДерево решений обучено, параметры зафиксированы., то вшаг, нам нужно только обучитьпараметры деревачтобы минимизировать текущие общие потери:
- впредставляет собой общее количество образцов,представляет собой функцию потерь. После того, как алгоритм прямого шага ясен, давайте рассмотрим, как минимизировать функцию потерь в машинном обучении.
- Предположим, что существует функция потерь, когда нам нужно установить этот параметр вПри нахождении минимального значения функции потерь просто отрегулируйте параметры в соответствии с отрицательным направлением градиента функции потерь.То есть, потому что направление градиента — это направление, которое заставляет функцию расти быстрее всего, а противоположное направление градиента, то есть отрицательное направление градиента, заставит функцию уменьшаться быстрее всего.Время,Способ обновления следующий:
- Тогда так же, в алгоритме переднего этапа, общая потеря потери должна бытьменьше, надовывод, инаправлен навыборки, поэтому частная производная вычисляется для каждого предсказанного значения выборки:
- здесьи только что упомянулЭффект тот же, количество раз. во-первыхДля дерева решений его подгонка больше не является исходными данными.итоговое значение, но с отрицательным градиентом, потому что это заставляет общую функцию потерь падать быстрее всего. Итак, для первогоДерево решений, образец набора данных, который необходимо подобрать, обновляется до:
- Таким образом, он повторяется до определенного шага, функция потерь достаточно мала, и, наконец,Прогнозируемое значение вывода представляет собой сумму всех предыдущих деревьев, оно будет очень близкимценность.
алгоритм регрессии
- Для задач регрессии мы берем в качестве примера функцию квадратичной ошибки, чтобы представить метод обработки GBDT. Функция потери квадратичной ошибки:
- во-первыхдерево решений, каждый образецФункция потерь:, что примерно соответствует прогнозируемому значениюГрадиент (частная производная) равен:
- Затем соответствующий отрицательный градиент:
Это остаток, который должен соответствовать текущему дереву решений.Поэтому для форсированной древовидной модели задачи регрессии каждое дерево решений должно соответствовать только остатку остатка.
Уведомление:не первыйДерево решений, но в первомФункция предсказания этого шага дерева решений, то же верноУказывает, что функция предсказания находится в выборкепо прогнозируемому значению. первоеДерево решений соответствует только отрицательным градиентам, а функция предсказанияпредставляет собой отрицательный градиент подгонки плюс предсказанное значение предыдущего дерева.
-
Поток метода GBDT для задачи регрессии:
-
Вход: обучающий набор данныхи скорость обучения(также называется размером шага)
-
вывод: усиленное дерево
-
инициализация
-
Древо решений
(a) Рассчитайте невязку для каждого образца i:
(b) Сопоставьте невязку r_{m i}, чтобы изучить дерево регрессии и получить площадь листового узла m-го дерева. Примечание. Деревья решений (Дерево регрессии) также разбито по квадрату ошибки в качестве функции потерь.
(c) Противоположный листовой узел, чтобы вычислить оптимальное выходное значение:
Этот шаг заключается в расчете того, как присвоить значения образцам в области листового узла, чтобы минимизировать потери модели.Поэтому этот шаг необходимо рассчитать в соответствии с функцией потерь текущего дерева решений и функцией потерь дерева регрессии \text {CART} является Квадрат ошибки ошибки, поэтому результат расчета на этом шаге:
То есть среднее значение остатков каждой области конечного узла.
(d) Обновление дерева решений.
-
Наконец, мы получаем дерево повышения градиента для задачи регрессии:
Примечание. Диапазон \beta_{m} равен (0,1), и его функция такая же, как скорость обучения (также называемая размером шага) в алгоритме градиентного спуска, который может заставить функцию потерь сходиться к меньшему значению. , поэтому это может быть корректировка \beta_{m}, а меньшая скорость обучения заставит модель обучать больше деревьев решений, что сделает модель более стабильной и не будет переобучать, поэтому \beta_{m} в GBDT также можно использовать как Параметр регуляризации.
-
алгоритм бинарной классификации
-
так какБазовое дерево решений использует дерево регрессии CART с квадратом ошибки в качестве критерия разбиения, а выход его листовых узлов представляет собой весь диапазон действительных чисел.Поэтому при классификации мы можем обратиться к алгоритму логистической регрессии для вложения на основе выражений линейной регрессии.Функция (функция логистической регрессии), позволяющая GBDT решать проблемы классификации. Давайте сначала обсудимобработка бинарной классификацией.
-
Мы можем определить функцию потерь бинарного GBDT как:
-
вЯвляетсяфункция, которую мы используем для представления вероятности того, что дерево решений предскажет класс выборки как 1;является фактическим значением (0 и 1) класса выборки.
-
Тогда для первогодерево решений, функция потерь, его градиент по отношению к прогнозируемому значению выборки рассчитывается как:
-
Вычисленный результат представляет собой разницу между прогнозируемым значением вероятности категории дерева решений и фактическим значением категории, тогда отрицательный градиент равен:
-
Следовательно, для GBDT, занимающегося проблемами бинарной классификации, каждое дерево решений соответствует разнице между фактическим значением категории и прогнозируемым значением вероятности категории. Процесс метода GBDT для задачи двух классов выглядит следующим образом:
- Вход: обучающий набор данныхи скорость обучения
- вывод: усиленное дерево
-
инициализация, вПредставляет долю выборки, где y=1.
-
правильно
(a) Вычислите отрицательный градиент для каждого образца i:
в, представляющий вероятность того, что y_{i}=1.
(b) Сопоставьте отрицательный градиент r_{m i}, чтобы изучить дерево регрессии и получить площадь листового узла m-го дерева. Обратите внимание, что этот шаг также разделяет узлы в соответствии с квадратом ошибки ошибки.
(c) Противоположный листовой узел, рассчитать:
(г) Обновление
-
Наконец, получается бинарное дерево бустинга градиента:
-
Наконец, логистическая функция также вложена в окончательную функцию прогнозирования, чтобы можно было представить прогнозируемое значение вероятности:
Множественные алгоритмы классификации
-
В задаче бинарной классификации используется метод вложения «функции логистической регрессии» в исходную модель дерева регрессии, в то время какВ задаче с несколькими классами «полиномиальная логистическая регрессия» (), ниже приводится краткое введение в полиномиальную логистическую регрессию.
-
«Полиномиальная логистическая регрессия» () можно рассматривать как логистическую регрессию (), и наоборот, логистическую регрессию также можно рассматривать как частный случай полиномиальной логистической регрессии. существуетЧто нужно решить, так это две вероятности:и; пока вУ лейтенанта уже будет не две вероятности, авероятность,Указывает количество категорий.Функция предсказания для:
-
в,запараметры (векторы) для каждой модели и, наконец, умноженные насостоит в том, чтобы сделать вероятность каждого класса винтервал, а сумма вероятностей равна 1.данные будут введеныотносятся к категорииВероятность:
-
Приведенную выше формулу можно визуально проанализировать с помощью следующего рисунка:
-
Вообще говоря,Он имеет характеристики избыточности параметров, которая вот-вотРезультат прогноза остается неизменным после добавления и вычитания вектора одновременно, потому что,так. Предположим из вектора параметроввычесть вектор, то каждыйстал. В этот момент функция прогнозирования принимает вид:
-
Из приведенного выше уравнения видно, что извычестьЭто никак не влияет на результаты предсказания функции гипотезы. В частности, при количестве категорийКогда это 2:
-
Воспользовавшись особенностью избыточности параметров, вычтем все параметры из приведенной выше формулы, приведенная выше формула принимает вид:
-
в. Видно, что отсортированная формула полностью согласуется с логистической регрессией, поэтому логистическую регрессию бинарной классификации фактически можно рассматривать как полиномиальную логистическую регрессию вЧастный случай времени.
-
Далее мы видимКонкретный метод мульти-классификации:
- При применении GBDT к проблеме бинарной классификации необходимо учитывать модель логистической регрессии, а для задачи множественной классификации GBDT необходимо учитывать следующую модель Softmax:
- вдаАнсамбль различных деревьев регрессии CART. Каждый раунд тренировки на самом деле является тренировкой.Дерево, соответствующее отрицательному градиенту каждой ветви модели softmax. Функция однократных потерь модели softmax:
- здесь- значение исходной метки результата выборки после горячего кодирования по k категориям, вв категорииКатегорияОстальные все 0. Из вышеприведенного выражения нетрудно вывести:
- видно, этоДерево также соответствует разнице между истинной меткой и предсказанной вероятностью выборки, что очень похоже на процесс бинарной классификации GBDT.
и
-
, дерево повышения, хотя дерево повышения градиента является улучшенной версией дерева повышения, мы также можем думать о дереве повышения как о частном случае, когда функция потерь в дереве повышения градиента принимает квадрат ошибки ошибки, поэтому дерево повышения обучает дерево решений каждый раз Просто установите остатки из предыдущего шага.
-
Однако использование остатка в качестве функции потерь на самом деле имеет большие недостатки.Очевидный недостаток заключается в том, что он слишком чувствителен к выбросам. Давайте посмотрим на пример:
-
Очевидно, что последующая модель будет уделять слишком много внимания четвертому значению, что не является хорошим явлением, поэтому функция потерь общего класса регрессии будет использовать абсолютную функцию потерь или функцию потерь Хубера вместо квадратичной функции потерь:
Если у вас есть какие-либо вопросы, пожалуйста, оставьте сообщение.
Наконец, если вы интересуетесь Python, интеллектуальным анализом данных, машинным обучением и т. д., добро пожаловать в мой блог.