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

Для набора данных D = {xᵢ, yᵢ}, где xᵢ ∈ Rᵈ и yᵢ ∈ {C₁, C₂, C₃,…., Cₙ}, и точки запроса xₚ, мы должны предсказать, какой класс эта точка принадлежит.

Итак, приступим. 🚗

Допущение логистической регрессии: предполагается, что данные можно разделить линейно или почти линейно.

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

Чтобы найти плоскость, нам нужно найти w и b, где w перпендикулярно плоскости, а b - член пересечения.

Мы знаем, что расстояние до плоскости xᵢ равно:

Для простоты предположим, что

и самолет проходит через начало координат. Следовательно,

Другое предположение: -

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

Как наш классификатор классифицирует точку?

  • Если точка принадлежит области в направлении вектора w, то она будет помечена как положительная.

  • Если точка принадлежит области в противоположном направлении вектора w, то точка будет помечена как отрицательная.

Давайте рассмотрим все кейсы для нашего классификатора

Случай 1: yᵢ = 1 (балл положительный) и wᵀ xᵢ ›0 (модель прогнозирует положительный результат)

В этом случае yᵢ wᵀ xᵢ ›0

Случай 2: yᵢ = -1 (балл отрицательный) и wᵀ xᵢ ‹0 (модель предсказывает отрицательный результат)

В этом случае yᵢ wᵀ xᵢ ›0

Случай 3: yᵢ = 1 (точка положительная) и wᵀ xᵢ ‹0 (модель предсказывает отрицательный результат)

В этом случае yᵢ wᵀ xᵢ ‹0

Случай 4: yᵢ = -1 (балл отрицательный) и wᵀ xᵢ ›0 (модель прогнозирует положительный результат).

В этом случае yᵢ wᵀ xᵢ ‹0

Мы хотим, чтобы все больше и больше точек классифицировалось правильно, т.е. мы хотим, чтобы больше точек относилось к случаю 1 и случаю 2, а не к случаю 3 и случаю 4.

Целевая функция логистической регрессии

Предположим, у нас есть n точек данных, тогда нам нужна гиперплоскость

Проблема с математической целевой функцией логистической регрессии

Он чувствителен к выбросам. Как?

Представим себе такой сценарий:

Здесь точка P представляет собой выброс относительно плоскости π₁, которая находится на расстоянии 100 единиц в противоположном направлении.

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

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

для π₁:

для π₂:

Несмотря на то, что π₁ кажется лучшим вариантом, только из-за выброса P наша целевая функция говорит, что π₂ является лучшим вариантом.

Кроме того,

Итак, как справиться с выбросами?

Это серьезная проблема, только если выброс находится очень далеко.

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

Этот процесс минимизации больших расстояний известен как СЖАТИЕ. Одной из функций, которая выполняет эту работу за нас и которая является наиболее предпочтительной, является сигмоидальная функция.

Сигмовидная функция

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

  • сиг (0) = σ (0) = 0,5
  • Расстояния от плоскости могут быть (-∞, + ∞), но после прохождения через функцию σ мы получим значение в (0,1).

Порог:

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

Если σ (wᵀ x) ≥ 0,5, прогнозируйте +1, иначе прогнозируйте 0

Почему используется сигмовидная функция?

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

Итак, наша новая математическая целевая функция будет -

Упрощение целевой функции:

Почему мы взяли отрицательный лог?

  • Чтобы сделать σ (yᵢ wᵀ xᵢ) выпуклой функцией, чтобы ее было легче оптимизировать.
  • Мы можем вывести целевую функцию логистической регрессии, используя еще два способа: (1) вероятностный подход (где мы рассматриваем функции, которые следуют распределению Гаусса, а выходная метка соответствует распределению Бернулли), и (2) минимизируя функцию логистических потерь (которая является приближение к 0–1 функции потерь). Оба они содержат логарифмический член. Поскольку журнал является монотонной функцией, это не повлияет на нашу задачу оптимизации.

Интерпретация w

Предположим, мы получили оптимальное значение w, тогда

т.е. для каждой функции fᵢ будет соответствующий ей вес. Вот почему w также называют вектором весов.

Случай 1: когда wᵢ равно + ve

Случай 2: когда wᵢ равно -ve

Регуляризация

Пусть zᵢ = yᵢ wᵀ xᵢ

Оптимальное значение функции потерь получается при:

каждый из log (1 + exp (-zᵢ)) является минимальным, что происходит, когда zᵢ стремится к + ∞

Это означает, что все zᵢ должны быть положительными или, другими словами, все yᵢ wᵀ xᵢ должны быть положительными (Это случай 1 и случай 2, которые мы обсуждали ранее).
Все идеально классифицированные обучающие данные иногда приводили к переобучению данных.

Как этого избежать?

Нам нужно контролировать значение w, чтобы оно не достигало очень высоких значений.

Наказывать значение w можно тремя способами:

  1. Регуляризация L2

Существует компромисс между логистическими потерями и условиями регуляризации.

2. Регуляризация L1

Важные моменты:

  • Для менее важной функции fᵢ регуляризация L1 генерирует wᵢ = 0 (т.е. регуляризация L1 создает разреженный вектор веса), а регуляризация L2 wᵢ, которая мала.
  • Регуляризация L1 приводит к быстрым вычислениям из-за генерации разреженного вектора.

3. Эластичный - чистый

Он включает в себя преимущества регуляризации L1 и L2.

  • У него будет 2 гиперпараметра
  • Кропотливый
  • Высокая производительность

Стандартизация столбцов

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

  • Если признаки данных не коллинеарны / мультиколлинеарны, то более важными будут признаки fᵢ, соответствующие более высоким весам wᵢ.
  • Однако, если элементы коллинеарны, можно переключиться на выбор функции вперед или исключение функции в обратном направлении, которые являются стандартными способами определения важности функции и работают независимо от модели.
  • Как только важность функции известна, модель может привести аргумент, что она предсказала +1 или -1 на основе этих функций.

Временные и пространственные сложности

Поезд:

  • Обучение логистической регрессии - это не что иное, как оптимизация функции потерь, которая занимает O (n * d) времени с использованием SGD.
  • От нас требуется хранить все точки, что занимает O (n * d) пространства.

Тест:

  • Нам нужно только сохранить вектор весов, который является d-мерным вектором, следовательно, требуется пространство O (d)
  • Для вычисления σ (wᵀxₚ) требуется d умножений, следовательно, время O (d).

Размерность и ее влияние

если d мало:

  • Логистическая регрессия работает очень хорошо.
  • Его можно использовать в системах с малой задержкой.
  • Сложность времени и пространства меньше.

если d большое:

  • На него действует Проклятие размерности.
  • Можно использовать регуляризацию L1 для удаления менее важных функций. Однако значение λ следует выбирать осторожно, чтобы справиться со смещением, дисперсией и задержкой.

Работа с несбалансированными данными

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

для π₁:

для π₂:

  • π₂ дает лучший результат, чем π₁, однако мы знаем, что π₁ - лучший вариант, глядя на положение гиперплоскостей.

Как с этим справиться?

Стандартными способами обработки несбалансированных данных являются выполнение повышающей или понижающей дискретизации.

  1. Повышение дискретизации:
  • Дайте больший вес классу меньшинств.
  • Создавайте искусственные точки класса меньшинства.

SMOTE или метод передискретизации синтетических меньшинств:

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

2. Даунсэмплинг:

  • Произвольно удалите образцы из большинства классов.

Работа с многоклассовой классификацией

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

На этом пока все!

Поздравляю! Теперь вы успешно добавили в свой арсенал логистическую регрессию. 😎