Компонент двухклассового увеличивающегося дерева принятия решений

В этой статье описывается компонент в конструкторе Машинного обучения Azure.

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

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

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

Этот компонент основан на алгоритме LightGBM.

Порядок настройки

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

Модель этого типа можно обучить с помощью функции Обучение модели.

  1. В службе Машинного обучения Azure добавьте в конвейер компонент Boosted Decision Tree (Двухклассовое увеличивающееся дерево принятия решений).

  2. Укажите, как вы хотите обучать модель, выбрав значение Создать режим учителя.

    • Одиночный параметр: если вы знаете, как хотите настроить модель, можете предоставить определенный ряд значений в качестве аргументов.

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

  3. Максимальное количество листьев каждого дерева: указывает максимальное количество терминальных (листовых) узлов, которые могут быть созданы в любом дереве.

    Увеличив это значение, вы потенциально увеличите размер дерева и повысите точность, но это может привести к возникновению лжевзаимосвязей и более длительному времени обучения.

  4. Минимальное число выборок для конечного узла: укажите минимальное число вариантов, необходимых для создания любого терминального (листового) узла в дереве.

    Увеличив это значение, вы увеличиваете пороговое значение для создания новых правил. Например, при использовании значения по умолчанию 1, даже один случай может привести к созданию нового правила. Если увеличить его до 5, для создания правила обучающие данные должны будут содержать не менее пяти вариантов.

  5. Скорость обучения: введите число от 0 до 1, определяющее размер шага во время обучения.

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

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

    Если задать значение 1, создается только одно дерево (дерево с начальным набором параметров), и дальнейшие итерации не выполняются.

  7. В параметре Random number seed (Случайное начальное значение) введите неотрицательное целое значение, которое будет использоваться в качестве случайного начального значения. Указав начальное значение, вы обеспечите повторяемость между запусками, при которых используются одинаковые данные и параметры.

    В противном случае этому значению по умолчанию присваивается 0, а это означает, что начальное значение случайной последовательности определяется системным временем. Последовательные запуски с использованием случайного начального значения могут возвращать разные результаты.

  8. Обучение модели

    • Если для параметра Создать режим учителя задано значение Одиночный параметр, подключите помеченный набор данных и компонент Обучение модели.

    • Если для параметра Создать режим учителя выбран вариант Диапазон параметров, подключите набор помеченных данных и обучите модель с помощью модуля Настройка гиперпараметров модели.

    Примечание

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

    Если передать в компонент Настройка гиперпараметров модели один набор значений параметров, когда он ожидает диапазон для каждого параметра, он пропускает эти значения и использует значения по умолчанию для обучаемого объекта.

    Если выбран вариант Диапазон параметров и указано одно значение для любого параметра, это единственное заданное значение будет использоваться во время подбора параметров, даже если другие параметры меняются в диапазоне значений.

Результаты

После завершения обучения:

  • Чтобы сохранить моментальный снимок обученной модели, выберите вкладку Выходные данные на правой панели компонента Обучение модели. Щелкните значок Зарегистрировать набор данных, чтобы сохранить модель как компонент для повторного использования.

  • Чтобы использовать модель для оценки, добавьте компонент Модель оценки в конвейер.

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.