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

Другими словами, в случае:

  • Оценки — определить, будет ли учащийся пройти (1)v. не проходит (0)
  • Электронная почта — различайте, является ли электронная почта спамом(1) и не спамом(0)
  • Рак — различайте, является ли вновь обнаруженная опухоль злокачественным раком(1) и доброкачественным раком(0)

Как видите, этот метод в основном используется для различения двух классов.

Простая логистическая регрессия

Простая логистическая регрессия может выводить:либо 0, либо 1. Он использует модель линейной регрессии в качестве входных данных для сигмовидной функции. Если y стремится к бесконечности, то p(прогноз) становится равным 1, а если y стремится к отрицательной бесконечности, то p становится равным 0.

Можно ли использовать линейную регрессию?

Краткий ответ да. Длинный ответ. Давайте рассмотрим сценарий, в котором возникает проблема с классификацией электронной почты. Создан алгоритм, в котором 0,1 добавляется каждый раз, когда спам-слово используется в электронном письме. Каждому электронному письму присваивается оценка и класс (спам против не спама) и отображается на графике, как показано ниже:

Электронные письма, отмеченные зеленым цветом, являются спамом (1), а электронные письма, отмеченные красным, не являются спамом (0).

Мы подгоняем модель линейной регрессии к данным, и она дает этот результат. Мы можем установить порог и по-прежнему заставлять его работать, однако это не оптимально. Поскольку в этой задаче у нас есть только два класса, как бы мы описали случай, когда подобранная линия равна h(x)<0 или h(x)<1 (h(x) подобранная линия линейной регрессии)?

Теперь рассмотрим следующий случай, когда к данным подгоняется логистическая регрессия. Прежде всего, все данные находятся в этом диапазоне: 0 ≥ h(x) ≥ 1. Это имеет больше смысла, верно?

  • Для всех значений, где h(x)>=0.5y=1 (что означает спам по электронной почте)
  • Для всех значений, где h(x)<0.5y=0 (это означает, что это не спам по электронной почте)

То, что вы видите здесь как значение 0,5, называется границей принятия решения, которая служит жесткой границей для отличия одного класса от другого. Вы часто можете встретить его в литературе как порог, а также .

Математически это можно записать так:

h(x) = P(Y=1|x:θ) или вероятность того, что Y=1 при заданном X, которое параметризовано как θ.

P(Y=1|x:θ) + P(Y=0|x:θ) = 1 → Это просто означает, что сумма процентов того, что электронное письмо не является спамом, и электронное письмо является спамом, равна 100. %.

P(Y=0|x:θ) = 1-P(Y=1|x:θ)

Функция стоимости

Это может показаться сложным, но на самом деле это не так. Пройдемся по нему…

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

Если мы попытаемся объединить вышеуказанные математические выражения в одно, мы получим приведенную ниже формулу.

Что это значит на английском? Позвольте мне сказать вам…

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

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

Вот вам кое-что, с чем вы можете поиграться: https://www.desmos.com/calculator/klq5shgvd3.

Мультиклассовая классификация

Да, вы можете использовать то, что вы уже узнали выше, для многоклассовой классификации. Существует классная техника под названием «Один против всех классов» (когда классов больше двух), когда вы выбираете один класс, а затем объединяете все остальные классы в один второй класс, используя бинарную классификацию.

Вместо y={0,1} теперь у вас y={0,1,2,...,n} — таким образом мы делим задачу на n+1(+1, потому что индекс начинается с 0) задачи бинарной классификации; попытайтесь максимизировать вероятность, минимизируя функцию потерь, как и раньше, для каждого классификатора. Для окончательного прогноза мы возвращаем значение самого высокого прогноза.

Подвести итог

Надеюсь, эта статья помогла вам получить четкое общее представление о том, как работает логистическая регрессия.

Я хотел бы услышать ваши идеи о том, что вы хотели бы прочитать дальше — дайте мне знать внизу в разделе комментариев!

Вы всегда можете связаться со мной через LinkedIn.