"НАЧИНАЯ"

Бинарная классификация и логистическая регрессия для начинающих

Как решить двоичную классификацию с градиентным подъемом

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

Учитывая новую пару (GPA, exam score) от Сары, как вы можете предсказать, допустят ли Сару? Средний балл Сары составляет 4,3, а на экзамене 79 баллов.

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

Алгоритм решения бинарной классификации - логистическая регрессия.

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



Другой способ спросить «Будет ли Сара принята в магнитную школу?»:

«Какова вероятность поступления Сары с учетом ее среднего балла и баллов на вступительных экзаменах?»

Математический способ представления этого вопроса:

Это уравнение читается как «вероятность того, что y будет равно 1 при x, параметризованном тета».

y = 1 означает «допущен». И наоборот, y = 0 означает «не допускается».

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

θ - это параметры, которые описывают, насколько средний балл / балл за экзамен влияет на вероятность. Помните, что в линейной регрессии θ - это вектор [точка пересечения по оси y, наклон], а наклон m линии (y = mx + b) описывает, насколько переменная x влияет на y.

Логистическая регрессия предназначена для определения этой вероятности, то есть P (y = 1 | x; θ).

Логика логистической регрессии

Нам неизвестен статус приема Сары; но нам известен статус приема 17 других студентов.

Например, как показано на диаграмме, мы знаем, что Джон не допущен, Элиза - нет, а Боб - нет. Мы также знаем результаты и средний балл по каждому из них.

Вероятность того, что Джона не допустят, - это некоторое число от 0 до 1. Вероятность того, что Боба допустят, также находится где-то между 0 и 1.

Мы хотим, чтобы наша модель максимизировала P (y = 0 | x; θ) для Джона, P (y = 1 | x; θ) для Боба и P (y = 0 | x; θ) для Элизы и т. Д. логистической регрессии, мы хотим максимизировать вероятность всех предоставленных точек данных.

Визуализация логистической регрессии

В линейной регрессии и градиентном спуске ваша цель - прийти к линии наилучшего соответствия, постепенно настраивая наклон и точку пересечения по оси Y с каждой итерацией. Линия наилучшего соответствия ограничивает сумму квадратов ошибок.

Очевидно, что поиск линии наименьших квадратов имеет меньше смысла, когда вы проводите классификацию.

Чтобы визуализировать логистическую регрессию, давайте сначала начнем с 2D, когда у вас есть только 1 функция вместо 2. В нашем случае давайте посмотрим только на средний балл.

Ось абсцисс - средний балл. По оси ординат отложена вероятность того, что студент будет принят с учетом ее среднего балла.

Поскольку это двоичная классификация, все указанные точки данных имеют значение y, равное 0 или 1.

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

Что лучше? Красная линия или зеленая линия?

Чтобы ответить на этот вопрос, найдите, где P (y | x) приземляется для каждого среднего балла. Для всех ваших значений GPA вы хотите, чтобы P (y | x) было как можно ближе к наблюдаемому значению y (0 или 1). Например, мы знаем, что Джон не допущен и его средний балл 2,7, поэтому мы хотим, чтобы P (y | 2,7) был близок к 0. Точно так же Боб допущен, а его средний балл 3,8, поэтому нам нужно P (y | 3,8). быть близким к 1. Точная математика для вычисления P (y | x) будет обсуждена в ближайшее время.

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

Алгоритм логистической регрессии

К самой математике!

Если вы помните из статистики, вероятность возникновения eventA И eventB равна вероятности eventA, умноженной на вероятность eventB.

P (A и B) = P (A) * P (B).

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

L(θ) - это то, что мы хотим максимизировать. В терминологии машинного обучения L(θ) называется «оценкой максимального правдоподобия» или MLE.

Третья функция представляет собой комбинацию первых двух. Если вы подставите y = 0 или y = 1 в третью функцию, вы получите одну из первых двух.

В линейной регрессии h (x) принимает форму h(x) = mx + b, которую можно записать следующим образом:

В логистической регрессии мы используем сигмовидную функцию вместо линии.

Взятые вместе, это уравнение для P (y | x; θ)

Вот как вы вычисляете P (y | x) для всех точек данных. Помните, что y равно 0 или 1.

Последний шаг к логистической регрессии - поиск хорошего значения тета.

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

В линейной регрессии мы корректируем точку пересечения по оси Y и наклон с помощью нескольких итераций, чтобы получить линию регрессии по методу наименьших квадратов.

В логистической регрессии вместо минимизации суммы квадратов ошибок (как в линейной регрессии) мы скорректируем параметры теты, чтобы максимизировать L (θ).

Из L (θ) выводим log (L (θ)) или l (θ).

Последнее уравнение для l (θ) - это то, что на самом деле максимизирует алгоритм логистической регрессии. Мы берем логарифм L (θ) исключительно для упрощения вычислительного алгоритма.

Поскольку мы пытаемся здесь максимизировать число, алгоритм, который мы будем использовать, называется градиентным подъемом. Это отличается от градиентного спуска, используемого в линейной регрессии, где мы пытаемся минимизировать сумму квадратов ошибок.

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

Чтобы получить формулу градиентного подъема, мы берем частную производную l (θ) по тета.

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

Я реализовал логистическую регрессию с градиентным подъемом, как показано ниже.

Путем серии проб и ошибок, изменяя альфа скорости обучения и инициализированные значения для тета, я обнаружил, что параметры [-109,99, 10,655, 0,821] хорошо подходят для модели.

Используя эти параметры, вероятность того, что Сару допустят, составит:

(Помните, что средний балл Сары составляет 4,3, а на экзамене 79).

Р = 0,665. Шансы у нее невелики, но шанс у нее неплохой. Скорее всего, ее примут. Таким образом, мы классифицируем ее как «допущенную».

В этой статье говорится о бинарной классификации. В следующей статье я напишу о мультиклассовой классификации. Будьте на связи!

Вы можете найти меня в LinkedIn https://www.linkedin.com/in/yilingchen405/