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

Допустим, есть некий вектор \(x\), который содержит в себе информацию об изображениях. Глядя на эти данные, нужно распознать, например, есть ли на картинке машина или нет. Алгоритм на выходе должен выдать вероятностное предсказание \(\hat{y}\):

\[\hat{y}=P(y=1|x)\]

Другими словами, если \(x\) — это картинка, алгоритм должен показать, какова вероятность того, что на этой картинке есть машина.

Вектор \(x\) имеет размерность \(n_x\):

\[x\in\mathbb{R}^{n_x}\]

Вектор параметров \(w\) также имеет размерность \(n_x\):

\[w\in\mathbb{R}^{n_x}\]

Параметр \(b\) — это вещественное число:

\[b\in \mathbb{R}\]

Имея все это добро, можно попытаться сгенерировать \(\hat{y}\) при помощи линейной функции:

\[\hat{y}=w^Tx+b\]

Но это точно не заработает, потому что при бинарной классификации нужна вероятность принадлежности к классу, то есть \(0 \le \hat{y} \le 1\), а линейная функция выдает на выходе любые значения: большие, маленькие, положительные, отрицательные.

Для логистической регрессии то, что возвращается линейной функцией, отправляется на вход сигмоиде:

\[\hat{y}=\sigma(w^Tx+b)\]

Если линейную функцию для удобства присвоить переменной \(z\):

\[z=w^Tx+b\]

То уравнение сигмоиды будет выглядеть вот так:

\[\sigma= \frac{1}{1+e^{-z}}\]

А вот как сигмоида выглядит на графике:

Если значение \(z\) велико, то \(e^{-z}\) будет близко к нулю, а значение \(\sigma(z)\) будет стремиться к единице.

Если значение \(z\) очень маленькое или отрицательно, то \(e^{-z}\) будет иметь большое значение, а \(\sigma(z)\) будет стремиться к нулю.

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