Алгоритм классификации | Серия данных | Эпизод 7.1
Логистическую регрессию можно рассматривать как расширение линейной регрессии. С помощью линейной регрессии наш окончательный результат для нашей модели принял одно значение, однако с помощью логистической регрессии мы применяем дополнительную функцию к линейной регрессии, которая помещает наше окончательное выходное значение в группа, т. е. 1 или 0.
Что такое логистическая регрессия?
Логистическая регрессия - очень распространенный алгоритм машинного обучения с учителем (см. Эпизод 3), используемый специалистами по анализу данных для классификации данных по группам.
Обзор
Задача логистической регрессии состоит в том, чтобы взять набор входных данных и организовать их в различные группы. Например, взгляните на следующую таблицу данных о погоде, собранных в Олбери, Австралия:
- Наша цель - предсказать, будет ли завтра дождь в Олбери.
- Таким образом, наша модель имеет два групповых выхода: 0 - нет или 1 - да.
- Поскольку наша модель имеет групповые выходы, мы используем логистическую регрессию для достижения нашей цели.
Мы строим модель логистической регрессии, которая:
- Вычисляет значение на основе данных о погоде с использованием линейной регрессии:
𝑥 ₁, 𝑥 ₂,…, 𝑥 ₈ - наши данные о погоде: Min temp, Maxtemp,…, RainToday.
θ ₀, θ ₁, θ ₂,…., θ ₈ устанавливаются на случайные значения, как при линейном регресс.
2. Преобразует это значение (z) в вероятность от 0 до 1 завтрашнего дождя (с помощью логистической функции):
3. Помещает эту вероятность в группу.
Например:
Если эта вероятность равна ≥50%, тогда наша модель должна предсказать да (1).
Если эта вероятность равна ‹50%, наша модель должна предсказывать нет (0). Это называется граничным условием.
Наша модель принимает следующий вид:
По сути, это очень простая нейронная сеть, мы рассмотрим нейронные сети более подробно в следующем выпуске.
Логистическая функция
Логистическая функция задается следующей формулой:
При построении логистической функции для -6 ‹z‹ 6 наш график выглядит следующим образом.
По сути, логистическая функция принимает любое значение (z) и выставляет его по шкале от 0 до 1. Это полезно, поскольку может преобразовывать значения, полученные из нашей модели линейной регрессии (шаг 1), в вероятность.
Затем мы можем реализовать границу решения:
Поместить вероятность, рассчитанную нашей логистической функцией, в группу.
i.e.
Если вероятность больше 0,5, выведите 1 (да)
Если вероятность меньше 0,5 выведите 0 (нет)
Функция стоимости
Я не буду вдаваться в подробности того, как рассчитывается функция стоимости, поскольку это не обязательно знать, однако я попытаюсь объяснить логику, лежащую в основе функции стоимости логистической регрессии:
Как и линейная регрессия, логистическая регрессия также имеет функцию стоимости. Эта функция стоимости используется для расчета параметров нашей модели θ ₀, θ ₁, θ ₂,…., θ ₈ методом градиентного спуска.
Функция стоимости показывает, насколько прогнозируемые значения нашей модели hθ (𝑥) отличаются от наших фактических значений y. . При линейной регрессии мы использовали среднеквадратичную ошибку.
Обратите внимание, что первые два шага нашей модели можно объединить в одну функцию:
Поскольку у нас есть два выхода 0 или 1, нам нужна функция стоимости, которая может записывать ошибку модели для каждого. У нас есть две функции стоимости:
Почему работают эти функции затрат?
Для нашей первой функции, где наш фактический выход y = 1, если наша модель предсказывает значение далеко от этого, то есть 0,01, у нас должна быть высокая стоимость.
Давайте проверим:
log (0,01) = 2 - высокий ✓ отражает плохую производительность модели (высокая ошибка).
Аналогичным образом наша модель предсказывает значение близкое к 1, то есть 0,99, у нас должна быть низкая стоимость.
Давайте проверим:
log (0,99) = 0,004 - низкий ✓, отражающий хорошую производительность модели (низкая ошибка).
То же самое для y = 0
Комбинируйте функции затрат
Мы можем использовать хитрый математический трюк, чтобы объединить обе функции стоимости в одну:
Это работает, поскольку если y = 1, мы получаем:
как и раньше, и если y = 0 получаем:
также как и раньше.
Наконец, мы повторяем нашу функцию стоимости по всем наблюдениям за данными, чтобы получить общую стоимость для нашей модели.
Затем мы делим эту стоимость на количество обучающих примеров m, чтобы получить среднюю стоимость:
Затем мы можем применить градиентный спуск к нашей окончательной функции стоимости J (θ), чтобы вычислить наши параметры θ ₀, θ ₁, θ ₂,…. , θ ₈ для нашей модели.
Оценка моделей логистической регрессии
Мы можем оценить модель логистической регрессии, используя так называемую матрицу путаницы, показанную ниже:
Здесь мы использовали матрицу неточностей для 100 наблюдений за данными.
Точность нашей модели определяется:
Мы используем эту метрику оценки для оценки и улучшения нашей модели.
Резюме
- Логистическая регрессия используется для разделения данных на группы.
- Он работает аналогично линейной регрессии, но содержит:
- Логистическая функция для преобразования значений в вероятности.
- Граничное условие для распределения вероятностей по группам (0 или 1).
Вот и все. Спасибо за прочтение.
Посмотрите это видео, если какой-либо раздел статьи непонятен.
В следующем эпизоде мы реализуем логистическую регрессию в Python.
Предыдущая серия | Следующая серия
Если у вас есть вопросы, оставьте их ниже!
Больше контента на plainenglish.io