Итак, вы раньше использовали линейную регрессию, но не знаете математики, лежащей в основе алгоритма. Так много людей не знают реальной статистики, стоящей за этим. Итак, я расскажу вам сегодня.

Линейная регрессия - это часть контролируемого обучения, где у нас есть помеченные данные («правильные ответы»), и мы должны предсказать новое значение на основе предыдущих «правильных ответов». В линейной регрессии мы имеем дело с непрерывными значениями, а не с дискретными значениями (некоторыми фиксированными значениями).

Возьмем классический пример цены на жилье в Портленде, штат Орегон (США)

Построив график зависимости цены от размера, мы можем сказать, что размер прямо пропорционален цене («по мере увеличения размера цена также увеличивается»). В этой статье мы имеем дело только с одной независимой переменной или линейной регрессией с вариациями. Независимые переменные также называют пояснительными значениями, а зависимые переменные часто называют целевыми значениями.

Так как же нам предсказать значения?

Если нам удалось построить функцию гипотезы с заданными точками данных. Мы можем каким-то образом предсказать новый результат с некоторой ошибкой. Итак, нам нужна функция гипотезы, функция , представляющая формулировку проблемы. Функция гипотезы часто представлена ​​как h (x).

Для этой задачи наша функция гипотезы h (x) = θ + θ1 * x или y = mx + c

(если вы знакомы с этим уравнением, т. е. уравнением прямой, вы должны знать, что m или θ1 - это наклон, а c или θ - пересечение линии )

Функция затрат или целевая функция

Функция стоимости отличается от функции гипотезы, и ее также можно назвать функцией прогнозирования, также представленной как J (θ). Функция стоимости, используемая в алгоритме линейной регрессии, -
алгоритм градиентного спуска.

h (x) = 1 / 2m * ∑ (от i = 0 до m) [h (xi) - (yi)] ²

Нам нужна линия с минимальной ошибкой с точками данных, чтобы мы могли предсказать с большей точностью, как нам найти эту линию? Нам нужно минимизировать ∑ [(h (x) -y)] ²

Итак, теперь наша функция стоимости сокращается до J (θ) = 1 / 2m * ∑ (от i до m) [h (xi) - (yi)] ². Для y = mx построим график J (θ).

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

повторять до схождения {

θj = θj -α * (∂ / ∂ (θj)) * J (θ, θ1), для j = 0 и j = 1 и одновременно обновлять значения θ и θ1

}

здесь α - скорость обучения или размер шага для поиска минимумов.

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

После построения функции стоимости J (θ) с заданными точками данных мы можем предсказать с точностью 94% или вероятностью 0,94.

Для поиска ошибки существует множество оценочных показателей, например:

Средняя абсолютная ошибка (MAE)

Среднеквадратичная ошибка (MSE)

Среднеквадратичная ошибка (RMSE)

Относительная квадратная ошибка. (называется ошибкой оценки r2)

Поздравляем! Теперь вы знаете, как работает линейная регрессия, и можете использовать: из sklearn.linear_model импорт LinearRegression и начать прогнозирование.

Если вы добрались сюда, спасибо, что прочитали эту статью! . . . Если хотите, оставьте аплодисменты :)

AI - это новое электричество ~ Эндрю нг