Упрощенная линейная регрессия - обычный метод наименьших квадратов против градиентного спуска

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

Почему мы называем их независимыми и зависимыми переменными?

Если вы возьмете наш пример набора данных, столбцы «Годы опыта» будут независимыми переменными, а значения столбца «Зарплата в 1000 $» - зависимыми переменными. Наши независимые переменные независимы, потому что мы не можем математически определить годы опыта. Но мы можем определять / прогнозировать значения столбца зарплаты (зависимые переменные) на основе многолетнего опыта. Если вы посмотрите на данные, значения зависимых столбцов (Заработная плата в 1000 $) увеличиваются / уменьшаются в зависимости от многолетнего опыта.

Сумма ошибок в квадрате (SSE)

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

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

Сумма квадратов ошибок на выходе SSE составляет 5226,19. Чтобы добиться наилучшего соответствия пересечения линии, нам необходимо применить модель линейной регрессии, чтобы уменьшить значение SSE до минимума. Чтобы определить точку пересечения наклона, мы используем уравнение

y = mx + b,

  • ‘M’ - наклон
  • ‘X’ → независимые переменные
  • ‘B’ - перехват

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

Метод наименьших квадратов (МНК)

Чтобы использовать метод OLS, мы применяем приведенную ниже формулу, чтобы найти уравнение

Нам нужно вычислить наклон «m» и точку пересечения линии «b». Ниже представлена ​​более простая таблица для расчета этих значений.

m = 1037,8 / 216,19
m = 4,80
b = 45,44 - 4,80 * 7,56 = 9,15
Следовательно, y = m x + b → 4,80x + 9,15
y = 4,80x + 9,15

Давайте сравним результат нашего метода OLS с результатами MS-Excel. Да, мы можем протестировать наилучшее соответствие нашей линейной регрессии в Microsoft Excel.

Чудесно! Наш метод OLS почти такой же, как вывод «y» в MS-Excel.

  • Результат нашего метода OLS → y = 4,80x + 9,15
  • MS-Excel Линейный Рег. Выход → y = 4,79x + 9,18

Давайте снова вычислим SSE, используя наше выходное уравнение.

Теперь сумма квадратичной ошибки значительно уменьшилась с 5226,19 до 245,38.

Обычный метод наименьших квадратов выглядит простым, а вычисления - легкими. Но этот метод OLS будет работать как для одномерного набора данных, который представляет собой отдельные независимые переменные, так и для отдельных зависимых переменных, и для многомерного набора данных. Многовариантный набор данных содержит один набор независимых переменных и несколько наборов зависимых переменных, что требует от нас использования алгоритма машинного обучения под названием «Градиентный спуск».

Алгоритм градиентного спуска

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

Представим гипотезу h, которая является функцией или алгоритмом обучения.

Цель аналогична описанной выше операции, которую мы сделали, чтобы найти наилучшее соответствие линии пересечения «y» на склоне «m». Используя также алгоритм градиентного спуска, мы определим функцию минимальной стоимости, применяя различные параметры для тета 0 и тета 1, и будем смотреть на пересечение наклона, пока оно не достигнет сходимости.

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

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

Мы можем измерить точность нашей функции гипотезы, используя функцию стоимости, и формула

Градиентный спуск для линейной регрессии

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

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

  • где альфа (а) - скорость обучения / насколько велик шаг для спуска.

Типы алгоритмов градиентного спуска

Есть три типа алгоритмов градиентного спуска:

1. Пакетный градиентный спуск
2. Стохастический градиентный спуск
3. Мини-пакетный градиентный спуск

Пакетный градиентный спуск

  • В пакетном градиентном спуске, чтобы вычислить градиент функции стоимости, нам нужно просуммировать все обучающие примеры для каждого шага.
  • Если у нас есть 3 миллиона выборок (m обучающих примеров), тогда алгоритм градиентного спуска должен суммировать 3 миллиона выборок для каждой эпохи. Чтобы переместиться на один шаг, мы должны вычислить каждый по 3 миллиона раз!
  • Пакетный градиентный спуск не подходит для больших наборов данных
  • Ниже представлена ​​реализация кода Python для алгоритма пакетного градиентного спуска.

Стохастический градиентный спуск (SGD)

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

Мини-пакетный градиентный спуск

  • Он похож на SGD, он использует n выборок вместо 1 на каждой итерации.

Резюме:

В кратком изложении подробно описаны следующие темы.

  • Независимые и зависимые переменные линейной регрессии
  • Подробные сведения о методе обыкновенных наименьших квадратов (OLS) и сумме квадратов ошибок (SSE)
  • Градиентный спуск для модели линейной регрессии и типы алгоритмов градиентного спуска.

Ссылка: