Компонент "Регрессия нейронной сети"

Создает модели регрессии с помощью алгоритма нейронной сети

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

Обзор компонентов

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

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

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

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

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

Настройка регрессии нейронной сети

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

  • Создание модели нейронной сети с использованием архитектуры по умолчанию

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

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

  • Определение пользовательской архитектуры для нейронной сети

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

    Этот способ подходит для тех, кто уже в какой-то мере знаком с нейронными сетями. Для определения архитектуры сети используется язык Net#.

Создание модели нейронной сети с использованием архитектуры по умолчанию

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

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

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

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

  3. В разделе Hidden layer specification (Спецификация скрытого слоя) выберите Fully connected case (Полное подключение). Будет создана модель с использованием архитектуры нейронной сети по умолчанию, которая для модели регрессии нейронной сети имеет следующие атрибуты:

    • Сеть имеет ровно один скрытый слой.
    • Выходной слой полностью связан со скрытым слоем, который, в свою очередь, полностью связан с входным слоем.
    • Количество узлов в скрытом слое может быть задано пользователем (значение по умолчанию — 100).

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

  4. Задайте значение для параметра Number of hidden nodes (Число скрытых узлов). По умолчанию используется один скрытый слой со 100 узлами. (Этот параметр недоступен, если вы определяете пользовательскую архитектуру с помощью Net#.)

  5. для параметра Learning rate (Скорость обучения) введите значение, которое определяет шаг, выполненный на каждой итерации, до осуществления коррекции. Более высокое значение скорости обучения может ускорить сходимость модели, однако возможны промахи на локальных минимумах.

  6. Для параметра Number of learning iterations (Число итераций обучения) укажите максимальное число обработок обучающих вариантов по алгоритму.

  7. Для параметра The momentum (Импульс) введите значение, которое будет применяться во время обучения в качестве веса для узлов из предыдущих итераций.

  8. Выберите параметр Shuffle examples (Перемешать примеры), чтобы изменить порядок вариантов между итерациями. Если этот параметр не выбран, варианты будут обрабатываться в одном и том же порядке при каждом запуске конвейера.

  9. В параметре Random number seed (Случайное начальное значение) можно ввести необязательное значение, которое будет использоваться в качестве начального. Указывать начальное значение полезно, когда необходимо проверить повторяемость несколькими запусками одного и того же конвейера.

  10. Подключите набор данных для обучения и выполните обучение модели:

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

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

    Примечание

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

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

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

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

Результаты

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

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

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

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