Реализуйте градиентный спуск с моделью линейной регрессии

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

Прогнозирование зарплаты на основе опыта работы

Изображение от Flo

Введение

В этой статье рассматривается, как построить простую линейную модель регрессии с помощью градиентного спуска менее чем за 5 минут. Цель состоит в прогнозировании зависимой переменной (y) на основе независимой переменной (X).

Мы хотим прогнозировать зарплаты на основе опыта работы. Для этого мы объясним несколько понятий (градиентный спуск, линейная модель) и напишем 4 функции:

  • Функция прогнозирования: для прогнозирования зарплаты на основе опыта работы. (Мы нашли лучшие коэффициенты, B0 и B1, благодаря градиентному спуску).
  • Функция стоимости: она позволяет визуализировать ошибки стоимости на каждой итерации. Она использует среднеквадратичную ошибку (разницу между прогнозом и реальными значениями).
  • Градиентный спуск: нахождение лучших коэффициентов B0 и B1.
  • Печать графика: используется для отображения точечных графиков значений, предсказанных моделью, и реальных значений с помощью matplotlib.

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

Понимание понятий

Линейная модель

В машинном обучении линейная модель является моделью регрессии, ищущей связь между независимой переменной (X) и зависимой переменной.

В этой статье мы углубляемся в простую линейную регрессию (с только одной независимой переменной). Формула для простой линейной регрессии выглядит следующим образом:

y = B0 + B1x

y – это переменная, которую мы хотим прогнозировать,x – независимая переменная (входная переменная),B0 – это терм, представляющий y при x = 0,B1 – это коэффициент (вес), связанный с x.

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

Предположим, что ваша модель определила, что лучшие параметры равны B0 = 10 и B1 = 12. Если вы хотите сделать прогноз для y