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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Один параметр

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

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

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

    Совет

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

Результаты

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

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

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

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