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

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

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

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

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

  1. Вероятность поступления студента в колледж по среднему баллу, баллу ACT. Здесь переменная ответа — это студент, получивший отказ/принятие в колледже.
  2. Медицинские исследователи хотели знать, влияют ли упражнения и вес на вероятность сердечного приступа. Здесь переменная отклика предсказывает возникновение сердечного приступа.
  3. Если письмо является спамом/не спамом.
  4. Финансовые организации используют этот алгоритм для одобрения/отклонения заявки на кредитную карту.

Линейная регрессия:

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

Этапы линейной регрессии:

1) В соответствии с приведенным выше обсуждением давайте предположим, что у нас есть набор данных, в котором выходная переменная (Y) является функцией независимой переменной x. Другими словами, Y = f(x). Математически то же самое можно представить как Y = mx + c, где m — наклон линии, а c — точка пересечения оси y (точка, в которой линия пересекает ось y).

2) На шаге 2 мы примем некоторые случайные значения для m и c и рассчитаем значение Y для данного x

3) На этом шаге вычисляется ошибка, которая также известна как функция потерь. Мы вычисляем ошибку, используя MSE (среднеквадратичную ошибку), которая находится во втором порядке. В то время как y является исходным значением, ŷ является прогнозируемым значением, а функция потерь может быть выражена как L = 1/n ∑ ((y — ŷ)^2)

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

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

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

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

Допущения линейной регрессии:

  1. Линейность. Прежде всего, зависимая переменная Y должна быть линейно связана с независимыми переменными. Используя скалярный график, можно проверить предположение. Ниже приведены примеры линейно распределенных данных, где мы видим, что данные по оси Y линейно связаны с осью X (неуклонно увеличиваются с увеличением значения x или неуклонно уменьшаются с увеличением значения x).

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

2. Нормальность: переменные X и Y должны иметь нормальное распределение. Гистограммы, графики KDE, графики Q-Q можно использовать для проверки предположения о нормальности. В данных не должно быть асимметрии.

3. Гомоскедастичность: дисперсия членов ошибки должна быть постоянной, т. е. разброс остатков должен быть постоянным для всех значений X. График остатков помогает нам проверить это предположение. Точки будут образовывать форму воронки в случае нарушения, в противном случае они будут постоянными.

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

4. Независимость/отсутствие мультиколлинеарности: все входные данные должны быть независимы друг от друга, что означает отсутствие корреляции между независимыми переменными. Матрица корреляции помогает нам определить зависимые переменные, если таковые имеются.

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

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

Этапы логистической регрессии:

  1. Первый шаг — повторить линейную регрессию для расчета бинарного разделения.
  2. Существует большое количество выбросов из полученной кривой линейной регрессии, которые будут иметь плохую производительность для классификации объектов. Чтобы преодолеть это, мы преобразуем прогнозируемое значение в вероятность, передав его сигмовидной активации. С приведенной ниже формулой любой ввод действительного числа будет ограничен (0,1). Ниже приведена диаграмма сигмовидной функции, где x может быть любым реальным входом, но выход ограничен от 0 до 1.

3. На основе определенного порогового значения мы можем преобразовать выход сигмоиды в 0 или 1 (дискретные значения).

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

Ниже приведены некоторые из основных различий между линейным и логистическим распределением.

Все блокноты, используемые в этом блоге, опубликованы здесь. Эти ноутбуки не требуют настройки и работают в Google Collab.