Логистическая регрессия - один из наиболее широко используемых алгоритмов в отрасли!

Но сначала давайте подведем итоги нашего пути до сих пор.

Во-первых, мы прошли легкое введение в ML, которое обсудило ML на высоком уровне.

Затем мы поняли общую схему любого алгоритма машинного обучения, который включает следующие шаги:

  1. Общая структура набора данных (с пометкой / под наблюдением или без ярлыка / без надзора)
  2. Обнаружение основной функции (Y - функция X: Y = f (X))
  3. Функция стоимости для представления разницы между Y_training (известные метки) и Y_predicted (на основе X_training)
  4. Обучение или определение параметров модели, которые минимизируют функцию затрат

Мы изучили все части алгоритма машинного обучения для линейной регрессии. Этот пост будет продолжением того же потока для могущественной логистической регрессии.

Помните, как мы увидели, что линейная регрессия, по сути, соответствует прямой линии заданным точкам данных. Логистическая регрессия, по сути, является просто продолжением линейной регрессии.

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

Данные представлены в таблице ниже.

Давайте сделаем это шаг за шагом, чтобы сделать его простым и легким.

Шаг I. Логистическая регрессия вычисляет взвешенную сумму входных переменных.

Давайте снова рассмотрим случай с одной переменной:

  • X_training - это возраст
  • Y_training - высота в см для линейной регрессии.
  • В этом случае предположим, что Y_training является категориальным, с классом «Short», представляющим рост ‹100 см, и классом« Tall », представляющим высоту› = 100 см. Эта категоризация была сделана только для того, чтобы выходные данные были категориальными.

На этом этапе выполняется то же вычисление, что и линейная регрессия, и устанавливается прямая линия.

Произведен расчет: Step_I_Output = mX + c

Если мы используем этот Step_I_Output как Y_predicted, это будет число, в то время как Y_training (известное) на самом деле категориально.

Итак, как нам решить эту проблему?

Одним из способов может быть определение порога для значения Y_predicted, скажем 100. Если значение (mX + c = Step_I_Output) больше или равно 100, конкретный экземпляр будет присвоен классу «Высокий» и наоборот. -versa ('Короткий', если Step_I_Output ‹100).

Однако у этого подхода есть несколько проблем, в том числе случай, когда значение Step_I_Output становится меньше 0.

В классификаторе более интуитивно понятна возможность иметь выходные данные от 0 до 1, которые можно интерпретировать как вероятность принадлежности к определенному классу. Класс «Высокий» здесь принимается как положительный и обозначается как 1, в то время как другой класс «Малый» принимается как отрицательный и обозначается цифрой 0. Это приводит нас ко второму шагу.

Шаг II: логистическая функция

Step_I_Output передается в логистическую функцию. Таким образом, логистика Step_I_Output - это последний Step_II_Output, который используется как оценочная вероятность принадлежности к определенному классу («высокий» или положительный класс).

Я думаю, что в предыдущем предложении слишком много этого. Вы можете подумать о следующих очевидных вопросах:

  • Что такое логистическая функция?
  • Что такое Step_II_Output? Что подразумевается под логистикой Step_I_Output?
  • Как можно использовать Step_II_Ouput в качестве оценки вероятности принадлежности к определенному классу? Как это может быть внезапно вероятностью? В конце концов, Step_I_Output равен mX + c и может быть любым числом! Что это за колдовство?!!!

Давайте начнем с вопроса «Что такое логистическая функция?»

Это просто. Это просто математическая функция, которая принимает число на вход и выводит другое число, как и любая другая функция! Однако он особенный в том смысле, что выдает число от 0 до 1. Он также называется сигмовидной функцией и имеет S-образную кривую.

И не заблуждайтесь, это не случайно! Эта функция была выбрана намеренно так, чтобы Step_I_Output, который представляет собой взвешенную сумму функций (mX + c) и может быть любым числом, преобразовывался в число от 0 до 1, которое может представлять вероятность принадлежности к классу.

Шаг III: Прогнозирование Y_predicted для обучения

Как только мы нашли Step_II_Output, который представляет собой вероятность (p) того, что экземпляр принадлежит к положительному классу, можно легко получить Y_predicted для учебного экземпляра.

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

Функция затрат: потеря журнала

В линейной регрессии мы использовали прямую линию, чтобы оценить фактическую взаимосвязь между X_training и Y_training. Затем сформулировал функцию стоимости среднеквадратичной ошибки (MSE), чтобы определить, насколько далека наша предполагаемая взаимосвязь, которая выдает Y_predicted, от фактической или Y_training. Здесь, чем выше значение MSE, тем больше разница между предполагаемым и фактическим соотношением.

Точно так же для логистической регрессии нам нужна функция стоимости, которая указывает на эту проблему, т. Е. Значение функции стоимости должно быть высоким, когда модель предсказывает, что экземпляр или наблюдение принадлежат к определенному классу (скажем, «Высокий», или положительный, или 1), в то время как на самом деле он принадлежит к другому классу («Маленький» или отрицательный, или 0). Функция стоимости должна быть высокой, если модель делает ошибку и неправильно классифицирует экземпляр.

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

Для логистической регрессии нам нужно найти вектор параметров m, который гарантирует, что модель выдает высокую вероятность (как можно ближе к 1) для любого экземпляра, принадлежащего к классу 'Высокий', или положительный, или 1, и низкую вероятность (как можно более близкую к 0, насколько это возможно). возможно) для любого экземпляра, принадлежащего к классу "Маленький" или отрицательный, или 0.

Функция стоимости, показанная на изображении, называется функцией Log-Loss. Давайте посмотрим на возможные случаи для одного обучающего примера для этой функции потерь журнала, поскольку общее уравнение выглядит немного пугающим!

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

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

Таким образом, логистическая регрессия представляет собой бинарный классификатор в этой форме. Его можно обобщить и расширить до мультиклассового классификатора, известного как классификатор Softmax или полиномиальная логистическая регрессия.

Он использует функцию Softmax вместо сигмовидной функции. Здесь используется функция стоимости - перекрестная энтропия.

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

Часто задаваемый вопрос:

Почему логистическая регрессия считается частью обобщенных линейных моделей, если ее фактический результат не является линейным?

Легко понять, почему эта модель считается линейной, если вы понимаете природу Step_I_Output. Это взвешенная сумма входных характеристик (mT.X). Таким образом, эти свойства носят аддитивный характер. Не существует термина, в котором входные характеристики умножаются или разделяются или имеют какой-либо другой тип взаимодействия между собой.

Итак, это завершает наше путешествие с основным потоком и функционированием логистической регрессии!

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

Имея это в виду, вы теперь готовы пройти главы 3 и 4 ISLR (Введение в статистическое обучение в R).

До скорой встречи в следующем посте о деревьях решений! :)