Перейти к содержимому

Gradient Boost, часть 2 (из 4): подробности регрессии

StatQuest with Josh Starmer

0:00 / 0:00

Gradient Boost, часть 2 (из 4): подробности регрессии

378 156 просмотров · 7 лет назад
StatQuest with Josh Starmer
1,71 млн подписчиков
378 156 просмотров · 7 лет назад
Градиентный бустинг — один из самых популярных алгоритмов машинного обучения. И, представьте себе, он совсем не сложный! Это видео — вторая часть серии, в которой мы шаг за шагом разбираем его работу. В этом видео мы сосредоточимся на оригинальном алгоритме градиентного бустинга, используемом для прогнозирования непрерывного значения, например, веса человека. Мы называем это «использованием градиентного бустинга для регрессии». В третьей части мы рассмотрим, как градиентный бустинг классифицирует образцы на две разные категории, а в четвёртой части мы снова разберёмся с математикой, на этот раз сосредоточившись на классификации. Этот StatQuest предполагает, что вы уже посмотрели Часть 1:    • Gradient Boost Part 1 (of 4): Regression M...   ...он также предполагает, что вы знакомы с деревьями регрессии:    • Regression Trees, Clearly Explained!!!   ...и, хотя это и необходимо, вам может быть полезно, если вы понимаете градиентный спуск:    • Gradient Descent, Step-by-Step   Этот StatQuest основан на следующих источниках: Рукопись Джерома Фридмана 1999 года, в которой представлен стохастический градиентный бустинг: https://jerryfriedman.su.domains/ftp/... Статья Википедии о градиентном бустинге: https://en.wikipedia.org/wiki/Gradien... ПРИМЕЧАНИЕ: Ключ к пониманию связи статьи Википедии с этим видео — продолжить чтение после раздела «псевдоалгоритм». В следующем разделе статьи, озаглавленном «Градиентный бустинг деревьев», показано, как работает алгоритм для деревьев (это практически единственный слабый классификатор, который когда-либо используется в градиентном бусте, поэтому я и уделяю ему особое внимание в видео). В этом разделе вы увидите, как уравнение модифицируется таким образом, чтобы каждый лист дерева мог иметь различное выходное значение, а не весь «слабый классификатор» имел одно выходное значение — и это то же самое уравнение, которое я использую в видео. Далее в статье, в разделе «Сжатие», показано, как можно включить скорость обучения. Поскольку это также практически всегда используется в градиентном бусте, я просто включил это в базовый алгоритм, который я описываю. Реализация градиентного бустинга в scikit-learn: https://scikit-learn.org/stable/modul... Полный список всех видеороликов StatQuest можно найти здесь: https://statquest.org/video-index/ Если вы хотите поддержать StatQuest, пожалуйста, рассмотрите следующие варианты: Patreon:   / statquest   ...или... Подписка на YouTube:    / @statquest   ...покупка одной из моих книг, учебного пособия, футболки или толстовки, или песни в магазине StatQuest... https://statquest.org/statquest-store/ ...или просто пожертвование StatQuest! https://www.paypal.me/statquest И наконец, если вы хотите следить за моими исследованиями и созданием новых StatQuest, подпишитесь на меня в Твиттере:   / joshuastarmer   0:00 Отличная песня и вступление 0:00 Шаг 0: Данные и функция потерь 6:30 Шаг 1: Инициализация модели постоянным значением 9:10 Шаг 2: Построение M деревьев 10:01 Шаг 2.A: Вычисление остатков 12:47 Шаг 2.B: Построение дерева регрессии по остаткам 14:50 Шаг 2.C: Оптимизация выходных значений листьев 20:38 Шаг 2.D: Обновление прогнозов с помощью нового дерева 23:19 Шаг 2: Краткое изложение шага 2 24:59 Шаг 3: Вывод окончательного прогноза Исправления: 4:27 Сумма слева должна быть в скобках для большей ясности что вся сумма умножается на 1/2, а не только первый член. 15:47. Должно быть R_jm, а не R_ij. 16:18, лист в скрипте — R_1,2, а должно быть R_2,1. 21:08. В деревьях регрессии выборка доходит только до одного листа, и это суммирование просто выделяет одно интересующее выходное значение из всех остальных. Однако, когда я впервые делал это видео, я думал, что, поскольку градиентный бустинг должен работать с любым «слабым классификатором», а не только с небольшими деревьями регрессии, это суммирование было способом добавить гибкости алгоритму. 24:15, заголовок для столбца остатков должен быть r_i,2. #statquest #gradientboost