Сегодня мы рассмотрим математическую основу алгоритма машинного обучения ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ. Надеюсь, вы уже хорошо знакомы с лежащей в его основе теорией. Давайте углубимся в пучину математики, чтобы узнать, что стоит за логистической регрессией.

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

Прямая L имеет нормаль w и точку пересечения b. Исходное направление нормали к линии — к красным точкам. Если L проходит через начало координат, то b равно 0. Мы знаем, что линия может быть представлена ​​в виде своей нормали как L: wᵗ *x +b=0 где w – вектор, x – вектор, b – скаляр. wᵗ — это транспонирование вектора w.

Теперь в постановке задачи заданы точки данных, состоящие из красных и синих точек, нам нужно найти такую ​​линию с w и b, которая отделяет красные точки от синих точек. Как мы можем подойти к этой проблеме??

Давайте посмотрим... Сначала попытайтесь понять данные, как уже обсуждалось, они линейно разделимы. Во-вторых, понять классы, присутствующие в данных. Мы рассматриваем -1 как синие точки данных и +1 как красные точки, т. е. yᵢ= +1 для красных точек и yᵢ = -1 для синих точек.

Допустим, теперь я выбираю точку запроса xᵩᵢ в красных точках, тогда расстояние между этой точкой и линией L будет dᵢ и аналогично рассмотрим точку запроса xᵩⱼ в синих точках, расстояние от линии L которых равно dⱼ . Для упрощения вычислений мы считаем, что линия проходит через начало координат, что подразумевает b=0. Мы считаем, что наш w является единичным вектором, что в основном означает ||w||=1.

Как я уже сказал, мы изначально рассматриваем вектор w в направлении красных точек, то есть положительных точек, поэтому его направление к синей точке по умолчанию является отрицательным. Следовательно, расстояние линии L от точки запроса xᵩⱼ отрицательно.

Мы говорим, что наш классификатор правильно классифицирует точки данных, когда фактический класс точки и класс, определенный нашей моделью, совпадают, что в основном подразумевает если точка положительна y=+1, и модель также предсказывает, что она будет +1, когда (w*xᵩᵢ›0), аналогично, если фактическая точка имеет отрицательное значение y= -1 и модель предсказывает, что она будет равна -1, когда ( w*xᵩⱼ‹0) .

Другой случай может быть, когда наш классификатор неправильно классифицирует точки данных, когда фактический класс точки и класс, обнаруженный нашей моделью, отличаются, то есть если точка положительна y=+1, и модель также предсказывает, что она будет равна -1, когда (wᵗ*xᵩᵢ ‹0), аналогично если фактическая точка отрицательная, yj = -1 и модель предсказывает, что она будет +1, когда (wᵗ * xᵩⱼ›0).

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

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

Очень большие положительные значения сжимаются до +1, а очень большие отрицательные значения сжимаются до 0, а остальные лежат между 0 и 1. Таким образом, большие расстояния теперь будут сжиматься либо до +1, либо до -1.

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

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

На данный момент наша общая функция стала отрицательной, и у нас изначально есть проблема максимизации, поэтому в целом она становится проблемой минимизации после удаления знака минус.

Позвольте мне обобщить приведенное выше уравнение для вас.

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

n-мерные данные будут иметь n признаков, а также n весов w.

Так как после обучения мы получаем оптимальный набор w и b. Теперь, если вы возьмете точку запроса xq, которая присутствует, скажем, в красных точках, тогда модель уже изучила вектор w во время обучения, поэтому она просто найдет wᵗ * xᵩ и затем примените сигмоид поверх него, а затем вычислите, если его значение больше некоторого порога, скажем, 0,5, тогда оно будет рассматриваться как положительная точка, иначе отрицательная точка.

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

Первоначально опубликовано на https://myselfdatascientist.blogspot.com 23 июля 2022 г.