Линейная регрессия моделирует взаимосвязь между двумя переменными путем подбора линейного уравнения к данным. Одна переменная считается независимой переменной, а другая считается зависимой переменной.
Линейная регрессия — один из наиболее широко используемых алгоритмов искусственного интеллекта в реальных задачах машинного обучения
Типы линейной регрессии
Простая линейная регрессия. В простой линейной регрессии есть только одна независимая переменная (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()
Градиентный спуск
Градиентный спуск — это процесс, используемый для минимизации функции. Градиентный спуск находит минимумы функции в зависимости от того, с чего мы начинаем (не гарантируется нахождение глобальных минимумов). Но если функция выпуклая, то у нее есть только один минимум, называемый глобальным минимумом, поэтому мы обычно используем выпуклую функцию, чтобы найти стоимость нашей модели
Градиентный спуск — это процесс минимизации функции путем следования градиентам функции стоимости. Чтобы найти локальный минимум функции с помощью градиентного спуска, мы делаем шаги, пропорциональные отрицательному градиенту функции в текущей точке.
Надеюсь, теперь у вас есть представление о линейной регрессии, функции стоимости и градиентном спуске.
Спасибо!