Логистическая регрессия - это алгоритм классификации. Не запутайтесь по названию. Логистическая регрессия имеет несколько интерпретаций

  1. Вероятностная интерпретация
  2. Геометрическая интерпретация
  3. Интерпретация функции потерь

Что вы узнаете?

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

  1. Геометрическая интуиция
  2. Понимание математики логистической регрессии
  3. Сложность времени и пространства
  4. Регуляризация, переоснащение и недостаточное оснащение
  5. Как это работает, когда у нас есть выбросы
  6. Важность функции, интерпретируемость и мультиколлинеарность

1. Геометрическая интуиция.

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

В качестве примера набора данных я привожу здесь несколько обзоров (обзоров продуктов), которые, как мы все знаем, есть положительные и отрицательные отзывы, все они смешаны. Если какая-либо линия разделяет их на отрицательные или положительные отзывы в 2D, мы называем это линией и плоскостями в 3D.

Как мы видим, приведенные выше данные могут быть разделены линейно (за исключением нескольких точек данных, которые нам подходят, поэтому мы все знаем, что линия в 2D - это y = mx + c ( где c - точка пересечения, а m - наклон). Линия, разделяющая положительные или отрицательные точки, называется Граница решения в логистической регрессии.

Линия в 3D - это не что иное, как гиперплоскость, где b - член пересечения, а w - перпендикулярно плоскости

мы упрощаем, если плоскость (pi) проходит через начало координат b = 0, тогда

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

2. Понимание математики, лежащей в основе логистической регрессии

Теперь, когда мы поняли задачу логистической регрессии, мы должны найти w и b для каждой точки данных, которая разделяет положительные и отрицательные точки данных.

Мы рассматриваем +1 как положительные точки данных и -1 как отрицательные точки данных, и мы вычисляем расстояние (d) каждой точки данных от плоскости.

Если W транспонирует x больше нуля, то это положительная точка y = 1

Если W транспонирует x меньше нуля, то это отрицательная точка y = -1.

Обратите внимание, что плоскость проходит через начало координат, поэтому мы не добавляем здесь b

В. Как мы узнаем, что точка данных правильно классифицирована?

В. Но где это не удается?

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

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

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

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

1. Минимальное значение - 0

2. Сигмоид x максимальное значение равно 1

3. Когда расстояние равно нулю, значение сигмовидной функции равно 0,5.

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

Где -x - точка данных для каждой точки данных, которую мы будем применять сигмовидную функцию

В. Почему мы должны использовать только сигмовидную функцию, а не другие?

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

  1. Имеет вероятностную интерпретацию
  2. Легко отличить

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

Чтобы упростить это, мы берем Журнал, потому что это монотонная функция. Монотонная функция интуитивно понятным образом, если x увеличивается, g (x) также увеличивается

В. Почему мы должны использовать только функцию журнала, а не другие?

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

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

Это наша последняя проблема с оптимизацией

3. Сложность времени и пространства

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

Тренировка логистической регрессии: - Тренинг логистической регрессии - это не что иное, как решение проблемы оптимизации, буквально нахождение лучшего W, это приблизительно O (nd), где n - количество точек в d-train, а d размерность данных

Время выполнения: - Сложность времени выполнения более важна, потому что в реальном мире, что происходит, когда приходит любая новая точка данных, мы должны классифицировать, является ли она положительной или отрицательной, из обучения логистической регрессии мы получаем только вектор W = [w1, w2, w3, w4… ..wn], который является d-мерным, просто мы умножаем новую точку данных на W

временная сложность также O (d), которую мы должны вычислить с вектором W, который является d-мерным

Когда размер невелик?

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

Когда размер большой?

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

4. Регуляризация, переоснащение и недостаточное оснащение

L2-Регуляризатор: -

Теперь посмотрим, как будет выглядеть график exp (-z)

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

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

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

L1-регуляризатор: -

L1-регуляризация создает разреженность в векторе W, что означает, что большинство менее важных функций будут нулевыми.

5. Как это работает, когда у нас есть выбросы

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

6. Важность функции, интерпретируемость и мультиколлинеарность

Важность функции: - Выбор правильных функций более важен, потому что, как только мы находим нужные функции, модель не строит ничего, кроме как просто вводить все нужные функции в модель и находить гиперпараметры.

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

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

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

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

|| Wj || = абсолютное значение веса, соответствующее Fj (признаку)

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

Интерпретируемость модели: - Глядя на значения вектора веса, значения которых велики, мы можем сказать, почему соответствующая точка данных является отрицательной или положительной. Мы можем объяснить, почему это отрицательно или положительно, а интерпретируемость модели более важна в медицинских приложениях и т. Д.

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

Проблема с мультиколлинеарностью: -

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

Чтобы определить, являются ли наши объекты мультиколлинеарными или нет, есть один способ проверить технику возмущения

Спасибо за внимание!