Почему для логистической регрессии нет закрытой формы решения
Что проверяют
Умеете ли вы дойти до условия оптимума и увидеть, что оно нелинейно по весам. Заодно смотрят, не путаете ли вы «нет аналитической формулы» с «задача трудная»: это разные вещи, и вторая здесь неверна.
Как отвечать
Сравнение с линейной регрессией делает ответ понятным сразу. Там минимизируется сумма квадратов, производная по весам линейна, приравняли к нулю и получили нормальное уравнение.
В логистической регрессии вероятность моделируется сигмоидой от линейной комбинации признаков, а минимизируется логистическая функция потерь. Её градиент выглядит обманчиво похоже:
grad = X.T @ (sigmoid(X @ w) - y)Разница в том, что неизвестное w стоит под сигмоидой. Приравнивание к нулю даёт систему трансцендентных уравнений, которая не разрешается алгебраически: вынести w наружу нечем.
Важно добавить, что на качестве решения это не сказывается. Логистические потери выпуклы по весам, матрица вторых производных неотрицательно определена, поэтому минимум по значению единственный, и его надёжно находят численно: метод Ньютона, lbfgs по умолчанию в sklearn, стохастический спуск на больших данных. Отсутствие формулы это неудобство, а не потеря гарантий.
Хорошо назвать вырожденный случай: если классы линейно разделимы, максимум правдоподобия не достигается вовсе, веса уходят в бесконечность, оптимизатор упирается в лимит итераций. Регуляризация возвращает конечное решение, и в sklearn она включена по умолчанию.
Где спотыкаются
Объясняют отсутствие формулы невыпуклостью. Логистические потери как раз выпуклы, невыпуклость это про нейросети. Спутав эти два свойства, кандидат заодно теряет право сказать, что численное решение здесь единственное.
Путают логит и сигмоиду. Логит это логарифм отношения шансов, он переводит вероятность в линейную шкалу. Сигмоида обратна ему и переводит обратно. Фраза «логит-функция описывает вероятность» звучит уверенно и неверна.
Лечат предупреждение о несходимости увеличением числа итераций. Чаще причина в непомасштабированных признаках или в почти полной разделимости классов, и правильный шаг это нормировка и регуляризация, а не десятикратный лимит итераций.