Ответ 1
Я попытаюсь объяснить:
Предположим, что наш набор данных обучения представлен T и, если набор данных имеет M признаков (или атрибутов или переменных).
T = {(X1,y1), (X2,y2), ... (Xn, yn)}
и
Xi is input vector {xi1, xi2, ... xiM}
yi is the label (or output or class).
резюме РФ:
Алгоритм Random Forests - это классификатор, основанный главным образом на двух методах -
- пакетированного
- Случайный метод подпространства.
Предположим, что мы решили иметь S
количество деревьев в нашем лесу, тогда мы сначала создаем S
наборы данных "same size as original"
, созданные из случайной передискретизации данных в T с заменой (n раз для каждого набора данных). Это приведет к набору данных {T1, T2, ... TS}
. Каждый из них называется загрузочным набором данных. Из-за "с заменой" каждый набор данных Ti
может иметь повторяющиеся записи данных, а Ti может отсутствовать несколько записей данных из исходных наборов данных. Это называется Bootstrapping
. (ru.wikipedia.org/wiki/Bootstrapping_(statistics))
Замазка - это процесс взятия бутстрапов, а затем агрегация моделей, изученных на каждом бутстрапе.
Теперь RF создает деревья S
и использует m (=sqrt(M) or =floor(lnM+1))
случайные подфункции из M
возможных функций для создания любого дерева. Это называется методом случайного подпространства.
Итак, для каждого набора данных Ti
bootstrap вы создаете дерево Ki
. Если вы хотите классифицировать некоторые входные данные D = {x1, x2, ..., xM}
, вы можете пройти через каждое дерево и вывести выходные данные S
(по одному для каждого дерева), которые можно обозначить как Y = {y1, y2, ..., ys}
. Окончательное предсказание является большинством голосов по этому набору.
Ошибка вне сумм:
После создания классификаторов (S
trees) для каждого (Xi,yi)
в исходном наборе обучения, т.е. T
, выберите все Tk
, которое не включает (Xi,yi)
. Это подмножество, обратите внимание, представляет собой набор наборов данных boostrap, который не содержит конкретной записи из исходного набора данных. Этот набор называется примерами вне сумки. Существуют n
такие подмножества (по одному для каждой записи данных в исходном наборе данных T). OOB-классификатор - это совокупность голосов ТОЛЬКО на Tk
, так что она не содержит (Xi,yi)
.
Оценка погрешности для ошибки обобщения - это частота ошибок классификатора вне пакета в обучающем наборе (сравните его с известными yi
).
Почему это важно? Изучение оценок погрешности для мешковатых классификаторов в Бреймане [1996b] дает эмпирические данные, показывающие, что оценка вне мешка такая же точность, как и тестовый набор того же размера, что и набор тренировок. Поэтому использование оценки ошибок вне сумм устраняет необходимость в наборе тестовых наборов.
(Спасибо @Рудольф за исправления. Его комментарии ниже.)