Я написал эту статью для лучшего понимания логистической регрессии.

Определение

  • Она похожа на знакомую нам бинарную классификацию.
  • Он предсказывает категориальные зависимые переменные, обычно бинарные. Зависимые переменные также могут быть полиномиальными. Sklearn подробно описывает полиномиальную логистическую регрессию.

Предположения

  • Наблюдения независимы (проверьте с остаточным графиком)
  • Существует отсутствие мультиколлинеарности среди объяснительных (проверьте с коэффициентом инфляции дисперсии переменных VIF)
  • Экстремальных выбросов не бывает
  • p(x) = exp(b0+b1*x)/(1+exp(b0+b1*x)). Логит = лог(p/(1-p))=b0+b1*x

Ссылка: https://www.statology.org/asposed-of-logistic-regression/

Два этапа

  • Используйте логистическую функцию (сигмовидную) g(z) = 1/(1+exp(-z)) для вычисления вероятности (0~1), z=b0+b1*x.
  • Предсказать класс тестового образца на основе порога.

Оценка максимального правдоподобия

Зачем регистрировать вероятность?

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

Ссылка:

https://medium.com/analytics-vidhya/understanding-the-loss-function-of-logistic-regression-ac1eec2838ce#:~:text=Почему%20 не работает%20MSE%20, чтобы%20найти%20% 20глобальный%20минимум.

Используйте MLE, чтобы соответствовать модели:

  • Бета, x, y → функция правдоподобия
  • Оценить бета, чтобы максимизировать вероятность
  • Можно использовать градиентный спуск для обновления бета-версий и использовать мини-пакет для повышения эффективности. Мини-пакет может привести к плохим градиентам, если данные зашумлены, но мы все равно можем их оптимизировать.

Почему логистика вместо линейной регрессии?

  1. Логистическая регрессия может предсказать категориальный Ys.
  2. Линейная регрессия:
  • Трудно подобрать данные, особенно с выбросами.
  • Прогнозы линейной регрессии имеют смысл порядка и подразумевают, что различия между разными категориями одинаковы. Но на самом деле разница не должна быть одинаковой.
  • Линейная регрессия может генерировать вероятность> 1 или ‹0.

Другие примечания:

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

p(x) = exp(b0+b1*x)/(1+exp(b0+b1*x)). Логит = log(p/(1-p))=b0+b1*x

если у нас p(x)=exp(1+x) и порог=0,5, то exp(1+x)=0,5. Граница линейная.

  • Для линейных разделимых данных логистическая регрессия может генерировать вероятность, очень близкую к 1/0, и она не остановится, если вы не установите итерации при использовании пакетов Sklearn.

Реальные вопросы интервью:

  1. Является ли логистическая регрессия линейной?
  2. Каковы предположения логистической регрессии?
  3. Будет ли мультиколлинеарность проблемой, если вы используете логистическую регрессию?

Пожалуйста, дайте мне знать, если возникнут какие-либо вопросы или проблемы! 😆:)

Реализуйте логистическую регрессию с нуля:

Я реализовал 2 версии с/без Numpy :)



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

  1. Машинное обучение для науки о данных (DSCI552 в USC), М. Р. Раджати, доктор философии
  2. AssemblyAI и Emma Ding — полезные ресурсы!