Компонент "Двухклассовый лес принятия решений"
В этой статье описывается компонент в конструкторе Машинного обучения Azure.
Он используется для создания модели машинного обучения на основе алгоритма леса принятия решений.
Леса принятия решений — это быстрые контролируемые коллективные модели. Этот компонент хорошо подходит для прогнозирования целевого значения с числом результатов до двух.
Основные сведения о лесах принятия решений
Этот алгоритм леса принятия решений представляет собой метод коллективного обучения, предназначенный для задач классификации. Коллективные методы основаны на общем принципе, согласно которому вместо применения одной модели лучшие результаты и более обобщенную модель можно получить путем создания нескольких связанных моделей и их объединения определенным образом. Как правило, модели ансамбля обеспечивают лучшее покрытие и точность, чем одно дерево принятия решений.
Создавать отдельные модели и объединять их можно разными способами. Данная конкретная реализация леса принятия решений работает путем создания нескольких деревьев решений и последующего голосования за наиболее популярный выходной класс. Голосование — один из наиболее известных методов получения результатов с помощью коллективной модели.
- Отдельные деревья классификации создаются на основе единого набора данных, но разными (обычно случайными) начальными точками. Это отличается от подхода на основе случайного леса, в рамках которого отдельные деревья принятия решений используют только некоторую произвольную часть данных или признаков.
- Каждое дерево в лесу принятия решений выводит гистограмму меток ненормализованной частоты.
- Процесс агрегирования обобщает эти гистограммы и нормализует результат, чтобы получить "вероятность" для каждой метки.
- Деревья с высокой достоверностью прогноза будут иметь больший вес при принятии окончательного коллективного решения.
Деревья принятия решений в целом обладают множеством преимуществ с точки зрения задач классификации:
- Они могут охватывать нелинейные границы принятия решений.
- Для обучения и прогнозирования можно применять большие объемы данных, так как они эффективно выполняют вычисления и используют память.
- Выбор признаков интегрирован в процессы обучения и классификации.
- Деревья могут работать с "шумными" данными и большим числом признаков.
- Это непараметрические модели, то есть они могут выполнять обработку данных с различными распределениями.
При этом для простых деревьев принятия решений возможно переобучение на основе данных, и они менее пригодны к обобщению, чем совокупности деревьев.
Дополнительную информацию см. в статье Леса принятия решений.
Порядок настройки
Добавьте компонент Двухклассовый лес принятия решений в конвейер в службе "Машинное обучение Azure" и откройте панель Свойства компонента.
Этот компонент можно найти в разделе Машинное обучение. Разверните узел Инициализация, а затем — Классификация.
В качестве метода повторной выборки выберите метод, используемый для создания отдельных деревьев. Доступны методы бэггинга и репликации.
Бэггинг: также называется агрегированием начальной загрузки. В рамках этого метода каждое дерево создается на основе новой выборки, получаемой случайным образом из исходного набора данных с постепенной заменой до тех пор, пока размер набора данных не достигнет исходного.
Выходные данные моделей объединяются функцией голосования, которая является разновидностью агрегирования. Каждое дерево в лесу решения классификации выводит гистограмму меток ненормализованной частоты. Агрегирование заключается в обобщении этих гистограмм и нормализации для получения "вероятности" для каждой метки. В результате деревья с высокой достоверностью прогноза будут иметь больший вес при принятии окончательного коллективного решения.
Дополнительные сведения см. в статье Википедии о бутстрэп-агрегировании.
Репликация: при репликации каждое дерево обучается на идентичных входных данных. Предикат разбиения, используемый для каждого узла дерева, определяется случайным образом, и деревья оказываются разными.
Укажите, как вы хотите обучать модель, выбрав значение Create trainer mode (Создать режим учителя).
Одиночный параметр: если вы знаете, как хотите настроить модель, можете предоставить определенный ряд значений в качестве аргументов.
Диапазон параметров: если вы не знаете наилучшие параметры, оптимальные варианты можно найти с помощью компонента Настройка гиперпараметров модели. Вы предоставляете некоторый диапазон значений, и учитель выполняет итерацию по нескольким сочетаниям параметров, чтобы определить сочетание значений, которое дает наилучший результат.
Число деревьев принятия решений: введите максимальное число деревьев, которые могут быть созданы в совокупности. Создавая больше деревьев принятия решений, вы можете потенциально получить большее покрытие, но время на обучение при этом увеличится.
Примечание.
Однако если задать значение 1, то создается только одно дерево (с начальным набором параметров) и дальнейшие итерации не выполняются.
Максимальная глубина деревьев принятия решений: введите число, ограничивающее максимальную глубину дерева принятия решений. Увеличение глубины дерева может увеличить точность, рискуя перенарядкой и увеличением времени обучения.
Минимальное число выборок для конечного узла: укажите минимальное число вариантов, необходимых для создания любого терминального узла (листа) в дереве.
Увеличив это значение, вы увеличиваете пороговое значение для создания новых правил. Например, при значении по умолчанию 1 даже один случай может привести к созданию нового правила. Если увеличить значение до 5, данные обучения должны содержать по крайней мере пять случаев, которые соответствуют тем же условиям.
Установите флажок Разрешить неизвестные значения для признаков категорий, чтобы создать группу для неизвестных значений в обучающих или проверочных наборах данных. В этом случае модель может быть менее точной для известных значений, но она обеспечивает более точные прогнозы для новых (неизвестных) значений.
Если этот параметр отключить, модель сможет принимать только значения, содержащиеся в данных для обучения.
Подключите размеченный набор данных и обучите модель:
Если для параметра Создать режим учителя задано значение Одиночный параметр, подключите отмеченный набор данных и компонент Обучение модели.
Если для параметра Create trainer mode выбран вариант Parameter Range, подключите набор помеченных данных и обучите модель с помощью модуля Настройка гиперпараметров модели.
Примечание.
При передаче диапазона параметров в модуль Обучение модели используется только значение по умолчанию в списке с одиночным параметром.
Если передать в компонент Настройка гиперпараметров модели один набор значений параметров, когда он ожидает диапазон настроек для каждого параметра, он проигнорирует эти значения и использует значения по умолчанию для средства обучения.
Если выбран вариант Parameter Range (Диапазон параметров) и указано одно значение для любого параметра, это единственное заданное значение будет использоваться во время очистки, даже если другие параметры меняются в диапазоне значений.
Результаты
После завершения обучения:
Чтобы сохранить моментальный снимок обученной модели, выберите вкладку Выходные данные на правой панели компонента Обучение модели. Щелкните значок Зарегистрировать набор данных, чтобы сохранить модель как компонент для повторного использования.
Чтобы использовать модель для оценки, добавьте компонент Модель оценки в конвейер.
Следующие шаги
Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.