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

Это индекс этого урока, поэтому вы можете выбрать, какая часть вас больше интересует:

  1. Введение в логистическую регрессию
  2. Линейная регрессия и логистическая регрессия
  3. Математическая основа логистической регрессии
  4. Сигмовидная функция
  5. Отношение шансов
  6. Обозначение матрицы логистической регрессии
  7. Оценка максимального правдоподобия
  8. резюме
  9. Другие ресурсы
  10. Библиография

Предыдущие уроки по линейной регрессии:

1. Первая часть по математике: здесь

2. Вторая часть о реализации Python, оценка алгоритма: здесь

3. Третья часть о регуляризации: здесь

Введение в логистическую регрессию

В предыдущем уроке мы представили концепцию обучения с учителем (работа с размеченными данными). Мы обсудили регрессию, где ваша задача состоит в том, чтобы вычислить значение зависимой переменной (y), используя независимые переменные (X). Сейчас мы вводим понятие классификация. Поскольку примерно 70 % проблем связаны с классификацией, знание методов классификации имеет важное значение в науке о данных. Метод классификации представляет собой контролируемый алгоритм машинного обучения, который фиксирует взаимосвязь между входными переменными и целевой переменной. В этом случае алгоритм обучается предсказывать, к какой категории (или классу) принадлежит точка данных (разумеется, исходя из ее признаков). Как мы обсуждали ранее, модель анализирует особенности набора данных и пытается математически выразить зависимость между входными и выходными данными. разница между регрессией и классификацией заключается в том, что первая оценивает непрерывную и неограниченную зависимую переменную, а вторая оценивает дискретную и конечную переменную (которые называются классами). Например, оценка дохода книжного магазина представляет собой задачу регрессии (выход модели непрерывен). Вместо этого оценка продаж той категории книг, которые покупаются, является проблемой классификации. Логистическая регрессия — это метод классификации, используемый для решения задач бинарной классификации. Это один из основных и старых методов, но он все еще широко используется. Расширением логистической регрессии является Многочленная или мультиклассовая классификация, используемая для решения проблемы, когда вам нужно обрабатывать несколько классов в целевой переменной (y).

Когда можно использовать логистическую регрессию? Вот некоторые примеры:

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

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

В исследованиях онкологии и рака логистическая регрессия использовалась для стратификации риска пациентов (1). Стратификация риска является важным инструментом в медицине для определения риска для пациента. Стратификация риска отвечает на аналогичные вопросы:

  • Диагноз: какова вероятность наличия у пациента определенного заболевания?
  • Прогноз. Какова вероятность выживания пациента через 5 лет?
  • Ответ на лечение: хорошо ли пациент реагирует на лечение? Эффективно ли лечение?
  • Профилактика заболеваний: требуется ли этот скрининг для пациента?

Как видите, на большинство этих вопросов требуется бинарный ответ. Демография, симптомы и другие результаты медицинского осмотра — это ваши характеристики. В настоящее время генетические особенности включаются в модели риска. Одной из первых моделей (1970 г.) была оценка риска Framingham для оценки того, развивается ли у пациента ишемическая болезнь сердца. С тех пор было разработано множество шкал риска (от рака молочной железы до других патологий). Шкала риска, которая оценивает необходимость скрининга, позволяет сосредоточить внимание на пациентах высокого риска и предотвратить вспыльчивую болезнь. Логистическая регрессия широко используется, но у нее есть недостаток, заключающийся в том, что предполагается линейная зависимость (что не относится к методам глубокого обучения, поэтому в определенных случаях эти модели предпочтительнее). Как мы обсудим позже в этом руководстве, одним из преимуществ логистической регрессии в стратификации риска является ее интерпретируемость. Таким образом, коэффициент регрессии можно использовать для создания оценки риска для каждого человека и для оценки индивидуального вклада каждого признака в результат.

Итак, как мы уже видели, у нас есть:

  • Независимые переменные (или входные данные, предикторы, признаки или X). Если у вас есть только одна зависимая переменная, называемая x, и это вектор (от 1 до n), с большим количеством входных переменных у вас есть матрица.
  • Зависимая переменная (или выход, ответ или y). если у вас есть два класса, это бинарная классификация (классы обычно обозначаются как 0 и 1, истина и ложь или положительные и отрицательные). Если у вас есть три или более классов в качестве выходных данных, у вас мультиклассовая или полиномиальная классификация. Другим случаем является порядковая логистическая регрессия, когда целевая переменная охватывает три или более порядковые категории (например, рейтинг продукта в диапазоне от 1 до 5).

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

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

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

Как мы видели в предыдущем уроке, уравнение линейной регрессии:

А это сигмовидная функция:

Если мы применим сигмовидную функцию к линейной регрессии:

Линейная регрессия, как мы видели, обеспечивает непрерывный результат, вместо этого логистическая регрессия обеспечивает постоянный результат. Чтобы найти наилучший вес, мы используем подход Оценка максимального правдоподобия (MLE) при обучении логистической модели. На рисунке ниже видно, что если у нас есть зависимая переменная, имеющая только две категории (пример: злокачественное или доброкачественное образование), явно лучше использовать логистическую регрессию.

Таким образом, разница и сходство между линейной и логистической регрессией заключаются в следующем:

  • Выходная переменная является непрерывной в линейной регрессии (поскольку действительные числа, она может варьироваться от -∞ до +∞), в то время как дискретная и бинарная в логистической регрессии.
  • Оценка веса в линейной регрессии проводится с использованием Обычных наименьших квадратов (OLS), в то время как вы используете оценку максимального правдоподобия (MLE) в логистической регрессии.
  • Для пригодности модели вы не используете R-квадрат (и другие метрики), но используете согласованность, KS-статистику (и другие метрики, которые будут подробно обсуждаться ниже).
  • Зависимая переменная в логистической регрессии следует распределению Бернулли, в то время как в линейной регрессии целевая переменная является гауссовой.
  • Как и в случае линейной регрессии, мы предполагаем отсутствие корреляции (или мультиколлинеарности) между независимыми переменными.
  • Логистическая регрессия также чувствительна к выбросам.

если вы хотите узнать больше о линейной регрессии геномных данных:



Математическая основа логистической регрессии

В этом разделе мы подробно обсудим основы алгоритма логистической регрессии.

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

Сейчас мы обсудим некоторые концепции, которые будут фундаментальными для понимания алгоритма.

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

Начнем с сигмовидной функции. Сигмоида — это, по сути, математическая функция, имеющая характерную S-образную форму (которая называется сигмовидной кривой).

Логистическая функция представляет собой сигмоиду:

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

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

Что такое маленькое «е» в функции? Это число Эйлера, которое обозначается буквой e, и оно часто используется в математике. Вы можете рассчитать по этой формуле:

Поскольку n приближается к бесконечности, значение близко к 2,71828.

Естественная показательная функция:

А на рисунке натуральная показательная функция:

Эта функция имеет разные свойства, одно из самых известных — это то, что производная функция одинакова.

Почему мы используем сигмовидную функцию в логистической регрессии? Потому что это позволяет нам иметь значения от 0 до 1.

Отношение шансов

Соотношение шансов — это шансы в пользу того или иного события. Он количественно определяет силу связи между двумя событиями. Если А — это вероятность того, что опухоль злокачественная, а В — вероятность того, что опухоль доброкачественная, то шансы равны А/В.

Если мы рассматриваем злокачественную массу как интересующее нас событие, отношение шансов:

Отношение шансов = P/(1-P)

Вероятность находится в диапазоне от 0 (события нет) до 1. В общем, вы рассматриваете P как возможность успеха (происходит событие, поступление в университет) и определяете Q как неудачу.

Вероятность успеха (P) = 0,8

Вероятность отказа (Q) = 1- P = 0,2

Шансы — это отношение вероятности успеха к вероятности неудачи, тогда:

Шансы (успех) = P/Q = 0,8/0,2 = 4

Шансы (неудача) = Q/P = 0,2/0,8 = 0,25

В качестве простого примера представьте, что у нас есть две группы пациентов, получавших лечение препаратом А или Б. При приеме препарата А на 10 пациентов выжило 7. В то время как с препаратом Б на 10 больных выжило 3. Какова вероятность выживания пациентов, получавших препарат А?

P — вероятность выжить, а Q — наоборот. Для препарата А:

P = 7/10 = 0.7

Q = 1 — P = 1–0.7 = 0.3

В то время как для препарата B.

P = 3/10 = 0.3

Q = 1 — P = 1–0.3 = 0.7

Шансы выжить:

Нечетное (А) = 0,7/0,3 = 2,33

Нечетное (В) = 0,3/0,7 = 0,42

Отношение шансов 2,33/0,42 = 5,44.

Тогда как общая формула:

Обозначение матрицы логистической регрессии

На данный момент вы можете проверить этот отличный учебник: здесь.

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

В этом случае x — это вектор (вектор признаков), w — связанный вес, и есть смещение (константа, которую мы не записываем, связанную с вектором признаков).

Как мы видели в предыдущем уроке по линейной регрессии, это уравнение линейной регрессии.

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

Что также можно переписать как:

Помните, что B0, B1, Bn называются оценками или коэффициентами регрессии (или также весами).

Почему п? потому что мы можем интерпретировать вывод как вероятности. В частности, результатом логистической регрессии является то, что входные данные принадлежат классу, помеченному как 1. И, как мы видели, прежде чем мы также можем вычислить вероятность того, что наши входные данные принадлежат классу 0. Y здесь — истинная метка класса нашего ввод х. функция f(x) или p(x) часто рассматривается как прогнозируемая вероятность того, что выход для данного x равен 1. Тогда для класса 0 прогнозируемая вероятность для данного x равна 1-p(x).

Как мы видели ранее в учебнике по линейной регрессии, мы не знаем весов. Нам нужно найти значение этого веса; модель узнает этот вес, используя примеры (точки данных с меткой истинности). Процесс вычисления наилучших весов с использованием доступных наблюдений называется обучением или подгонкой модели. Мы используем прогнозируемый результат и сопоставляем истинное значение, чтобы минимизировать разницу. Предсказанный y также называется y-шляпой. У нас есть матрица X, содержащая все функции для нашего набора данных, w — это вектор, который содержит веса для всех функций, и, умножая их, мы получаем прогнозы. Для набора данных мы получаем y-шляпу как вектор, содержащий предсказанные метки. Итак, наша сигмовидная функция может быть записана так:

Идея состоит в том, чтобы объединить это с сигмовидной кривой и выделить Xw.

Это закрытая форма для нахождения весов (используя матричный расчет).

Вместо этого мы видим здесь градиент (дополнительную информацию о градиенте и потомке стохастического градиента (SGD) см. в предыдущем руководстве).

Приведенные выше формулы предназначены для линейной регрессии. Мы можем сделать замену:

И градиент:

Можем ли мы использовать сумму квадратов ошибок (SSE) в качестве функции стоимости?

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

Оценка максимального правдоподобия

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

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

Уравнение оценки максимального правдоподобия:

Ln — натуральный логарифм. Функция натурального логарифма — это функция логарифма с основанием логарифма, эквивалентным e (число Эйлера). Другими словами, натуральный логарифм x — это степень (или показатель степени), в которую нужно возвести e, чтобы оно равнялось x. практически, если x = 7,5

Ln(7.5) = 2.0149

Поскольку e^2,0149 = 7,5

На изображении ниже показан натуральный логарифм для некоторой переменной x для значений от 0 до 1. Поскольку натуральный логарифм x приближается к нулю, он приближается к отрицательной бесконечности, а для ln(x) с x = 0 равен 0. Противоположное верно для ln(1-x). почему вместо ln пишется log(x)? в python (и это верно также для языка R) в разных библиотеках log(x) представляет собой натуральный логарифм x. если вы используете NumPy log(x), он рассчитает натуральный логарифм x.

Для данного x, когда y = 0, тогда MLE есть ln(1-p(xi)) и если p(xi) близко к yi = 0, то ln(1-p(xi)) близко к 0. Это это то, что мы хотим, если фактическое значение y равно 0, мы хотим, чтобы y-шляпа была равна 0, и мы хотим, чтобы вероятность была близка к 0.

Когда y = 1, MLE для этого наблюдения (или точки данных) равен yi*ln(p(xi)). Если p(xi) равно 1, то yi*ln(p(xi)) равно 0, чем больше p(xi) приближается к 1, тем больше логарифм близок к нулю. А также, как мы видели на изображении выше, больше p(xi) далеко от 1, и больше логарифм - большое отрицательное число. Идея действительно состоит в том, чтобы максимизировать функцию стоимости (в основном максимально близкую к нулю), в то время как большие отрицательные числа означают высокую ошибку.

Теперь мы описываем это, используя матричную запись. Функция правдоподобия — это совместные вероятности меток (зависимая переменная) с учетом входных данных (фактически независимые переменные, мы предполагаем, что входные данные независимы). Действительно, вероятность может быть записана как произведение вероятностей каждой точки данных (или наблюдений). Для набора данных m наблюдений:

Эта функция L учитывает веса, а также входные данные (x) и истинные метки (y), если мы рассмотрим последние два как константу, которую мы не можем изменить, мы можем переписать уравнение следующим образом:

Как мы видели выше, мы можем переписать вероятности для каждой метки класса (где P — вероятность для класса 1, а затем для класса 0 — 1-P)

И в компактном виде:

Что в конкретном то же самое:

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

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

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

Сводка

У нас есть матрица входов (x) с весом (w) и зависимая переменная (y, с метками 0 и 1). Цель состоит в том, чтобы предсказать метки класса (y) для наблюдений (x). мы делаем это, умножая каждый признак (x) на соответствующий вес (w).

Преобразование этого с помощью сигмовидной функции:

Затем вычисляем функцию стоимости:

Мы вычисляем производную функции стоимости или градиента:

Мы умножаем производную для гиперпараметра (альфа или скорость обучения) и используем ее для обновления веса.

Если мы хотим реализовать это на питоне с нуля:

если вам было интересно:

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

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



Другие ресурсы

Если вы хотите узнать больше о соотношении шансов: здесь

математика логистической регрессии: здесь

по натуральному логарифму: здесь

если вы хотите реализовать логистическую регрессию с нуля: здесь

Библиография

1. Imperiale TF, Monahan PO. Стратегии стратификации риска для скрининга колоректального рака: от логистической регрессии к искусственному интеллекту. Gastrointest Endosc Clin N Am (2020) 30: 423–440. doi:10.1016/j.giec.2020.02.004

2. Cenko E, Ricci B, Bugiardini R. «ИМпST: прогноз», в Энциклопедии сердечно-сосудистых исследований и медицины, под ред. Р. С. Васан, Д. Б. Сойер (Оксфорд: Elsevier), 489–498. doi: 10.1016/B978–0–12–809657–4.99745-X