Алгоритм классификации | Серия данных | Эпизод 7.1

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

Что такое логистическая регрессия?

Логистическая регрессия - очень распространенный алгоритм машинного обучения с учителем (см. Эпизод 3), используемый специалистами по анализу данных для классификации данных по группам.

Обзор

Задача логистической регрессии состоит в том, чтобы взять набор входных данных и организовать их в различные группы. Например, взгляните на следующую таблицу данных о погоде, собранных в Олбери, Австралия:

  • Наша цель - предсказать, будет ли завтра дождь в Олбери.
  • Таким образом, наша модель имеет два групповых выхода: 0 - нет или 1 - да.
  • Поскольку наша модель имеет групповые выходы, мы используем логистическую регрессию для достижения нашей цели.

Мы строим модель логистической регрессии, которая:

  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