Итак, вы раньше использовали линейную регрессию, но не знаете математики, лежащей в основе алгоритма. Так много людей не знают реальной статистики, стоящей за этим. Итак, я расскажу вам сегодня.
Линейная регрессия - это часть контролируемого обучения, где у нас есть помеченные данные («правильные ответы»), и мы должны предсказать новое значение на основе предыдущих «правильных ответов». В линейной регрессии мы имеем дело с непрерывными значениями, а не с дискретными значениями (некоторыми фиксированными значениями).
Возьмем классический пример цены на жилье в Портленде, штат Орегон (США)
Построив график зависимости цены от размера, мы можем сказать, что размер прямо пропорционален цене («по мере увеличения размера цена также увеличивается»). В этой статье мы имеем дело только с одной независимой переменной или линейной регрессией с вариациями. Независимые переменные также называют пояснительными значениями, а зависимые переменные часто называют целевыми значениями.
Так как же нам предсказать значения?
Если нам удалось построить функцию гипотезы с заданными точками данных. Мы можем каким-то образом предсказать новый результат с некоторой ошибкой. Итак, нам нужна функция гипотезы, функция , представляющая формулировку проблемы. Функция гипотезы часто представлена как 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 - это новое электричество ~ Эндрю нг