Что такое ошибка мешка в случайных лесах? [закрытый]

Что из ошибки мешка в случайных лесах? Является ли это оптимальным параметром для нахождения правильного количества деревьев в случайном лесу?

2 ответов


я попытаюсь объяснить:

предположим, что наш набор данных обучения представлен T и предположим, что набор данных имеет M функций (или атрибутов или переменных).

T = {(X1,y1), (X2,y2), ... (Xn, yn)}

и

Xi is input vector {xi1, xi2, ... xiM}

yi is the label (or output or class). 

резюме РФ:

алгоритм случайных лесов-это классификатор, основанный в основном на двух методах -

  • мешков
  • метод случайных подпространств.

Предположим, мы решим иметь S количество деревьев в нашем лесу, то мы сначала создаем S наборы "same size as original" создано из случайной повторной выборки данных в T с заменой (n раз для каждого набора данных). Это приведет к {T1, T2, ... TS} наборы данных. Каждый из них называется набором данных bootstrap. Из-за "with-replacement" каждый набор данных Ti может иметь повторяющиеся записи данных, и Ti может отсутствовать несколько записей данных из исходных наборов данных. Это называется Bootstrapping. (en.wikipedia.org/wiki/Bootstrapping_(статистика))

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

теперь RF создает S деревья и использует m (=sqrt(M) or =floor(lnM+1)) случайные компоненты из M варианты для создания любого дерева. Это называется методом случайного подпространства.

для каждого Ti bootstrap dataset вы создаете дерево Ki. Если вы хотите классифицировать некоторые входные данные D = {x1, x2, ..., xM} вы дайте ему пройти через каждое дерево и произвести S выходы (по одному для каждого дерева), которые могут быть обозначены Y = {y1, y2, ..., ys}. Окончательный прогноз-большинство голосов на этом наборе.

ошибка выхода из мешка:

после создания классификаторов (S деревьев) для каждого (Xi,yi) в оригинальном наборе обучения, т. е. T, выделить все Tk, который не включает в себя (Xi,yi). Это подмножество, обратите внимание, представляет собой набор наборов данных boostrap, который не содержит конкретной записи из исходного набора данных. Этот набор называется out-of-bag образцы. Есть n такие подмножества (по одному для каждой записи данных в исходном наборе данных T). Классификатор OOB-это агрегация голосов только за Tk такой, что не содержит (xi,yi).

Out-of-bag оценка ошибки обобщения-это частота ошибок классификатора out-of-bag на обучающем наборе (сравните его с известным yi ' s).

почему это важно? Исследование оценок погрешностей для мешочных классификаторов в Breiman [1996b], дает эмпирические доказательства того, что оценка "вне мешка" столь же точна, как и использование тестового набора того же размера, что и учебный набор. Таким образом с помощью оценки ошибки из мешка устраняет необходимость в наборе отложенных тестов.

(спасибо @Rudolf за исправления. Его комментарии приводятся ниже.)


в оригинальной реализации алгоритма случайного леса Бреймана каждое дерево обучается примерно на 2/3 от общих данных обучения. По мере построения леса каждое дерево может быть протестировано (аналогично исключению перекрестной проверки) на образцах, не используемых при построении этого дерева. Это оценка ошибки out of bag - внутренняя оценка ошибки случайного леса по мере его построения.