Логистическая регрессия: от статистической концепции к машинному обучению

От простой интуиции до сложного процесса построения модели

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

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

Интуиция

Давайте забудем о «логистической регрессии» и посмотрим, как далеко мы можем зайти без использования этого термина.

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

расходы = a + b * доход + e

Обратите внимание, что в этом случае зависимая переменная - расходы - является непрерывной переменной. Имея данные о доходах и расходах клиентов, мы можем оценить a & b и использовать модель для прогнозирования расходов (зависимая переменная) на основе дохода (независимая переменная).

Скажем, после анализа данных мы параметризуем модель, которая выглядит следующим образом (разумеется, полностью составленные числа):

расходы = -50 + 0,12 * доход

Теперь, если мы подключим доход, мы сможем легко оценить расходы. Допустим, если доход составляет 1000 долларов, то:

расходы = -50 + 0,12 * 1000 = 85 долларов США

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

покупка (да / нет) = -50 + 0,12 * доход

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

Давайте использовать манекены (да = 1, нет = 0) для представления решения о покупке:

покупка (1 или 0) = -50 + 0,12 * доход

Теперь у нас есть числовая зависимая переменная, но она по-прежнему двоичная - содержит только два значения: 0 и 1. Так что же делать? Один из способов - использовать вероятность (p) вместо двоичных результатов:

p = -50 + 0,12 * доход

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

  • это всегда положительное число
  • принимает значения только от 0 до 1

Наше вероятностное уравнение пока не удовлетворяет ни одному из этих двух условий. Если мы подставим доход в 400 долларов, p = минус, а если мы подставим 500 долларов, то p ›1.

Итак, наша следующая задача - убедиться, что p удовлетворяет обоим условиям.

Есть много способов сделать число положительным, например, возвести его в квадрат, использовать показатель степени и т. Д. Давайте перейдем к последнему.

При этом мы просто сделали p положительным числом (потому что показатели всегда положительны).

Теперь давайте выполним второе условие - сделаем вывод между 0 и 1.

Это всего лишь модификация предыдущего уравнения. Теперь мы разделили на то же значение и добавили 1. Причина добавления 1 состоит в том, чтобы убедиться, что знаменатель всегда больше, чем числитель - таким образом результат всегда находится между 0 и 1. Когда мы это сделаем, теперь мы можем вызвать это вероятность.

Это уравнение, которое мы так долго искали - специалисты по данным называют его логистической регрессией.

Теперь, если мы подставим любой X, мы получим соответствующую вероятность p. Мы можем использовать это p-значение, чтобы создать порог для преобразования вероятности обратно в двоичный результат да / нет:

  • если p ‹0,50, покупка == нет
  • если p ›50, покупка == да

Мы можем взять предыдущее уравнение и представить его по-разному. В зависимости от того, как мы представляем, мы получаем два важных понятия - Коэффициенты и Логические коэффициенты.

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

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

Мы начали с линейной регрессии и дошли до логистической регрессии. Теперь давайте определим несколько общих черт и различий между ними:

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

Функция затрат

Функция стоимости в линейной регрессии минимизирует разницу между прогнозируемыми и фактическими значениями (ошибками). Итак, если наша регрессионная модель имеет вид Ŷ = α + θi Xi (где θ - коэффициент при X), то функция стоимости будет следующей:

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

То, что мы только что вычислили в таблице, представлено в следующем уравнении:

Более обобщенная форма потери журнала записывается как:

Это также называется бинарной кросс-энтропией. Чтобы увидеть, как выводится это уравнение, ознакомьтесь с уроком Эндрю Нг.

Поиск наиболее подходящей линии: оценка максимального правдоподобия (MLE)

В предыдущем разделе мы упоминали, что логистическая регрессия использует метод, называемый оценкой максимального правдоподобия (MLE), чтобы найти наиболее подходящую линию. Процесс поиска MLE не так пугает, как звучит название, он работает следующим образом:

  • Выберите случайную кривую вероятности, используя созданную нами выше функцию вероятности.
  • Рассчитайте вероятность (вероятность) результата для одной точки данных.
  • Рассчитайте вероятность для всех точек данных и умножьте вероятность для всех точек данных.
  • Сдвиньте кривую вероятности и повторите процесс.
  • Выберите кривую с наибольшим («Максимальным») правдоподобием.

Резюме

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

Несколько вещей, которые я не рассмотрел в этой статье: (1) тест Вальда для выбора характеристик (он проверяет гипотезу о том, что эффект переменной значительно отличается от нуля в модели); (2) гиперпараметрическая (бета) настройка; и (3) реализация логистической регрессии с использованием стандартной библиотеки (например, sklearn). Это некоторые практические вопросы - возможно, это тема для другой статьи.

Надеюсь, эта статья была полезной. Если у вас есть комментарии, не стесняйтесь записывать их ниже. Вы также можете связаться со мной в Medium, Twitter или LinkedIn.