Logistic regression

Jan 30, 2018 11:41

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

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



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

Вектор x имеет размерность nx:



Вектор параметров w также имеет размерность nx:



Параметр b - это вещественное число:



Имея все это добро, можно попытаться сгенерировать ŷ при помощи линейной функции:



Но это точно не заработает, потому что при бинарной классификации нужна вероятность принадлежности к классу, то есть 0 ≤ ŷ ≤ 1, а линейная функция выдает на выходе любые значения: большие, маленькие, положительные, отрицательные.

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



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



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



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



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

Если значение z очень маленькое или отрицательно, то e-z будет иметь большое значение, а σ(z) будет стремиться к нулю.
Строго говоря, сигмоида - это не одна функция, а целый класс функций, которые обладают общими свойствами: гладкостью, монотонностью, непрерывностью и внешним видом, схожим с буквой S. Однако, чаще всего, под термином "сигмоида" подразумевают именно логистическую функцию, формула которой указана выше.

by Andrew Ng

algorithms

Previous post Next post
Up