Айра Сейдман, недавний выпускник курса Data Science Immersive от General Assembly.

Модель логистической регрессии sklearn использует функцию логит-ссылки, которая может принимать непрерывные данные и подгонять сигмовидную кривую для прогнозирования классов. Функция логит-ссылки вычисляет вероятность успеха от 0 до 1, учитывая, сколько функций было передано; после этого расчета модель будет округляться в большую или меньшую сторону в случае проблем с бинарной классификацией. Модели логистической регрессии также можно использовать для задач мультиклассовой классификации, как порядковых, так и непорядковых — задач, в которых целевые классы ранжируются по сравнению друг с другом или нет. Пороговое значение, которое считается успешным, может быть любым, но по умолчанию установлено значение 0,5, когда есть только два класса.

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

Функция логит-связи — одномерная:

Функция логит-ссылки только для одной функции определяется как:

Члены e всегда будут положительными независимо от того, насколько велико или мало значение x; из-за этого знаменатель всегда будет больше числителя. Поскольку числитель все еще может приближаться к 0, вот как функция выводит вероятность — числитель, который может приближаться как к нулю, так и к значению знаменателя, даст нам диапазон выходных данных от 0 до 1.

Условия автоматически соответствуют модели логистической регрессии, а сама математика сложна; Общая идея того, как условия подходят, заключается в том, что существует функция потерь, которая вычисляет максимальную вероятность, а не ошибку наименьших квадратов, как это делает линейная регрессия. Результаты также более точны, чем линейная регрессия, как видно из простого использования функции mean_radius в наборе данных sklearn о раке молочной железы для прогнозирования опухолей:

Вероятность и вероятность очень похожи, но разница заключается в том, имеем ли мы в виду вероятность того, что параметры определенной модели будут правильными с учетом результатов, которые мы наблюдаем, по сравнению с результатами, которые мы наблюдаем, являются точными с учетом параметров нашей модели. Вероятность относится к лестнице — шансу увидеть прогнозы и данные, которые мы наблюдаем, когда модель настроена так, как она есть. Вероятность связана с вероятностью того, что параметры нашей модели будут правильными с учетом имеющихся у нас данных. Для более подробного разграничения между вероятностью и правдоподобием обязательно прочитайте этот пост Средний.

Термины оптимизированы для самой высокой вероятности с учетом имеющихся у нас данных. Чтобы вычислить максимальную вероятность, мы быстро обнаружим, что используем кучу вычислений, которые выходят за рамки этого поста. Исчисление настолько распространено, потому что модель может использовать различные функции потерь, чтобы найти, где находится наименьшая ошибка между данными и сигмоидой, которую мы пытаемся подобрать; эти функции потерь часто работают, ища, где тангенс = 0. Если вам интересно узнать больше о математике, лежащей в основе этого расчета, я рекомендую начать с этого ресурса Penn State и Не парьтесь с Solver Stuff. Для более глубокого изучения интуиции и математики подгонки коэффициентов к функции логит-ссылки см. эту ветку Stackoverflow и эту документацию sklearn.

Функция логита:

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

Выход логит-функции может стремиться к бесконечности, поскольку x для данной функции стремится к бесконечности, что имеет смысл, поскольку логарифмические шансы того, что что-то произойдет, теоретически могут быть бесконечными. Логит-функция является обратной по отношению к логит-связке:

Функция логит-ссылки — многовариантная:

Многомерная функция логит-ссылки очень похожа на одномерную форму, только с большим количеством терминов:

Как только все условия подходят, вероятность успеха может быть рассчитана для любой комбинации значений функции x. Интересно посмотреть, как смещается кривая при добавлении функций — хотя на приведенных ниже графиках показана одна и та же функция, добавление столбцов в модель приводит к смещению сигмоиды и появлению разрывов. Это похоже на то, как выходные данные линейной регрессии смещаются вверх и вниз и прерываются по мере добавления функций. При рассмотрении только одного признака, но сохранении других признаков постоянными, чтобы смоделировать все остальные равными, сигмоид снова сглаживается, как показано на графике 4:

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

Вывод:

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

Исходный код и ссылки:

Исходный код — GitHub

Data Academy — Машинное обучение — (одномерная|простая) логистическая регрессия

Академия данных — Обучение статистике — многовариантная логистическая регрессия

Среда — Вероятность против правдоподобия

На пути к науке о данных — Логит логистической регрессии; Понимание основ»

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

Medium — Не парься с решателем

На пути к науке о данных — Интерпретация коэффициентов линейной и логистической регрессии