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

Чему вы научитесь?

  • Где использовать Логистическую регрессию.
  • Почему мы используем сигмовидную функцию и что это такое на самом деле?
  • Понимание функции потерь без сложной математики.
  • Когда какую регуляризацию использовать.

ВВЕДЕНИЕ

В машинном обучении есть два типа проблем: первая — это классификация, а другая — регрессия. Мы используем логистическую регрессию только тогда, когда возникает проблема классификации с 2 классами. Например, диабетик у парня или нет?

Разве мы не можем использовать его в мультиклассе?… Ну, ДА, мы также можем использовать логистическую регрессию в задачах классификации мультиклассов, но мы рассматриваем эту проблему как бинарный класс, например, классификацию разных цветов. мы проверяем, является ли цветок розой или нет (разбили его на классификацию бинарных классов), если нет, то проверяем, является ли он лотосом или нет, и так далее.

Как работает логистическая регрессия

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

Логистическая регрессия делит классы линией или плоскостью, которая отделяет положительные точки класса от отрицательных точек класса.

Теперь вся математика связана с уравнением той плоскости или линии, которая лучше всего разделяет точки!

Математическое понимание

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

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

Согласно изображению у нас есть положительные точки как o на положительной стороне плоскости и отрицательные точки как x на отрицательной стороне плоскости. если мы рассчитаем расстояние, которое будет ⍵T x / |⍵| и умножить его на метку точек (+1 или -1), тогда мы всегда получим положительное значение при условии, что плоскость идеально разделяет точки.

Теперь мы рассчитаем это значение для каждой точки, и мы хотим, чтобы сумма была максимальной, тогда мы считаем ⍵ лучшим ⍵, когда Σ (y * d) дает максимальный результат.

Счастливый конец? … К сожалению, нет!

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

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

Сигмовидная функция – это математическая функция, которая принимает на вход действительные числа и дает диапазон (0, 1)

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

Уравнение сигмовидной функции для входного сигнала x равно 1/(1 + e^-x), поэтому уравнение, где x: y * ⍵^T x / |⍵|

Вычисляем аргумент ⍵, при котором уравнение будет максимальным.

Математическая редакция:если у нас есть функция f(x) и монотонная функция g(x), то, скажем, при x = 0 f(x) была минимальной, тогда g(f(x)) будет также быть минимальным при x = 0.

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

почему нам нужно это делать?

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

Лучшая монотонная функция для добавления к нашему уравнению — это логарифмическая функция.

Это сигмовидная функция

А это лог сигмовидной функции

как мы видим, график немного изменился, но все же не сильно… так что давайте разберемся с математикой и посмотрим, что изменится, если мы это сделаем

Как мы видим, теперь нам нужно найти омегу, для которой уравнение дает наименьший ответ.

Чтобы минимизировать log(1 + e^(-y*d)) мы увидим график log x.

Первое, что нужно понять, это то, что log (1 + некоторое положительное значение) всегда будет давать положительное значение.

Почему мы используем регуляризацию?

Как мы видим, журнал минимум равен 1, если мы говорим о положительных значениях, поэтому, если log(1) = 0, то log(1 + положительное значение) всегда больше 0.

Чтобы минимизировать это, e^(-y * (⍵^T) * x / |⍵|) должно быть равно 0, теперь в этом уравнении единственная независимая переменная или переменная, которую мы можем изменить, — это омега, поскольку x и y данные. если омега станет бесконечной, уравнение будет минимальным, но это непрактично, поскольку мы хотим, чтобы омега была конечной.

Как показано на изображении, мы добавляем термин, называемый термином регуляризации, который будет контролировать рост омеги до бесконечности, чтобы минимизировать решение… Как?

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

Типы регуляризации

Существует 3 типа: регуляризация L2, регуляризация L1 и эластичная сеть, в которой используются L1 и L2.

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

В последнюю очередь эластичная сетка.

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