Линейная регрессия

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

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

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

Примечание

применимо к: только Машинное обучение Studio (классическая модель)

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

Обзор модуля

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

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

Дополнительные сведения о линейной регрессии

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

в дополнение к линейной регрессии в Машинное обучение Studio (классическая модель) поддерживаются разнообразные модели регрессии. Однако термин «регрессия» может интерпретироваться слабо, а некоторые типы регрессии, предоставленные в других средствах, не поддерживаются в студии (классическая модель).

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

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

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

  • Задача прогнозирования нескольких зависимых переменных в рамках одной модели называется многометочной регрессией. Например, в многометочной логистической регрессии пример можно назначить нескольким разным меткам. (Эта задача отличается от задачи прогнозирования нескольких уровней в пределах одной переменной класса.)

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

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

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

  • Обычный метод наименьших квадратов является одним из самых распространенных методов линейной регрессии. Например, метод наименьших квадратов используется в пакете анализа для Microsoft Excel.

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

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

Этот модуль поддерживает два метода для подбора модели регрессии с различными параметрами:

Создание модели регрессии с использованием обычных наименьших квадратов

  1. Добавьте модуль линейной регрессии в эксперимент в студии (классическая модель).

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

  2. В области Свойства в раскрывающемся списке Метод решения выберите пункт Обычные наименьшие квадраты. Этот параметр задает метод вычисления, используемый для поиска линии регрессии.

  3. В поле Вес регуляризации L2 введите значение, которое будет использоваться в качестве веса регуляризации L2. Рекомендуется использовать ненулевое значение, чтобы избежать лжевзаимосвязи.

    Дополнительные сведения о влиянии регуляризации на подгонку моделей см. в статье об использовании регуляризации L1 и L2 для Машинного обучения.

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

    Снимите этот флажок, если проверять формулу регрессии не нужно.

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

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

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

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

  7. Добавьте модуль обучение модели в эксперимент и подключите набор данных с меткой.

  8. Запустите эксперимент.

Результаты для обычной модели наименьших квадратов

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

  • Чтобы просмотреть параметры модели, щелкните правой кнопкой мыши выходные данные инструктора и выберите визуализировать.

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

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

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

  1. Добавьте модуль линейной регрессии в эксперимент в студии (классическая модель).

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

  2. В области Свойства в раскрывающемся списке Метод решения выберите параметр Вероятностный градиентный спуск в качестве метода вычисления, используемого для поиска линии регрессии.

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

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

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

  4. Укажите начальную скорость обучения для оптимизатора вероятностного градиентного спуска.

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

  6. Нормализация функций: если вы уже нормализовали числовые данные, используемые для обучения модели, этот параметр можно отключить. По умолчанию модуль нормализует все числовые входные значения в диапазоне от 0 до 1.

    Примечание

    Не забывайте применять тот же метод нормализации к новым данным, используемым для оценки.

  7. В поле Вес регуляризации L2 введите значение, которое будет использоваться в качестве веса регуляризации L2. Рекомендуется использовать ненулевое значение, чтобы избежать лжевзаимосвязи.

    Дополнительные сведения о влиянии регуляризации на подгонку моделей см. в статье об использовании регуляризации L1 и L2 для Машинного обучения.

  8. Выберите параметр Средняя конечная гипотеза, чтобы усреднить конечную гипотезу.

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

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

  9. Выберите параметр Уменьшить скорость обучения, если хотите, чтобы скорость обучения уменьшалась по мере выполнения итераций.

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

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

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

  12. Добавьте набор данных с меткой и один из обучающих модулей.

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

    Чтобы алгоритм нашел лучшие параметры, обучить модель с помощью параметров настройки модели.

    Примечание

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

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

  13. Запустите эксперимент.

Результаты для вероятностного градиентного спуска

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

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

Примеры

Примеры моделей регрессии см. в разделе примеры экспериментов в Коллекция решений ии Azure:

Технические примечания

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

Советы по использованию

Множество инструментов поддерживает создание линейной регрессии — от простой до сложной. например, можно легко выполнять линейную регрессию в Excel, используя пакет поиска решения, или можно создавать код для собственного алгоритма регрессии, используя R, Python или C#.

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

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

  • В Matlab множественная линейная регрессия относится к модели с несколькими переменными ответа.

  • в Машинное обучение модели регрессии поддерживают одну переменную ответа.

  • В среде, написанной на языке R, функции, которые предоставляются для линейной регрессии, зависят от используемого пакета. Например, пакет GLM предоставит возможность создания модели логистической регрессии с несколькими независимыми переменными. как правило, Машинное обучение Studio (классическая модель) предоставляет те же функциональные возможности, что и пакет R glm .

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

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

если вы хотите использовать другие пакеты линейной регрессии, доступные для языка R, рекомендуется использовать модуль выполнить сценарий r и вызвать пакеты lm или glm , которые включены в среду выполнения Машинное обучение Studio (классическая модель).

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Функции нормализации any Логическое Да Указывает, следует ли нормализовать экземпляры
Средняя окончательная гипотеза any Логическое Да Указывает, следует ли усреднять последнюю гипотезу
Скорость обучения >= double.Epsilon Тип с плавающей запятой 0.1 Укажите начальную скорость обучения для оптимизатора вероятностного градиентного спуска
Число эпох обучения >=0 Целое число 10 Укажите, сколько раз алгоритм должен пройти по примерам. Для наборов данных с небольшим числом примеров это значение должно быть больше для достижения конвергенции.
Уменьшить скорость обучения Любой Логическое Да Укажите, следует ли уменьшить скорость обучения в ходе итераций
Вес "обычный" L2 >= 0,0 Тип с плавающей запятой 0,001 Укажите вес регуляризации L2. Во избежание лжевзаимосвязи используйте ненулевое значение.
Начальное значение случайного числа any Целое число Укажите начальное значение для генератора случайных чисел, используемого моделью. Оставьте пустым, чтобы использовать значение по умолчанию.
Разрешить неизвестные категориальные уровни any Логическое Да Укажите, следует ли создавать дополнительный уровень для каждого категориального столбца. Все уровни в проверочном наборе данных, недоступные в обучающем наборе данных, сопоставляются с этим дополнительным уровнем.
Включить свободный член Любой Логическое значение True Указывает, следует ли добавить дополнительные член регрессии

Выходные данные

Имя Тип Описание
Необученная модель Интерфейс ILearner Необученная модель регрессии

См. также раздел

Регрессия