Настройка гиперпараметров модели
В этой статье описывается, как использовать компонент настройки гиперпараметров модели в конструкторе машинного обучения Azure. Цель состоит в том, чтобы определить оптимальные гиперпараметры для модели машинного обучения. Модуль создает и тестирует несколько компонентов, используя различные сочетания параметров. Он сравнивает метрики по всем моделям, чтобы получить сочетания параметров.
Термины Параметр и Гиперпараметр могут внести путаницу. Параметры модели — это то, что задается в правой панели компонента. Фактически, этот компонент выполняет подбор значений параметра по заданным значениям для него. Он обучается оптимальному набору гиперпараметров, которые могут различаться для каждого конкретного дерева принятия решений, набора данных или метода регрессии. Процесс поиска оптимальной конфигурации иногда называется настройкой.
Компонент поддерживает следующий метод для поиска оптимальных параметров модели: встроенные обучение и настройка. При использовании этого метода вы настраиваете набор параметров для использования. Затем вы позволяете компоненту выполнять итерацию по нескольким сочетаниям. Компонент продолжает измерять точность до тех пор, пока не найдет "наилучшую" модель. При работе с большинством компонентов для обучения можно выбирать среди параметров, которые следует изменять в ходе процесса обучения, и параметров, которые должны оставаться неизменными.
В зависимости от того, как долго должен выполняться процесс настройки, может быть принято решение полностью протестировать все сочетания. Можно также сократить процесс, установив сетку комбинаций параметров и проверив случайное подмножество сетки параметров.
Этот метод создает обученную модель, которую можно сохранить для повторного использования.
Совет
Можно выполнить связанную задачу. Прежде чем начать настройку, примените выбор компонентов, чтобы определить столбцы или переменные с наибольшим значимостью сведений.
Настройка гиперпараметров настройки модели
Обучение оптимальным параметрам модели машинного обучения требует значительного использования конвейеров.
Обучение модели с помощью подбора значений параметров
В этом разделе описывается выполнение базового подбора значений параметров, что позволяет обучать модель с помощью компонента настройки гиперпараметров модели.
Добавьте компонент настройки гиперпараметров модели в конвейер конструктора.
Подключите необученную модель к крайним левым входным данным.
Примечание.
Настройка гиперпараметров модели может подключаться только ко встроенным компонентам алгоритма машинного обучения и не может поддерживать настраиваемую модель, встроенную в Создание модели Python.
Добавьте набор данных, который необходимо использовать для обучения, и соедините его со средним входом настройки гиперпарметров модели.
При необходимости, если имеется набор данных с тегами, его можно подключить к крайнему правому порту ввода (необязательный проверочный набор данных). Это позволяет измерять точность во время обучения и настройки.
В правой панели настройки гиперпараметров модели выберите значение для Режима подбора значений параметров. Этот параметр определяет способ выбора параметров.
Вся сетка: При выборе этого параметра компонент выполняет циклическую выборку по сетке, предопределенной системой, чтобы опробовать различные сочетания и определить наилучший обучающий вариант. Этот параметр используется, когда неизвестно, какие настройки параметров подходят лучше всего, и требуется попробовать все возможные сочетания значений.
Случайный подбор значений: При выборе этого параметра компонент будет случайным образом подбирать значения параметров в диапазоне, заданном системой. Необходимо указать максимальное количество запусков, которое должен выполнить компонент. Этот параметр используется, если необходимо повысить производительность модели, используя выбранные метрики, при этом, экономя вычислительные ресурсы.
Для выбора Столбца с меткой откройте выбор столбцов, чтобы выбрать один столбец с меткой.
Выберите количество запусков:
- Максимальное количество запусков при случайном подборе значений. Если выбран случайный подбор значений, можно указать, сколько раз должно выполняться обучение модели с помощью случайного сочетания значений параметров.
Для Ранжированиявыберите одну метрику, которая будет использоваться для ранжирования моделей.
При выполнении подбора значений параметров компонент вычисляет все подходящие метрики для данного типа модели и возвращает их в отчете о Результатах подбора значений. Компонент использует отдельные метрики для регрессионных и классификационных моделей.
При этом выбранная метрика определяет, как будут ранжироваться модели. Только самая приоритетная модель по результатам ранжирования на основе выбранной метрики, выводится в качестве обученной модели для использования с целью оценки.
Для случайного начального значения введите целое число в качестве состояния генератора псевдослучайных чисел, используемого для случайного выбора значений параметров в предварительно определенном диапазоне. Этот параметр эффективен, только если режим очистки параметров является случайным.
Отправьте конвейер.
Результаты настройки гиперпараметров
После завершения обучения.
Чтобы просмотреть результаты подбора значений параметров, можно либо щелкнуть правой кнопкой мыши на компонент, затем выбрать Визуализировать, либо щелкнуть правой кнопкой мыши на левый выходной порт компонента для визуализации.
Результаты подбора значений включают все метрики подбора значений параметров и точности, применяемые к типу модели, а метрика, выбранная для ранжирования, определяет, какая из моделей считается "наилучшей".
Чтобы сохранить моментальный снимок обученной модели, выберите вкладку Выходные данные+журналы в правой панели компонента Обучение модели. Щелкните значок Зарегистрировать набор данных, чтобы сохранить модель как компонент для повторного использования.
Технические примечания
В этом разделе содержатся советы и сведения о реализации.
Как выполняется подбор значений параметров
При настройке подбора значений параметров необходимо задать область их поиска. При поиске может использоваться конечное количество параметров, выбираемых случайным образом. Или это может быть исчерпывающим поиском по определенной области параметров.
Случайный подбор значений. Этот параметр обучает модель при использовании заданного количества итераций.
Вы задаете диапазон значений для итерации, а компонент использует случайно выбранное подмножество этих значений. Значения выбираются с заменой, это означает, что числа, ранее выбранные случайным образом, не удаляются из пула доступных номеров. Так что вероятность выбора любого значения остается одинаковой при всех проходах.
Вся сетка. Параметр, при котором используется вся сетка означает, что проверяется каждое из сочетаний. Этот параметр является наиболее тщательным вариантом, но он требует больше всего времени.
Управление длиной и сложностью обучения
Итерация множества сочетаний параметров может занимать много времени, поэтому для компонента предусмотрено несколько способов ограничения процесса:
- Ограничьте количество итераций, используемых при тестировании модели.
- Ограничьте пространство параметров.
- Ограничьте количество итераций и пространство параметров.
Рекомендуется использовать конвейер с параметрами, чтобы определить наиболее эффективный метод обучения на определенной модели и наборе данных.
Выбор метрики оценки
По завершении тестирования модель формирует отчет, который содержит степень правильности для каждой модели, чтобы можно было просматривать результаты метрик:
- Для всех моделей двоичной классификации используется единообразный набор метрик.
- Степень правильности используется для всех моделей многоклассовой классификации.
- Для регрессионных моделей используется другой набор метрик.
Тем не менее, во время обучения необходимо выбрать одну метрику для использования при ранжировании моделей, созданных в процессе настройки. В зависимости от бизнес-задачи и стоимости ложноположительных и ложноотрицательных результатов может оказаться, что наилучшая метрика будет отличаться.
Метрики, используемые для двоичной классификации
Правильность — это отношение количества истинных результатов к общему количеству случаев.
Точность — это отношение количества истинных результатов к количеству положительных результатов.
Полнота — это доля всех правильных результатов от общего количества результатов.
F-Score — это мера, которая соотносит точность с полнотой.
AUC — это значение, представляющее площадь фигуры под кривой, при построении которой ложноположительные результаты отсчитываются на графике по оси X, а истинно положительные результаты отсчитываются по оси Y.
Среднелогарифмическая потеря — это разница между двумя распределениями вероятностей: истинным распределением и тем, которое встретилось в модели.
Метрики, используемые для регрессии
Средняя абсолютная погрешность усредняет все погрешности в модели, где погрешность — означает отдаленность прогнозируемого значения от истинного значения. Этот параметр часто сокращается как MAE.
Среднеквадратичная погрешность равна среднему арифметическому квадратов погрешностей с последующим извлечением корня из этого значения. Этот параметр часто сокращается как RMSE.
Относительная абсолютная погрешность представляет собой погрешность в процентах от истинного значения.
Относительная квадратичная погрешность нормализует суммарную квадратичную погрешность путем деления на суммарную квадратичную погрешность прогнозируемых значений.
Коэффициент детерминации — это одно число, указывающее, насколько точно данные совпадают с моделью. Значение 1 означает, что модель в точности совпадает с данными. Нулевое значение означает, что данные являются случайными или по иной причине не могут совпадать с моделью. Часто это называется r2, R2или r в квадрате.
Компоненты, не поддерживающие подбор значений параметров
Почти все средства обучения в Машинном обучении Azure поддерживают перекрестную проверку с помощью встроенной возможности подбора значений параметров, что позволяет выбирать параметры, передаваемые с помощью конвейера. Если средство обучения и не поддерживает задание диапазона значений, его все равно можно использовать для перекрестной проверки. В этом случае для подбора значений выбирается их допустимый диапазон.
Следующие шаги
Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.