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

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Создает модель регрессии с помощью алгоритма повышенного дерева принятия решений.

категория: Машинное обучение/инициализация модели или регрессии

Примечание

применимо к: только Машинное обучение Studio (классическая модель)

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

Обзор модуля

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

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

Примечание

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

Определив модель, обучить ее с помощью модулей « обучение модели » или « Настройка модели ».

Совет

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

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

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

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

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

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

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

  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. Добавьте набор данных для обучения и один из обучающих модулей:

    • Если для параметра создать режим в режиме преподавателя задано значение Single, используйте модуль обучение модели .

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

    Примечание

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

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

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

  10. Запустите эксперимент.

Результаты

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

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

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

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

  • Чтобы сохранить моментальный снимок обученной модели, щелкните правой кнопкой мыши выходные данные обученной модели модуля "обучение" и выберите Сохранить как. Копия обученной модели, которую вы сохраняете, не обновляется при последующих запусках эксперимента.

Примеры

Примеры использования повышенных деревьев в машинном обучении см. в Коллекция решений ии Azure:

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

  • Анализ тональности в Twitter: использует регрессию для создания прогнозируемой оценки.

Технические примечания

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

Совет

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

Сведения о реализации

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

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

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

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

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Максимальное количество листьев каждого дерева >= 1 Целое число 20 Укажите максимальное число листьев каждого дерева
Минимальное число выборок для конечного узла >= 1 Целое число 10 Указать минимальное количество вариантов, необходимых для формирования листового узла
Скорость обучения [double.Epsilon;1,0] Float 0,2 Укажите начальную скорость обучения
Общее число созданных деревьев >= 1 Целое число 100 Укажите максимальное число деревьев, которое можно создать во время обучения
Начальное значение случайного числа any Целое число Укажите начальное значение для генератора случайных чисел, используемого моделью. Оставьте пустым, чтобы использовать значение по умолчанию.
Разрешить неизвестные категориальные уровни any Логическое Да Если значение — true, создайте дополнительный уровень для каждого столбца категорий. Этот дополнительный уровень сопоставляется уровням проверочного набора данных, недоступным в учебном наборе данных.

Выходные данные

Имя Тип Описание
Необученная модель Интерфейс ILearner Необученная модель регрессии

См. также раздел

Список модулей в алфавитном порядке
Регрессия