Количество переменных для каждого разбиения значительно уменьшилось после увеличения количества деревьев. - DataScientist
Купить гитару в Москве
0 голосов
/

Для моего набора данных я выполнял случайную лесную регрессию с сеточным поиском по количеству деревьев и числу переменных, доступных для расщепления (mtry). Оптимальная модель, согласно Rsquared, была 300 деревьев с 10 mtry. Однако, если я увеличу количество деревьев до 1500, Rsquare снизится на 0,001, но mtry равно 1. Почему это так?

1 Ответ

1 голос
/

Учитывая некоторые гиперпараметры, случайный лес - это случайная модель, которая имеет общую случайную производительность. Мы можем разделить нашу неопределенность в отношении этих показателей на две составляющие: смещение и дисперсия. Вот как это работает: каждое дерево имеет большой уклон и небольшое, неизбежное количество отклонений;складывая много деревьев вместе, вы избавляетесь от смещения, потому что само смещение является переменным, и усредняя его среди деревьев, вы отменяете его. нужно больше маленьких ансамблей, но в любом случае добавление большего количества деревьев никогда не ухудшит ожидаемых результатов (поскольку модель случайна, на практике производительность может ухудшиться, но ее ожидаемое значение не будет, это только из-за случайных колебаний),Вы выбираете какое-то конечное количество деревьев, потому что больше из них просто больше не помогают.

Итак, перейдем к вашему случаю:

  • При более низком mtry ваши деревьяболее предвзятым, поэтому имеет смысл, что лесу нужно больше деревьев для получения хороших результатов.
  • Если ваши леса с mtry = 10 работают лучше с меньшим количеством деревьев, это только из-за случая. Вы могли бы вырастить один счастливый лес, или, может быть, это только потому, что оценка R в квадрате сама по себе является переменной. На самом деле, чем больше деревьев у вас есть, тем больше они надежны.
  • Что касается того, что я написал до сих пор, лучшая модель выглядит как модель с множеством деревьев и mtry = 1.
  • Из-за всех этих источников изменчивости вы просто не можете быть уверены в том, как ваша модель будет действительно обобщать, поэтому эти крошечные различия в измеренной производительности на самом деле не так уж важны.

На данный момент вашНа этот вопрос следует ответить полностью, кроме, возможно, некоторого любопытства, которое у вас все еще может возникнуть по поводу того, почему низкое значение mtry может быть полезным для алгоритма. Это более сложная часть вопроса, потому что никто не знает все о том, почему эти алгоритмы работают, как они работают, поэтому лучшее, что мы можем сделать, - это выдвинуть некоторую гипотезу.

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

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

...