Я надеюсь, что вам понравился мой последний блог о линейной регрессии. Если вы еще не читали его, обратитесь к linear-regression-and-its-types. Мы видели, что методы регрессии применяются в наборах данных, имеющих непрерывный вывод (метки), но что, если вывод является категориальным, то есть дискретным. Затем мы должны применить методы классификации. Мы поговорим о таком методе классификации, известном как Логистический Регресс в этом блоге.

Логистическая регрессия: регрессия или классификация?

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

Случаи применения логистической регрессии

  1. Обнаружение спама: спам или нет.
  2. предугадать, будет ли это яблоко или апельсин.

и многие другие задачи классификации, в которых задействованы два класса.

Как работает логистическая регрессия?

Теперь, когда у нас есть обзор того, что в основном представляет собой логистическая регрессия, мы перейдем к ее работе, то есть к тому, как она предсказывает класс за нас.

Шаг 1 (применение линейной регрессии)

На этом этапе мы просто применим линейную регрессию к нашим данным. Как я уже говорил в предыдущем блоге, формула Y = mX + b (подробное объяснение см. В предыдущем блоге).

Шаг 2 (применение логистической функции к полученному Y)

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

Логистика - также называемая логитом, обозначенная σ (·) - представляет собой сигмовидную функцию (т. е. S-образную), которая выводит число от 0 до 1.

Шаг 3 (прогнозирование)

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

Если значение вероятности меньше 0,5, то оно относится к классу 0, иначе оно относится к классу 1.

Хорошо, мы увидели, как модель логистической регрессии предсказывает класс, но как насчет самой важной части… Как она обучается?

Функция обучения и затрат

Цель обучения - установить вектор параметров θ так, чтобы модель оценивала высокие вероятности для положительных случаев (y = 1) и низкие вероятности для отрицательных случаев (y = 0). Ниже приведена функция стоимости модели логистической регрессии.

Это выглядит немного сложно .. не так ли?

Не волнуйтесь, я объясню, что функция стоимости пытается сделать здесь ...

Разберемся, рассмотрев все возможные случаи:

Я беру p как прогнозируемую вероятность и y как правильный результат.

Случай 1 (правильный вывод = 0 и p ‹0,5): если правильный вывод равен 0, тогда он перейдет ко второму уравнению, соответствующему y = 0 (см. изображение выше для функции стоимости), а поскольку p равно ближе к 0, поэтому для c = -log (1-p) будет получено меньшее значение стоимости, т. е. ближе к нулю.

Случай 2 (правильный вывод = 0 и p≥0,5): Теперь , если правильный вывод равен 0, он перейдет ко 2-му уравнению, соответствующему y = 0 и p≥0,5. . тогда для p = 1 это приведет к бесконечности. следовательно, наказание за неверный прогноз.

Случай 3 (правильный вывод = 1 и p ‹0,5): если правильный вывод равен 1, тогда он перейдет к 1-му уравнению, соответствующему y = 1, и поскольку p ближе к 0, то будет получено очень высокое стоимость для c = -log (p), т. е. приводит к бесконечности. следовательно, наказание за неверный прогноз.

Случай 4 (правильный вывод = 1 и p≥0,5): если правильный вывод равен 1, тогда он перейдет к 1-му уравнению, соответствующему y = 1, а поскольку p ближе к 1, это даст меньшую стоимость значение для c = -log (p), т. е. ближе к нулю.

Итак, к настоящему моменту вы, должно быть, поняли, что функция стоимости сильно наказывает за каждое неверное предсказание. Функция стоимости по всему обучающему набору - это просто средняя стоимость по всем обучающим экземплярам. Это можно записать в одном выражении, которое называется потеря журнала.

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

Все это обсуждение касалось двоичной классификации (имеющей два выходных класса).

Но что, если у нас более двух выходных классов? Тогда на сцену выходит полиномиальная логистическая регрессия.

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

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

Полиномиальная логистическая регрессия - это не что иное, как результат моделей бинарной логистической регрессии M-1 (M = количество классов).

Функция Softmax принимает логиты в качестве входных данных, а затем прогнозирует вероятность для каждого класса. Класс с максимальной вероятностью является выходным классом.

Реализация Sklearn для логистической регрессии

Я использовал набор данных Iris, доступный на Kaggle.

Конечные заметки

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

Если у вас есть какие-либо вопросы, не стесняйтесь комментировать ниже или вы можете связаться со мной по [email protected].

А пока будьте осторожны, я вернусь с другим захватывающим блогом!