Урок регрессии (линейная vs логистика)

Вступление

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

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

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

Я собираюсь подробно обсудить эту тему ниже.

Шаги линейной регрессии

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

Шаг 1

Предположим, что у нас есть набор данных, в котором x - независимая переменная, а Y - функция от x (Y = f (x)). Таким образом, используя линейную регрессию, мы можем сформировать следующее уравнение (уравнение для наиболее подходящей линии):

Y = mx + c

Это уравнение прямой линии, где m - наклон линии, а c - точка пересечения.

Шаг 2

Теперь, чтобы получить наиболее подходящую линию, сначала мы присваиваем случайные значения m и c и вычисляем соответствующее значение Y для данного x. Это значение Y является выходным значением.

Шаг 3

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

В случае линейной регрессии мы вычисляем эту ошибку (невязку) с помощью метода MSE (среднеквадратичная ошибка) и называем ее функцией потерь:

Функция потерь может быть записана как:

L = 1/n ∑((y — ŷ)^2)

Где n - количество наблюдений.

Шаг 4

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

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

Давайте обсудим, как работает градиентный спуск.

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

Если мы посмотрим на формулу для функции потерь, то «среднеквадратичная ошибка» означает, что ошибка представлена ​​в единицах второго порядка.

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

Для этого мы должны взять производную первого порядка от функции потерь для весов (m и c). Затем мы вычтем результат производной из начального веса, умноженного на скорость обучения (α). Мы будем повторять этот шаг, пока не достигнем минимального значения (мы называем это глобальным минимумом). Мы фиксируем порог очень маленького значения (пример: 0,0001) как глобальный минимум. Если мы не установим пороговое значение, достижение точного нулевого значения может занять целую вечность.

Шаг 5

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

На этом линейная регрессия заканчивается, и мы всего в одном шаге от логистической регрессии.

Логистическая регрессия

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

Шаги логистической регрессии

В логистической регрессии мы определяем порог вероятности. Если вероятность определенного элемента выше порога вероятности, мы классифицируем этот элемент в одну группу или наоборот.

Шаг 1

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

Шаг 2

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

Таким образом, предсказанное значение преобразуется в вероятность, передавая его сигмовидной функции.

Уравнение сигмовидной кишки:

Как мы видим, мы можем передать сигмоидальной функции любое действительное число, и она вернет значение от 0 до 1.

Сигмовидная кривая (снимок взят из Википедии)

Таким образом, если мы передаем выходное значение ŷ сигмоидной функции, она перенастраивает значение вероятности между 0 и 1.

Шаг 3

Наконец, выходное значение сигмовидной функции преобразуется в 0 или 1 (дискретные значения) в зависимости от порогового значения. Обычно мы устанавливаем пороговое значение 0,5. Таким образом, мы получаем двоичную классификацию.

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

Пример

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

Итак, мы можем понять, что это проблема регрессии, в которой мы построим модель линейной регрессии. Мы обучим модель с предоставленными значениями роста и веса. После обучения модели мы можем предсказать Вес для данного неизвестного значения Роста.

Теперь предположим, что у нас есть дополнительное поле Ожирение, и мы должны классифицировать, страдает ли человек ожирением или нет, в зависимости от предоставленного им роста и веса. Это явно проблема классификации, когда мы должны разделить набор данных на два класса (ожирение и не-ожирение).

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

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

Рис. Линейная регрессия против логистической регрессии

Наконец, мы можем резюмировать сходства и различия между этими двумя моделями.

Сходства между линейной регрессией и логистической регрессией

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

Однако функционально эти два совершенно разные. Ниже приведены различия.

Различия между линейной регрессией и логистической регрессией

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