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

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

Теперь мы погрузимся глубже, чтобы понять, как логистическая регрессия работает интуитивно математически и геометрически.

Давайте попробуем разобраться в приведенном ниже графике.

Здесь у нас есть две категории: красные точки данных и синие точки данных. Давайте рассмотрим красные точки данных как положительные точки, то есть +1, а другие синие точки данных как -1 (отрицательные точки), и линейная разделяемая плоскость классифицирует эти два типа точек данных.

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

Здесь c, β0 и b - точки пересечения, а m, β1 и w ^ T - наклон. Эта линия наилучшего соответствия (линейная разделяемая плоскость, как на рисунке 1) не рассчитывается методом наименьших квадратов, а требуется найти наилучшее значение наклона (т. Е. Значение m, β1 или w ^ T)

Из рисунка 1, когда наша плоскость проходит через начало координат, мы можем сказать, что значение точки пересечения (т. Е. Значение c, β0 и b) равно нулю, тогда наше уравнение (y = w ^ T * x + b) выглядит так: y = w ^ T * x.

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

Рассмотрим точку P, а AB - линейную плоскость с наклоном w ^ T, тогда расстояние между ними будет OP, где OP = (w ^ T * x + b) / | w |. || обозначает абсолютное значение. Если рассматривать модуль w как единичный вектор, то | w | = 1, и здесь значение b рассматривается как 0 из рисунка 1. Тогда это уравнение принимает вид OP = w ^ T * x. Итак, расстояние многих таких точек данных от плоскости можно рассматривать следующим образом:

Из рисунка 2 видно, что точка P находится над положительной плоскостью, поэтому OP = (+ ve) w ^ T * x, но поскольку точка N находится на отрицательной стороне наклона, то NM = (- ve) w ^ T * Икс.

Теперь давайте рассмотрим следующие случаи, взятые из рисунка 1.

Случай 1 из приведенного выше рисунка 3.

Предположим, y - моя красная точка, т.е. y = +1, а расстояние до плоскости равно + ve w ^ T * x. Следовательно, произведение двух выглядит следующим образом:

Случай 2 на рисунке 4 ниже.

Точно так же y - синяя точка, т.е. y = -1, а расстояние до плоскости (-ve) w ^ T * x. Следовательно, произведение двух выглядит следующим образом:

Определим случай 3 с помощью этого рисунка 5.

Здесь снова y - синяя точка, т.е. y = -1, а расстояние до плоскости равно (+ ve) w ^ T * x. Следовательно, произведение двух выглядит следующим образом:

Теперь рассмотрим случай 4 для рисунка 6 ниже.

Точно так же y - это красная точка, т.е. y = +1, а расстояние до плоскости (-ve) w ^ T * x. Следовательно, произведение двух выглядит следующим образом:

Итак, из приведенных выше случаев ясно, что положительный продукт подразумевает правильную классификацию, как в случаях 1 и 2, тогда как отрицательный продукт означает неправильную классификацию, как в случаях 3 и 4. .

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

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

Для простоты давайте рассмотрим каждую из красных точек данных (+ ve точек) и синих точек (-ve точек), которые равноудалены от линейной плоскости на рисунке 8., например, 2, за исключением, конечно, выброса. Произведение для каждой красной точки равно 2 (as, y = +1 и w ^ T * x ›0), а произведение для синей точки также равно 2 (as, y = -1 и w ^ T * x‹ 0) . Теперь, переходя к выбросу, пусть расстояние будет 100, тогда произведение для этого будет -100 (as, y = -1 и w ^ T * x ›0). Следовательно, суммирование произведения всех точек данных равно (2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2–100) = - 76.

Во втором сценарии, если мы переместим линейную плоскость во что-то вроде рисунка 9.

Теперь, с новым линейным разделителем, произведение расстояния с синими точками составляет -6, -5, -4, -3, -2, -1 (например, в качестве синих точек y = -1 и w ^ T * x ›0), а с красными точками - 6, 5, 4, 3, 2,1 (например, как y = + 1 и w ^ T * x› 0). Тогда произведение для синей точки выброса будет 1 (например, при y = -1 и w ^ T * x ‹0)

Следовательно, произведение всех точек данных в сумме составляет (-6–5–4–3–2–1 + 6 + 5 + 4 + 3 + 2 + 1 + 1) = 1. As, 1 ›-76, тогда эта линейная плоскость, показанная на рисунке 9, может быть выбрана как наиболее подходящая, что абсолютно неверно. Здесь очень важную роль играет сигмовидная функция.

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

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

Следовательно, сигмовидную кривую (S-образную кривую) можно представить следующим образом:

Примечание.

Почему мы считаем точки данных равными -1 и +1?

Геометрически расстояние между точкой (x, y) и прямой линией (ax + by + c = 0) также может быть представлено как (ax + by + c) / √ (a ^ 2 + b ^ 2).

На рисунке 11 линейное уравнение представлено как

y = m*x+c => -m*x +y-c = 0

Тогда расстояние можно представить как

(-m*x+y-c) /√(m^2 + 1).

Учитывая, что m = 1 (наклон), c = 0 (точка пересечения) и красная точка как (2, 5), если мы вычисляем расстояние

= (- (1 * 2) + 5-0) / √ (1 + 1) = + 3 / √2 (положительное значение)

Это означает, что расстояние между любой точкой и положительной стороной склона всегда положительно и, следовательно, считается +1.

Принимая во внимание тот же наклон и значение точки пересечения для синей точки, что и (5, 2), мы можем рассчитать расстояние как

= (- (1 * 5) + 2–0) / √ (1 + 1) = -3 / √2 (отрицательное значение).

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

По этой же причине красные и синие точки можно рассматривать как положительные и отрицательные соответственно.