ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ

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

ДОПУЩЕНИЯ ЛР

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

РАБОТА ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ

Представьте, что у вас есть два линейно разделяемых класса (обозначенных точкой и крестиком слева), вы можете легко нарисовать линию / гиперплоскость для разделения этих классов.
Обозначим эту гиперплоскость как π: (w, b).
Уравнение плоскости
π = w’x + b, где x - точка данных, которая является вектором.

Наша задача здесь - найти w и b так, чтобы мы получили уравнение гиперплоскости, которое лучше всего разделяет два класса.
Предположим, что наша цель (y) здесь равна +1 для + ve точек (точек) и -1 для -ve точек (крестик).
Расстояние от точки до плоскости (di) = w'xi, для удобства мы приняли w за единичный вектор.
Теперь давайте посмотрим, как выполняется классификация используя 4 случая ниже -

  • СЛУЧАЙ 1: y = + ve, w'xi = + ve
    это означает, что наша модель говорит, что xi принадлежит к положительному классу, и мы видим, что
    y = + ve . Таким образом, мы можем сказать
    (yi * w’xi) ›0
    Правильно классифицировано
  • СЛУЧАЙ 2: y = -ve, w’xi = -ve
    это означает, что xi принадлежит отрицательному классу, и мы видим, что
    y = -ve. Таким образом, мы можем сказать
    (yi * w’xi) ›0
    Правильно классифицировано
  • СЛУЧАЙ 3: y = + ve, w’xi = -ve
    это означает, что xi принадлежит отрицательному классу, но мы видим, что
    y = + ve. Таким образом, мы можем сказать
    (yi * w’xi) ‹0
    Неправильно классифицировано
  • СЛУЧАЙ 4: y = -ve, w’xi = + ve
    это означает, что xi принадлежит положительному классу, но мы видим, что
    y = -ve. Таким образом, мы можем сказать
    (yi * w’xi) ‹0
    Неправильно классифицировано

Чтобы наш классификатор был хорошим, общее количество правильно классифицированных точек должно увеличиться. Поэтому наш мотив - получить max ( Σ (yi * w’xi)).

УСТРАНЕНИЕ ВОЗДЕЙСТВИЯ НАРУЖНИКОВ С ПОМОЩЬЮ СИГМОИДА

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

w * = argmax Σ сигмоид (yi * w’xi), где Σ от i = 1 до n и n = общее количество точек данных, а argmax - для w

Наша последняя задача оптимизации для логистической регрессии с учетом
y = (-1, + 1) принимает следующий вид:

w * = argmin Σ log (1 + exp (-yi * w’xi)), где Σ от i = 1 до n и n = общее количество точек данных, а argmin - для w

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

РЕГУЛЯРИЗАЦИЯ L1 и L2

Уравнение оптимизации, которое мы вывели выше, может привести к проблеме переобучения, потому что для минимизации значения уравнения w может стремиться к + бесконечности или - бесконечности.
Это, в свою очередь, привело бы к идеальному соответствию обучающим данным, поскольку минимальное значение было бы совершенным 0, следовательно, переоснащение. Чтобы избавиться от вышеуказанной проблемы, мы используем РЕГУЛЯРИЗАЦИЮ.

  • Мы добавляем к нашему уравнению член регуляризации, чтобы предотвратить стремление w к бесконечности.
  • Используемый термин регуляризации, если он равен λ (w’w), то это L2-регуляризация, а если это λ (|| w ||), то он называется L1-регуляризацией.

λ - гиперпараметр, который можно найти с помощью перекрестной проверки.

РЕГУЛЯРИЗАЦИЯ L1
w * = argmin Σ log (1 + exp (-yi * w'xi)) + λ (|| w ||), где Σ от i = 1 до n, n = общее количество точек данных, а argmin - для w

Преимущества использования регуляризации L1 заключаются в том, что он делает все менее важные функции равными 0, т.е. соответствующий w для этой функции будет равен 0. Таким образом, L1 reg. было бы очень полезно, если бы у нас были данные большого размера.
Но если мы используем L2 Regularization, то соответствующее w для этой функции будет очень маленьким значением.

РЕГУЛЯРИЗАЦИЯ L2
w * = argmin Σ log (1 + exp (-yi * w'xi)) + λ (w'w), где Σ - от i = 1 до n и n = общее количество точек данных, а argmin - для w

ПЕРЕОБОРУДОВАНИЕ И УНИВЕРСАЛЬНОСТЬ

  • Если λ = 0, это означает, что мы рассматриваем исходное уравнение, что может привести к переобучению.
  • Если λ - ›бесконечность, то это означает, что мы вообще не рассматриваем исходное уравнение, поэтому прогнозы будут очень неточными и, следовательно, приведут к неполному соответствию.

ОПРЕДЕЛЕНИЕ ВАЖНОСТИ И ВОЗМОЖНОСТИ LR

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

СЛОЖНОСТЬ ПОЕЗДКИ И ВРЕМЕНИ БЕГА И СЛОЖНОСТЬ ПРОСТРАНСТВА

  • Время обучения = O (n * d), где n = количество точек данных и d = размер
  • Время выполнения = O (d)
  • Сложность пространства = O (d)

ОСУЩЕСТВЛЕНИЕ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ

Мы будем использовать очень известный набор данных из Kaggle, где задача состоит в том, чтобы создать модель, которая предсказывает, какие пассажиры выжили при кораблекрушении "Титаника". Набор данных можно скачать здесь.
Это также проблема бинарной классификации, когда цель Выжившие имеет 0 для людей, которые не пережили катастрофу, и 1 для тех, кто выжил.

Мы предварительно обработали наши данные в x_train и y_train и импортировали логистическую регрессию из sklearn.

  • В приведенном выше фрагменте мы видим штраф = «l1». Этот атрибут в реализации LR в sklearn определяет желаемый тип регуляризации.
  • Параметр C является обратным параметру λ. Меньшее значение C определяет сильную регуляризацию.

Вы можете обратиться к подробной реализации LR на Titanic Dataset здесь.