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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

    • Parameter Range (Диапазон параметров). Используйте этот вариант, если вы не знаете наилучшие параметры и хотите выполнить перебор параметров. Выберите диапазон значений для итерации и в процессе Tune Model Hyperparameters (Настройка гиперпараметров модели) выполните итерацию по всем возможным сочетаниям указанных параметров, чтобы определить гиперпараметры, которые приводят к оптимальным результатам.

  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. Обучение модели:

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

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

    Примечание

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

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

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

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

Результаты

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

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

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

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

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