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

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

Типы линейной регрессии

Простая линейная регрессия. В простой линейной регрессии есть только одна независимая переменная (X), и на ее основе прогнозируется зависимая переменная (y).

b0 = представляет точку пересечения

b1 = представляет коэффициент/вес

x = представляет собой независимую переменную

y = представляет выход или зависимую переменную

Множественная линейная регрессия. В множественной линейной регрессии используется несколько независимых переменных (X), и на основе этой зависимой переменной (y) прогнозируется.

Функция стоимости

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

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

MSE никогда не будет отрицательным, поскольку мы всегда возводим ошибки в квадрат. MSE формально определяется следующим уравнением:

import numpy as np
import matplotlib.pyplot as plt

# MSE lpposs function
def mse_loss(y_pred, y_true):
    squared_error = (y_pred - y_true) ** 2
    sum_squared_error = np.sum(squared_error)
    loss = sum_squared_error / y_true.size
    return loss
    
# Plotting
x_vals = np.arange(-20, 20, 0.01)
y_vals = np.square(x_vals)

plt.plot(x_vals, y_vals, "blue")
plt.grid(True, which="major")
plt.show()

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

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

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

Надеюсь, теперь у вас есть представление о линейной регрессии, функции стоимости и градиентном спуске.

Спасибо!