[БЕЗ_ЗВУКА] В этом видео мы поговорим о некоторых трюках, которые случайные леса позволяют выполнять в ряде задач. В прошлый раз мы разобрались, как обучают случайные леса. Это довольно простой алгоритм, который не переобучается при росте числа базовых решающих деревьев. При этом у него есть ряд интересных особенностей, о которых мы сейчас поговорим. Первое состоит в том, что каждое решающее дерево обучается независимо от всех остальных деревьев. При обучении n-ного дерева никак не используется информация о построении остальных базовых решающих деревьев. Это можно использовать при распараллеливании. Можно обучать каждое решающее дерево независимо на своем ядре или на своем компьютере. При этом распараллеливание получается идеальное. Мы получаем линейное уменьшение времени обучения при линейном увеличении числа ядер. Вторая особенность состоит в том, что каждое дерево обучается на бутстрапированной выборке. При этом, как мы уже обсуждали, в бутстрапированной выборке оказывается примерно 63 % от общего числа объектов в обучающей выборке, а остальные никак не используются при обучении данного дерева. Это можно использовать, и подход, который так делает, называется out-of-bag. Итак, представьте, что у нас есть N большое решающих деревьев, при этом каждое из них было обучено на своей бутстрапированной подвыборке. Первое — на подвыборке x1, второе — на подвыборке x2, и так далее. При этом если мы возьмем конкретный объект обучающей выборки xi-тое, то то на нем не обучались примерно 37 % решающих деревьев. Это можно использовать. Если мы построим прогноз для данного объекта только по тем деревьям, которые не обучались на нем, мы получим некоторое предсказание. И оказывается, что оно очень неплохо характеризует обобщающую способность случайного леса. Нам не нужна дополнительная выборка или кросс-валидация, чтобы оценить качество леса, поскольку в обучающей выборке есть объекты, на которых обучались не все деревья. Итак, чуть более формально о том, как оценить качество случайного леса с помощью подхода out-of-bag. Ошибка в данном подходе вычисляется по вот такой формуле. Мы считаем сумму по всем объектам обучающей выборки от 1 до l и для каждого объекта рассчитываем ошибку некоторого хитрым образом вычисленного прогноза по сравнению с идеальным ответом yi-тое. Давайте чуть подробнее посмотрим, как вычисляется этот прогноз. В начале в нем стоит дробь, которая показывает, какая доля объектов в случайном лесе не обучалась на объекте xi-тое. По сути, в знаменателе стоит сумма по всем деревьям индикаторов того, что i-тый объект не входил в обучающую выборку для этого дерева. Итак, перед суммой стоит доля деревьев, которые не обучались на объекте xi-тое. Сумма у нас происходит по всем деревьям от 1 до N большого, и для каждого дерева мы прибавляем 0, если данное дерево обучалось на объекте xi-тое, и прогноз данного дерева на объекте xi-тое, если он не использовался при обучении данного дерева. В итоге прогноз вычисляется, как средний ответ по всем деревьям на данном объекте, которые не обучались на нем. Также с помощью оценки out-of-bag можно оценивать важность признаков. И на самом деле случайные леса очень хорошо позволяют отбирать самые важные признаки, но об этом мы будем говорить уже в следующем курсе нашей специализации. Итак, мы обсудили две особенности случайного леса. Первая состоит в том, что он идеально параллелится. Каждое дерево строится независимо, и поэтому его можно строить на своем ядре или на своем компьютере. Также при обучении каждого отдельного дерева в случайном лесе используется не вся обучающая выборка, а лишь некоторое ее подмножество, а те объекты, которые не использовались при обучении, можно использовать для оценивания качества случайного леса. Этот подход называется out-of-bag, и он позволяет избежать использования дополнительной отложенной выборки или кросс-валидации. И при этом можно показать, что out-of-bag оценка очень неплохо приближает оценку, вычисленную по кросс-валидации. На этом урок про случайные леса окончен. На следующем уроке мы поговорим о другом подходе к построению композиций — о градиентном бустинге.