Логистическая регрессия, функция активации, вывод, математика

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



Сигмовидная функция

Математическое выражение, называемое сигмовидной функцией, преобразует любой входной сигнал с действительным знаком в число от 0 до 1, также известное как логистическая функция. Сигмовидную функцию можно определить следующим образом:

где:

  • z обозначает линию классификации, напоминающую линейную регрессию,
  • e - основание натурального логарифма.

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

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

Модель логистической регрессии

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

Бинарная кросс-энтропийная функция ошибки

Распространенной функцией потерь в машинном обучении, особенно для задач бинарной классификации, является функция бинарной кросс-энтропийной ошибки. Он вычисляет разницу между истинной меткой бинарной целевой переменной и ожидаемой вероятностью. В бинарной классификации цель состоит в том, чтобы предсказать вероятность целевой переменной с учетом набора признаков. Целевая переменная может принимать только два значения, например 0 и 1. Двоичная функция кросс-энтропийной ошибки определяется следующим образом:

где:

  • y_n - прогнозируемая вероятность для положительного класса,
  • t_n — истинная метка, либо 0, либо 1,
  • а J — целевая функция, которую мы пытаемся минимизировать или максимизироватьze.

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

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

После этого мы можем получить выражение для определения идеального значения члена смещения, где смещение обычно устанавливается равным 1. Кроме того, смещение можно включить в веса, включив значение 1.

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

import numpy as np

N = 100

def sigmoid_function(an):
    return 1/(1 + np.exp(-an))

def binary_cross_entropy(T, Y):
    E = 0
    for i in range(len(T)):
        if T[i] == 1:
            E -= np.log(Y[i])
        else:
            E -= np.log(1 - Y[i])
    return E

#short overwiev of updating process of w's
learning_rate = 0.01
for i in range(N):
    # gradient descent weight udpate
    w += learning_rate * Xb.T.dot(Y - T)

    # recalculate Y
    Y = sigmoid(Xb.dot(w))

или мы можем использовать библиотеку sklearn, что еще больше упрощает реализацию логистической регрессии.

from sklearn.linear_model import LogisticRegression

clf = LogisticRegression(random_state=0).fit(X, y)
clf.predict_proba(X)
clf.score(X, y)

Методы регуляризации

Добавление штрафного члена также позволяет изменить функцию стоимости. Переобучение можно предотвратить в логистической регрессии и линейной регрессии посредством регуляризации. Этот термин способствует тому, чтобы коэффициенты имели небольшие величины, уменьшая их влияние на прогнозы модели. Штраф за регуляризацию L1, также называемую Lasso, равен абсолютному значению коэффициентов, но штраф за регуляризацию L2, также называемую Ridge, равен квадрату коэффициентов. Эти два метода регуляризации являются типичными, и мы обсудим эти два метода регуляризации в следующей статье.



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

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

Ограничение

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

Если вам понравилась статья, не забудьте подписаться на мои новые статьи.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.