Вопрос или проблема
Я пытаюсь понять детали моделей логистической регрессии и сейчас мне интересно, как создать модель, если у вас есть коэффициенты и перехваты.
Я создал модель логистической регрессии на 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).
Процесс предсказания
- Выбор значений признаков: Возьмите значения входных признаков (x_1, x_2) для конкретного примера.
- Расчет линейной комбинации: Сначала вычислите линейное выражение:
[
y = \alpha + \beta_1 x_1 + \beta_2 x_2
] - Сигмоидная функция: Примените сигмоидную функцию к полученному значению (y):
[
p = \frac{1}{1 + e^{-y}}
] - Определение класса: Установите порог (например, 0.5) для определения класса:
- Если (p \geq 0.5), предскажите класс 1.
- Если (p < 0.5), предскажите класс 0.
Проблема с отрицательными и избыточными значениями
Как вы заметили, когда вы просто подставляете значения в линейное уравнение (как для линейной регрессии), дает значения, которые могут быть отрицательными или превышать единицу. Это связано с тем, что вы не применяли сигмоидную функцию к результатам. Логистическая регрессия требует, чтобы вы всегда преобразовывали ваши линейные предсказания с помощью этой функции, чтобы гарантировать, что предсказанные вероятности находятся в диапазоне от 0 до 1.
Заключение
Таким образом, важно помнить, что в логистической регрессии после вычисления линейной комбинации необходимо использовать сигмоидную функцию, чтобы трансформировать любые значения (y) в диапазон лежащий между 0 и 1. Это гарантирует корректные вероятностные предсказания, которые можно затем интерпретировать в контексте бинарной классификации.