Для кого предназначена эта статья. Если вы слышали о логистической регрессии, знайте, что она используется для бинарной классификации, но не совсем понимаете, как она работает. Возможно, ваш опыт работы с этой моделью включает вызов функции в Scikit-learn и тонкую настройку некоторых параметров для достижения «хорошего» показателя AUC или F1. Прочитав эту статью, вы должны лучше понять эту модель и, возможно, быть хорошо подготовленными к ответу на соответствующие вопросы во время собеседований.
Функция логистической регрессии (упрощенная)
Мы знаем, что в линейной регрессии мы стремимся подогнать несколько признаков, назначая каждому определенный вес, устанавливая линейную связь между входными признаками и выходной целью.
Однако это не идеальный вариант, когда мы пытаемся предсказать категориальный результат (например, является ли электронное письмо спамом или нет, уйдет пользователь или нет, является ли транзакция мошеннической или нет). Для классификации идеальным сценарием является поиск функции, которая может принимать набор признаков и отображать их в двоичные значения, обычно 0 и 1. Лучшим выбором для этого часто является сигмовидная функция, которая характеризуется S-образной формой. изгиб. Типичным примером сигмовидной функции является логистическая функция.
Логистическая функция может сопоставить любую входную переменную «t» со значением от 0 до 1. Однако в контексте машинного обучения одного этого недостаточно, поскольку обычно у нас есть несколько функций, которые необходимо оптимизировать. Решение состоит в том, чтобы объединить приведенные выше функции, заменив «t» во второй функции на «y» из первой функции линейной регрессии. Эта комбинация приводит к функции логистической регрессии:
Теперь у нас есть функция, которая может напрямую сопоставить все входные переменные (X) с целевой переменной (y), а коэффициенты — это то, что мы стремимся оптимизировать.
Функция потерь
Поскольку логистическая регрессия часто используется для двоичной классификации (0 и 1), а выходные данные логистической регрессии находятся в диапазоне от 0 до 1, принимая пороговое значение 0,5, если выходные данные превышают 0,5, прогноз равен 1; в противном случае это 0.
Чтобы добиться этого, нам нужна функция, которая больше наказывает меньшие прогнозы, когда истинная метка равна 1, и наказывает большие…