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


Компонент регрессии повышающегося дерева принятия решений

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

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

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

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

Примечание.

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

Определив модель, обучите ее с помощью модуля Обучение модели.

Дополнительные сведения о повышающихся деревьях регрессии

Повышение — это один из нескольких классических методов создания моделей ансамбля, а также мешка, случайных лесов и т. д. В службе "Машинное обучение Azure" для повышающихся деревьев решений используется эффективная реализация алгоритма градиентного усиления MART. Градиентный бустинг — это метод машинного обучения для проблем регрессии. Он создает каждое дерево регрессии в пошаговой форме, используя предопределенную функцию потери, чтобы измерить ошибку на каждом шаге и исправить ее в следующем. Таким образом, модель прогнозирования на самом деле является ансамблем более слабых моделей прогнозирования.

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

Дополнительные сведения см. в следующих статьях:

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

Как настроить регрессию повышающегося дерева принятия решений

  1. Добавьте в конвейер компонент Увеличивающееся дерево принятия решений. Вы можете найти этот компонент в разделе Машинное обучение, Инициализация в категории Регрессия.

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

    • Single Parameter (Одиночный параметр). Выберите этот вариант, если вы знаете, как хотите настроить модель, и предоставьте определенный ряд значений в качестве аргументов.

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

  3. Maximum number of leaves per tree (Максимальное количество листьев каждого дерева). Укажите максимальное количество терминальных узлов (листьев), которые могут быть созданы в любом дереве.

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

  4. Minimum number of samples per leaf node (Минимальное число выборок для конечного узла). Укажите минимальное число вариантов, необходимых для создания любого терминального узла (листа) в дереве.

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

  9. Отправьте конвейер.

Результаты

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

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

  • Чтобы сохранить моментальный снимок обученной модели, выберите вкладку Выходные данные на правой панели области Обученная модель и щелкните значок Register dataset (Зарегистрировать набор данных). Копия обученной модели будет сохранена в виде компонента в дереве компонентов и не будет обновляться при последующих успешных прогонах конвейера.

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

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