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

Случайный лес - это группа Решений Тресс. Одна из самых популярных техник бэггинга - это случайный лес. В Random Forest Decision деревья рассматриваются как базовые модели и поверх них применяют пакетирование и выборку столбцов. Выборку столбцов мы можем назвать сборкой функций.

Случайный лес = деревья решений + выборка строк (выборка начальной загрузки) + выборка столбцов (выборка характеристик) + агрегирование (большинство голосов - классификация, среднее значение или медиана-регрессия)

Давайте рассмотрим набор данных D, который состоит из n точек данных и m функций. мы создадим K деревьев решений, используя этот набор данных D.

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

Второй шаг. После того, как мы построили модели M с использованием наборов данных M, мы выполняем агрегирование этой модели и создаем мощную модель, которую мы называем случайным лесом. Если это проблема классификации, агрегирование может быть «голосованием большинства», для задачи регрессии мы можем использовать методы «среднего или медианного».

«Здесь мы выполняем выборку строк с заменой и выборку столбцов без замены, поэтому мы не получаем проблемы коллинеарности из-за выборки столбцов»

Здесь мы используем набор данных D, который содержит n точек данных, и во время выборки есть некоторые оставшиеся данные (невидимые данные), которые не используются при построении образцов обучающих моделей, мы называем это ошибкой «OOB» (Out of bagging data points ). мы можем использовать эти точки данных для перекрестной проверки.

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

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

«Если коэффициенты выборки столбцов и строк уменьшаются, дисперсия модели будет уменьшаться, но имейте в виду, что эти коэффициенты выборки никогда не будут слишком маленькими»

У нас есть три гиперпараметра в случайном лесу 1) Лучшее количество базовых моделей 2) Коэффициент выборки строк 3) Коэффициент выборки столбцов. мы можем получить наилучшие значения этих трех параметров с помощью перекрестной проверки и поиска по сетке.

Сложность времени обучения: я полагаю, что мы создали случайную модель леса с K базовыми моделями (Decision Tress). Время тренировки для этого составляет O (n * logn * d * k). где n = количество точек данных и d = количество функций, k = количество базовых моделей. Время обучения RF меньше по сравнению с другими моделями, потому что даже если мы создали 1000 базовых моделей DT, мы можем использовать кластеры Hadoop, которые имеют 1000 блоков, и назначать каждую базовую модель каждому блоку, и все модели получают параллельный поезд, что значительно снижает время поезда.

Сложность времени выполнения: сложность времени выполнения модели случайного леса равна o (глубина * K), где глубиной считается высота дерева решений, а k - количество моделей. Как мы знаем, дерево решений - это не что иное, как комбинация, если иначе моделирует, и обычно глубина не превышает 10-20. Поскольку мы уже знаем число «K», мы получаем перекрестную проверку. поэтому сложность времени выполнения для случайного леса намного меньше, поэтому большинство интернет-компаний широко используют случайный лес. Потому что интернет-компании ориентируются на оптимальное время поиска.

Пространственная сложность: пространственная сложность деревьев решений равна O (Решение * k). Обычно решение - это не что иное, как количество прядей с разумной глубиной, которое мы можем рассматривать как условие IF..ELSE, заданное сценарием. Так что не займет много места для создания случайного леса с большим количеством деревьев решений.

Бонус !!!

Чрезвычайно рандомизированный пучок. Единственное различие между случайным лесом и экстремальным пучком состоит в том, что мы случайным образом выбираем пороговое значение для каждого объекта (действительное значение), чтобы принять решение на каждом узле, вместо того, чтобы пробовать все значения, которые мы обычно делать в деревьях решений.

Крайние деревья = Деревья решений + Выборка строк + Выборка столбцов + Агрегация + Рандомизация при выборе порогового значения.

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

Поскольку мы знаем, что ключевая идея рандомизации заключается в уменьшении дисперсии, когда когда-либо какая-либо модель перегоняется, мы используем методы рандомизации для уменьшения дисперсии.