Случайные леса в ансамблевом обучении

машинное обучение

Аннотация: Случайный лес — один из самых передовых представителей ансамблевых алгоритмов. Случайный лес — это апгрейд Бэггинга, основное отличие которого от Бэгинга — введение случайного выбора признаков.

Эта статья опубликована в сообществе HUAWEI CLOUD.«Случайные леса в ансамблевом обучении», оригинальный автор: chengxiaoli.

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

случайный лес

Процесс построения случайного леса: если есть N выборок, то есть N выборок, которые выбираются случайным образом (случайно выбирается одна выборка за раз, а затем возвращается для продолжения выбора). Эти выбранные N образцов используются для обучения дерева решений в качестве образцов в корневом узле дерева решений.

Когда каждая выборка имеет M атрибутов, когда необходимо разбить каждый узел дерева решений, из M атрибутов случайным образом выбираются m атрибутов, удовлетворяющих условию m

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

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

Во-первых, это два процесса случайной выборки, randomforest выполняет выборку строк и столбцов для входных данных. Для выборки строк принят метод с замещением, то есть в выборке, полученной путем выборки, могут быть повторяющиеся выборки. Если предположить, что входных отсчетов N, то выборочных отсчетов также N. Таким образом, во время обучения не все входные выборки каждого дерева являются выборками, что затрудняет переобучение. Затем выполните выборку столбца и выберите m из M признаков (m

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

входить: набор данных D={(x1,y1),(x2,y2),…,(xm,ym)};

Размер подмножества признаков K.

шаг:

1. Nß строит узел для заданного набора данных D;

2. Если все образцы относятся к категории, вернуть N;

3. Набор признаков, которые Fß может продолжать классифицировать;

4. Если F пусто, вернуть N;

5. Фисс случайным образом выбирает K признаков из F;

6. Признак с лучшей точкой сегментации в признаке N.fß Fi;

7. Лучшая точка разделения в N.pßf;

8. Подмножество образцов, у которых значение N.f меньше, чем N.p в DlßD;

9. Подмножество образцов, у которых значение N.f не меньше, чем N.p в DrßD;

10. Nlß продолжает вызывать эту программу с параметрами (Dl, K);

11. Нрсс продолжает вызывать эту программу с параметрами (Dr, K);

12. Return N.

вывод: случайное дерево решений.

Случайный лес и бэггинг

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

Рисунок а: 10 базовых учеников для бэггинга; Рисунок б: 10 базовых учеников для случайного леса; Рисунок с: Бэггинг; Рисунок г: Случайный лес.

Сравнение случайного леса и бэггинга на 40 наборах данных UCI для ошибок прогнозирования. Каждая точка представляет собой набор данных, а координаты точек представляют собой ошибки прогнозирования двух алгоритмов сравнения. Диагональная линия отмечает местоположение одной и той же ошибки предсказания двух контрастирующих алгоритмов.

Сравниваются границы решений случайных лесов, бэггинга и их базовых классификаторов. Из рисунка видно, что граница решения случайного леса и его базового ученика более гибкая, поэтому она имеет лучшую способность к обобщению. В наборе данных Gaussian случайный лес имеет тестовую ошибку 7,85%, а бэггинг — 8,3%. На приведенном выше рисунке сравниваются ошибки прогнозирования случайного леса и бэггинга для 40 наборов данных UCI. Ясно, что точность предсказания случайного леса лучше, чем результаты объединения в пакеты, независимо от того, используются ли деревья решений с обрезкой или без обрезки.

Влияние размера ансамбля на случайные леса и бэггинг на 2 набора данных UCI.

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

Суммировать:

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

[1] Чен Лэй, Глубокое обучение и практика MindSpore [M], Издательство Университета Цинхуа: 2020.

[2] Чжугэ Юэ, Хулува, Машинное обучение с сотней лиц [М], Народная почта и телекоммуникационная пресса: 2020.

[3] Чжоу Чжихуа, Машинное обучение [M], Издательство Университета Цинхуа: 2016.

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~