Компонент регрессии леса принятия решений

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

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

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

Принцип работы

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

Деревья принятия решений имеют следующие преимущества:

  • Они эффективны с точки зрения вычисления и использования памяти во время обучения и прогнозирования.

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

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

Эта модель регрессии состоит из совокупности деревьев принятия решений. Каждое дерево в регрессионном лесу решений выводит распределение по Гауссу в виде прогноза. По совокупностям деревьев выполняется агрегирование с целью найти распределение по Гауссу, ближайшее к объединенному распределению для всех деревьев модели.

Дополнительные сведения о теоретической платформе для этого алгоритма и его реализации см. в статье Леса принятия решений: единая платформа для классификации, регрессии, оценки плотности, обучения на основе многообразий и полуконтролируемого обучения.

Настройка регрессионной модели леса принятия решений

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

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

    • Бэггинг: также называется агрегированием начальной загрузки. Каждое дерево в регрессионном лесу решений выводит распределение по Гауссу путем прогноза. Агрегирование заключается в поиске распределения по Гауссу, первые два момента которого совпадают с моментами сочетания распределений по Гауссу, получаемыми путем объединения всех распределений, возвращенных отдельными деревьями.

      Дополнительные сведения см. в записи Википедии о бутстрэп-агрегировании.

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

      Дополнительные сведения о процессе обучения в режиме репликации см. в издании Decision Forests for Computer Vision and Medical Image Analysis (Леса принятия решений для компьютерного зрения и анализа медицинских изображений), Criminisi и J. Shotton. Springer 2013.

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

    • Single Parameter (Одиночный параметр)

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

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

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

    Совет

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

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

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

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

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

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

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

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

    Примечание

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

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

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

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

Результаты

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

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

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

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