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

Прежде чем мы углубимся в рабочий процесс линейной регрессии, давайте опишем ключевые компоненты или функции этой модели и ее выводы, которые перечислены ниже:

  • Среднеквадратическая ошибка
  • Прогноз
  • Градиентный спуск

СРЕДНЕКВАДРАТИЧЕСКАЯ ОШИБКА (MSE)

Здесь мы собираемся сделать выводы для MSE, которые будут использоваться в этой модели в качестве показателя для измерения общей средней ошибки модели. Итак, давайте посмотрим на иллюстрацию ниже:

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

Из приведенного выше рисунка можно сделать вывод, что ошибка определяется разницей между ответом yi и прогнозом y_hat, и это можно выразить следующим образом:

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

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

Приведенная выше формула представляет собой саму MSE, но ее также можно выразить в матричной форме, показанной в выводах ниже:

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

ПРОГНОЗ

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

Здесь n представляет собой общее количество регистров в нашем наборе данных, а D — общий размер функций набора данных, также называемый размером размерности. Как видите, наши параметры будут вектором с размером размерности нашего набора данных, и мы знаем, что наш набор данных обычно будет матрицей, поэтому это выражение можно упростить следующим образом:

Оба выражения на приведенной выше иллюстрации совершенно одинаковы.

ГРАДИЕНТНЫЙ СПУСК

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

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

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

Теперь, когда у нас есть градиент, давайте посмотрим на градиентный спуск, выраженный ниже:

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

ПРЯМОЙ МЕТОД

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

РЕАЛИЗАЦИЯ ЛИНЕЙНОЙ РЕГРЕССИИ

Теперь, когда мы знаем ключевые методы линейной регрессии, давайте объясним ее рабочий процесс с помощью иллюстрации ниже:

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

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

РЕКОМЕНДАЦИИ

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

Надеюсь, это было полезно для вас.