Линейная регрессия стала проще

Линейная регрессия для новичков за 5 минут

линейная регрессия в машинном обучении

Что такое линейная регрессия?

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

Машинное обучение с учителем : - означает, что изначально нам были предоставлены некоторые данные вместе с ответами (прогнозируемое значение), чтобы мы могли их использовать. научить нашу модель предсказывать значения (обучение), а затем использовать ее для предсказания невидимых данных.

— — — — — — — — — — — — — — |— — — — — — — — — — — — — —

Наилучшее соответствие: - линия на графике, которая наилучшим образом иллюстрирует взаимосвязь между набором точек, она также является линией, которая наилучшим образом минимизирует ошибки.

Учитывая некоторые входные данные, линейная регрессия найдет линию, которая лучше всего может предсказать результат в виде числового значения.

Пример. Зная площадь дома, можно спрогнозировать стоимость дома.

Во-первых, модель снабжена множеством значений площадей домов и их цен. Затем следует обучение модели, при котором модель находит значения параметров (m и c) для линии наилучшего соответствия. Затем эта линия используется для прогнозирования цен на дома для тех домов, по которым нет данных о ценах.

Звездочки представляют цены на данные площади домов, а синяя линия - это линия регрессии, построенная алгоритмом.

Значение m и c

Рассмотрим еще один пример: -

y = output: - прогнозируемое значение - зарплата

x = input: - input feature - Годы опыта

m = крутизна: - скорость изменения выхода по отношению к входной переменной

c = intercept: - значение выхода, когда вход равен нулю

Графически наклон также означает крутизну кривой в точке.

Критерии поиска лучшей линии

Возможных линий много, но линия с минимальным количеством ошибок называется линией наилучшего соответствия - Линия регрессии.

Ошибка относится к разнице между фактическим и прогнозируемым значением. Наша цель - найти ту строку, которая дает минимальную ошибку.

Для этого мы вычисляем ошибку для каждой записи данных, а затем суммируем ее и делим на общее количество записей. Но просто брать среднее значение всех ошибок - определенно не лучшая идея. Почему?

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

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

Как найти параметры для наиболее подходящей линии?

Для наилучшего соответствия линии нам нужно найти параметры линии, которые минимизируют функцию стоимости.

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

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

Градиентный спуск - это итеративный алгоритм оптимизации, в котором мы строим графики m и c в зависимости от функции стоимости (MSE), что приводит к форме чаши с одной точкой в ​​нижней части B, для которой значение функции стоимости минимально.

Шаги

  1. Первоначально начните со случайного значения m и c, т.е. выберите случайную точку.
  2. Наша цель - достичь для этого самой нижней точки B, сначала делать большие шаги, а по мере приближения к желаемой точке уменьшать размер шага.
  3. Направление движения определяется значением частной производной в этой точке, всегда двигайтесь в сторону самого крутого уклона. С каждым шагом значение функции стоимости уменьшается.
  4. Как только значение соответствующих частных производных функции стоимости приближается к нулю, остановитесь. Координаты достигнутой точки дают наилучшие параметры для построения линии с минимальными ошибками.

Алгоритм

  1. Рассмотрим любое случайное значение m, c и скорость обучения (константу), которая определяет размер шага.
  2. Поскольку функция стоимости является функцией двух переменных, вычислите две частные производные функции стоимости, одну по m, а другую по c.
  3. Обновите значение m, вычтя скорость обучения, умноженную на частичную производную по m. Аналогичным образом обновите значение c, вычтя скорость обучения, умноженную на частичную производную по c.
  4. Повторяйте предыдущий шаг, пока частные производные не станут очень близкими к нулю.

Множественная линейная регрессия

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

Нормальное уравнение

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

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

Использованная литература -