Логистическая регрессия

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

Для таких задач, как эти, линейная регрессия не подходит, потому что наша функция гипотезы может выводить значения намного больше 1 или меньше 0. И наоборот, использование логистической регрессии позволяет получить результат h(x) всегда быть между 0 и 1. Логистическая регрессия – это алгоритм классификации.

Напоминаем, что следующие уравнения для гипотезы при использовании линейной регрессии:

Ниже приведена функция гипотезы для логистической регрессии:

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

В логистической регрессии h(x) даст нам вероятность того, что наш результат равен 1. Например,h(x) = 0,7 говорит нам о том, что существует Выход с вероятностью 70% равен 1.

Граница принятия решения

Граница принятия решения – это линия, разделяющая области, где y = 0, и где y = 1. Она создается нашей функцией гипотезы.

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

Когда вход логистической функции ≥ 0, ее выход составляет от ≥ до 0,5.

Помнить:

Наши входные данные для g равны (θ^T)*X, что означает

Наша граница решения может быть линейной или нелинейной. Ниже приведен пример линейной границы решения:

Это пример нелинейной границы решения:

Логистическая регрессия: функция стоимости

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

Напоминаем, что ниже была функция стоимости для линейной регрессии:

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

Наша функция затрат для логистической регрессии выглядит следующим образом:

Это очень логично, если учесть, чего пытается добиться логистическая регрессия. Наша функция гипотезы всегда будет выводить значение 1 или 0. Следовательно, функция стоимости должна быть минимизирована (0), когда вывод нашей гипотезы (h) равен фактическому значению (y). Более того, он должен быть максимизирован (∞), если h = 0 и y = 1 или если h = 1 и y = 0.

Мы можем сделать еще один шаг вперед, упростив функцию стоимости до одного уравнения

Когда y равен 1, то второй член будет равен нулю и не повлияет на результат. А когда y равен 0, первый член будет равен нулю и также не повлияет на результат.

Таким образом, наша полная функция затрат будет выглядеть следующим образом:

Векторизованная реализация этого будет:

Спасибо за чтение! Завтра поговорим о градиентном спуске :)