Контролируемое обучение - это часть машинного обучения, которая имеет дело с набором данных, к которому прикреплена метка вывода.
Для набора данных 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 можно тремя способами:
- Регуляризация 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 для удаления менее важных функций. Однако значение λ следует выбирать осторожно, чтобы справиться со смещением, дисперсией и задержкой.
Работа с несбалансированными данными
Давайте посмотрим, как несбалансированные данные влияют на логистическую регрессию.
для π₁:
для π₂:
- π₂ дает лучший результат, чем π₁, однако мы знаем, что π₁ - лучший вариант, глядя на положение гиперплоскостей.
Как с этим справиться?
Стандартными способами обработки несбалансированных данных являются выполнение повышающей или понижающей дискретизации.
- Повышение дискретизации:
- Дайте больший вес классу меньшинств.
- Создавайте искусственные точки класса меньшинства.
SMOTE или метод передискретизации синтетических меньшинств:
- Другой способ повышения частоты дискретизации, который использует ближайших соседей для создания новых точек.
2. Даунсэмплинг:
- Произвольно удалите образцы из большинства классов.
Работа с многоклассовой классификацией
- Логистическая регрессия по своей сути не поддерживает многоклассовую классификацию.
- Однако, чтобы справиться с этим, можно использовать стратегию Один против всех.
На этом пока все!
Поздравляю! Теперь вы успешно добавили в свой арсенал логистическую регрессию. 😎