Классификация - важный аспект в приложении контролируемого машинного обучения. Из множества алгоритмов классификации, доступных в одном сегменте, логистическая регрессия полезна для проведения регрессионного анализа, когда целевая переменная (зависимая переменная) является дихотомической (двоичной). Например, учитывая набор функций (домен, возраст, пол, IP-адрес, браузер, campaign_id, ad_id и т. Д.), Задача логистического классификатора может заключаться в том, чтобы предсказать, будет ли данный пользователь нажимать на рекламу или нет.

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

Допустим, у нас есть n размерность входного объекта. Один пример обучения будет представлен как (x, y), где x - это n-мерный вектор признаков, а y - метка (0/1, Истина / Ложь и т. Д. .). m обозначает общее количество обучающих примеров. Короче говоря, наша матрица характеристик выглядит так:

Итак, у X будет n строк и m столбцов. (n X m размерный вектор) и Y будет иметь 1 строку и m столбцов (1 X m размерный вектор).

В постановке задачи оказывается задано X, нам нужно вычислить ŷ = P (y = 1 | X). Это означает, что нам нужно вычислить вероятность того, что целевая переменная будет равна 1 (или 0) с учетом обучающего набора X.

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

Модель логистической регрессии для решения этой проблемы:

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

При реализации логистической регрессии наша задача состоит в том, чтобы узнать параметры w и b так, чтобы ŷ было примерно равно целевому тесту. Чтобы узнать параметры w и b, нам нужно определить функцию затрат, которую мы будем использовать для обучения модели логистической регрессии. Функция стоимости - это оценка того, насколько хороша или плоха наша модель в прогнозировании известного выхода в целом. Но перед этим давайте разберемся, что такое функция потерь (ошибок). Проще говоря в математической форме, мы действительно хотим:

Функция потерь может быть определена как

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

Здесь важно отметить, что функция потерь определяет, насколько хорошо мы прогнозируем в одном обучающем примере. Чтобы понять это, мы определяем функцию стоимости. Функция стоимости определяется как:

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

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

В реальных примерах w может иметь гораздо большее измерение. J (w, b) становится поверхностью, как показано выше, для различных значений w и b. Что нам действительно нужно, так это найти w и b, где значение функции стоимости минимально (показано красной стрелкой).

В следующей статье (Часть 2) мы пойдем дальше, чтобы понять, как на самом деле работает градиентный спуск, и понять математику для решения w и b.