Поделиться через


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Если для параметра Create trainer mode выбран вариант Parameter Range, подключите набор помеченных данных и обучите модель с помощью модуля Настройка гиперпараметров модели.

    Примечание.

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

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

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

Результаты

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

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

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

Следующие шаги

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