Создание модели логистической регрессии с коэффициентами

Вопрос или проблема

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

Я создал модель логистической регрессии на Python и извлек коэффициенты и перехваты. Теперь я хочу рассчитать их вручную, просто чтобы увидеть, как это работает. Имеет ли смысл вычислять это как в линейной регрессии (y = a + bx1 + bx2), а затем, если заданное значение меньше вашего порога, предсказывать выход 0, в противном случае 1?

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

Спасибо

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

\begin{equation}
y = \frac{1}{1+e^{-(\alpha + \beta_1 x_1 + \beta_2 x_2)}}
\end{equation}

Ответ или решение

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

Основы логистической регрессии

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

Формула логистической регрессии

Правильная формула для логистической регрессии выглядит следующим образом:

[
p = \frac{1}{1 + e^{-(\alpha + \beta_1 x_1 + \beta_2 x_2)}}
]

где:

  • (p) — предсказанная вероятность того, что целевая переменная равна 1.
  • (\alpha) — интерсепт (свободный член).
  • (\beta_1, \beta_2) — коэффициенты (веса) для признаков (x_1, x_2).

Процесс предсказания

  1. Выбор значений признаков: Возьмите значения входных признаков (x_1, x_2) для конкретного примера.
  2. Расчет линейной комбинации: Сначала вычислите линейное выражение:
    [
    y = \alpha + \beta_1 x_1 + \beta_2 x_2
    ]
  3. Сигмоидная функция: Примените сигмоидную функцию к полученному значению (y):
    [
    p = \frac{1}{1 + e^{-y}}
    ]
  4. Определение класса: Установите порог (например, 0.5) для определения класса:
    • Если (p \geq 0.5), предскажите класс 1.
    • Если (p < 0.5), предскажите класс 0.

Проблема с отрицательными и избыточными значениями

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

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...