Рекламный дисплей моего веб-сайта лучше, добро пожаловать в гости:Мистер Лу.info/machine- сейчас...
Логистическая регрессия широко используется в интернет-бизнесе для поиска, рекомендаций и оценки кликов по рекламе.Можно сказать, что это наиболее часто используемая модель машинного обучения и основа глубокой нейронной сети. В некоторых новых интервью с машинным обучением интервьюер часто изучает базовую формулу логистической регрессии и вывод функции потерь.
От регрессии к классификации
Проблема регрессии относится к целевому значению всей области действительных чисел, а задача классификации относится к целевому значению, являющемуся конечным дискретным значением.
В предыдущих статьях систематически обсуждались модели линейной регрессии:
Это регрессионная модель, и модель предсказываетЦелевое значение диапазона. Когда модель решена, мы можем использовать квадрат ошибки для определения функции потерь, а параметры модели можно получить путем минимизации функции потерь.
Теперь мы хотим выполнить бинарную классификацию.Целевое значение имеет два варианта: 0 и 1.Функция бинарной классификации может быть выражена как:
когдаКогда цель классификации оценивается как отрицательный пример, когдаКогда цель классификации оценивается как положительный пример. Эта классификационная функция на самом деле является ступенчатой функцией.прерывистый, илиПри происходит скачок, и такую функцию неудобно выводить. Нам нужно заменить эту бинарную классификационную функцию другими монотонно дифференцируемыми функциями.
Теперь на основе этой линейной регрессии мы можем поместить функцию на ее внешний слой.. Одна из самых распространенных функций:
Форма этой функции показана ниже, она называется логарифмической функцией вероятности, логистической функцией или сигмоидной функцией, которая позже будет называться логистической функцией.
Как видно из графика, Логистическая функция обладает некоторыми свойствами:
- Функциональная область, диапазон значений.
- когдаподходычас,подходы;когдаподходычас,подходы;когдаВыбиратьчас,равный.
- Вся функция имеет S-образную форму.
- Функция монотонно дифференцируема.
Строго говоря, сигмовидная функция — это огромное семейство функций, используемых для представления сигмовидных функций. Логистическая функция, которую мы сейчас обсуждаем, является одной из сигмовидных функций, а также наиболее репрезентативной. Сигмовидная функция будет играть важную роль в нейронных сетях.
Эти свойства логистической функции определяют, что она можетсопоставить с, плюс принимает значение в центральной точке, можно использовать для классификации. Поскольку логистическая функция имеет четкую разделительную линию,Части меньше 0 будут классифицироваться как отрицательные (0),Части больше 0 будут классифицироваться как положительные примеры (1).
Подгоняем линейную регрессию к логистической функции и получаем:
Мы добавляем логистическую функцию к линейной регрессии, чтобы можно было выполнять прогнозирование бинарной классификации. В тренировочном наборе естьданные,Данные бара аппроксимируются по следующей формуле:
Это логистическая регрессия, логистическая регрессия.
Обратите внимание, что хотя в названии логистической регрессии есть слово «регрессия», на самом деле это хорошо известная модель классификации.
Интерпретация бинарной вероятности логистической функции
Логистическая функция подходит для выражения бинарных вероятностей. Предположим, мы будемвыражается как вероятность оказаться положительным примером при классификации, тоесть возможность быть разделенным на отрицательные примеры. Бывает, что логистическая регрессия обладает следующими свойствами:
в,Называемый шансами (Odds), он представляет относительную вероятность того, что текущие данные будут классифицированы как положительные.представляет собой логарифм шансов и называется логарифмом шансов (Log Odds или Logit).
Давайте пересмотрим наши знания о вероятности: мы знаем, что вероятностиЗначение на интервале, если предположить, что вероятность успеха вещи равна, вероятность отказа. Тогда шансы на то, что это событие будет успешным, составляют:. Тем не менее, у него очень хорошие шансы на успех.
Назад к логистической регрессии, линейной регрессиипопытаться приблизить логарифм шансов. По сути, логистическая регрессия моделирует вероятность классификации и может давать прогнозы с приблизительными вероятностями. Эта модель используется во многих задачах, основанных на вероятностном принятии решений. Например, многие компании, в том числе Google, использовали логистическую регрессию, чтобы предсказать, будут ли нажимать на интернет-рекламу: во время обучения реклама, на которую нажали, помечается как положительный пример, в противном случае это отрицательный пример; чем выше прогнозируемое значение, тем реклама будет размещена на более видном месте, чтобы привлечь пользователей к клику.
Логистическая функция будетсопоставляется сВкл, независимо от того, насколько велико или мало значение, можно комбинировать сВероятности интервалов связаны друг с другом, так что получается распределение вероятностей.
Оценка максимального правдоподобия логистической регрессии
Логистическую функцию можно связать с вероятностью, поэтому мы можем положитьВ качестве вероятностной оценки классификации рассматривается положительный пример:, вероятность быть классифицированным как отрицательный пример:.
Вышеуказанные две вероятности можно записать в более компактную формулу:
так какЕсть только две возможности: 0 (отрицательный пример) и 1 (положительный пример): тогда, если,,,если,,. В приведенной выше формуле точка с запятой иВыражать,является параметром, а не случайной величиной.
С вероятностным представлением мы можем легко выполнить вероятностную оценку максимального правдоподобия. Поскольку функция правдоподобия по форме почти аналогична функции вероятности, функция вероятности представляет собой произведение вероятностей всех встречающихся выборок, а функция правдоподобия связана с параметромФункция.
Как и в случае с линейной регрессией, мы принимаем приведенную выше формулу как, что упрощает максимизацию функции правдоподобия:
Как найти решение вышеприведенной формулы? Как и в случае с линейной регрессией, мы можем использовать градиентное восхождение. Текущая цель состоит в том, чтобы максимизировать функцию правдоподобия, поэтому мы собираемся использовать градиентное восхождение, итерируя, чтобы найти максимальное значение. В частности, параметры обновляются следующим образом:
Наиболее важным моментом в оценке параметров является получение формулы производной. Перед выводом рассмотрим логистическую регрессию:
И логистическая функцияВ выводе есть:,так как:
Затем начинаем брать производные от параметров. Мы по-прежнему сначала предполагаем, что в обучающем наборе есть только одни данные.. В третьей строке вывода ниже используется производное свойство логистической функции..
Затем, в соответствии с формулой итеративного обновления параметров, первый параметр обучающего набора равенДанные выборки используются для расчета:
Можно сказать, что она точно такая же, как формула функции линейной регрессии, которую мы вывели ранее. Итак, в этой задаче мы можем использовать градиентное восхождение, чтобы получить оптимальное решение. Или сделайте простое преобразование в метод градиентного спуска:
Предыдущая формула предполагает только то, что в обучающем наборе есть только одна выборка данных, и когда обучающий наборданные, даДля вывода вы можете получить:
Напрямую обновить параметры с полным объемом данных нереально.В большинстве случаев для решения задачи используется метод стохастического градиентного спуска.Можно случайным образом выбрать выборку для обновления параметров,а можно случайным образом выбрать небольшую партию образцов мини-партии для обновления параметров.
порог классификации
Логистическая регрессия, наконец, возвращает вероятность, Мы можем напрямую использовать прогнозируемую вероятность или установить порог для преобразования вероятности в проблему бинарной классификации.
Например, если прогнозируется, что вероятность того, что пользователь нажмет на объявление, составляет 0,00023, что намного выше, чем у других объявлений, то это объявление будет размещено на самом видном месте и, скорее всего, будет нажато пользователем. .
Мы также можем преобразовать возвращенные вероятности в двоичные значения, например, предсказать, что электронное письмо имеет высокую вероятность того, что оно является спамом, и назвать его спамом. Если модель логистической регрессии предсказывает электронное письмо с вероятностью 0,9995, то модель предсказывает, что электронное письмо, скорее всего, будет спамом. И наоборот, другое электронное письмо с прогнозируемой оценкой 0,0003 в той же модели логистической регрессии, скорее всего, не является спамом. Но что, если электронное письмо имеет прогнозируемый балл 0,6? Чтобы сопоставить значения логистической регрессии с бинарными категориями, мы должны указатьпорог классификации(Порог, также известный как порог принятия решения). Если логистическая регрессия возвращает значение выше порога, это означает «спам», если значение ниже порога, это означает «не спам».
Порог классификации может быть установлен на 0,5.На самом деле порог зависит от конкретной проблемы.Мы должны настроить порог в соответствии с конкретным бизнес-сценарием, соотношением положительных и отрицательных образцов и т. д. Выбор порога определенно повлияет на результаты прогнозирования.Один из способов - выбрать разные пороги для тестирования, рассчитать точность и отзыв при разных порогах, а затем выбрать лучший порог.
Проблема дисбаланса данных обучения класса
Введенная ранее бинарная классификация логистической функции всегда предполагала, что количество обучающих выборок в разных категориях одинаково, и если количество обучающих выборок положительных и отрицательных примеров не сильно отличается, то это обычно не оказывает большого влияния на результаты. , но если разница между положительными и отрицательными примерами велика, это будет мешать процессу обучения. Например, если в наборе данных 998 отрицательных примеров, но только 2 положительных, то модель каждый раз предсказывает отрицательные примеры и может достичь точности 99,8%, но такая модель на самом деле бесполезна. В реальных задачах классификации часто встречается проблема дисбаланса классов, например:
- В сценарии идентификации спама количество писем со спамом относительно невелико по сравнению с обычными сообщениями.
- В сценарии обнаружения мошенничества с кредитными картами подавляющее большинство транзакций являются нормальными, и только небольшое количество транзакций является проблематичным.
- В случае аварийного сигнала отказа машины в большинстве случаев машина работает нормально, а время отказа намного короче, чем время нормальной работы.
В логистической регрессии мы используем предсказанныйзначение сравнивается с порогом, обычно приКогда это оценивается как положительный пример, в противном случае это отрицательный пример.На самом деле, он выражает возможность этого фрагмента данных в качестве положительного примера, вероятностьотражает отношение вероятности положительного случая к вероятности отрицательного случая, когда, вероятностьУказывает, что положительные и отрицательные возможности одинаковы. Исходя из этого предположения, если, прогноз положительный.
Однако при большой разнице в количестве положительных и отрицательных примеров в обучающей выборке пустьпредставляет количество положительных примеров,представляет количество отрицательных примеров, то вероятность наблюдения в обучающей выборке равна. Тогда вероятность прогноза больше вероятности обучающего набора, или, следует расценивать как положительный. Поэтому в данном случае явно нецелесообразно по-прежнему использовать 0,5 в качестве порога.
Чтобы решить проблему дисбаланса данных, нам нужно настроить обучающую выборку, Есть два общих подхода:
- Недостаточная или избыточная выборка обучающего набора, уменьшите или увеличьте данные, чтобы количество положительных и отрицательных примеров в обучающем наборе было близким, а затем изучите.
- Непосредственно используйте исходный обучающий набор для обучения, но больше не используйте 0,5 в качестве порога классификации, а настройте порог в соответствии с бизнес-сценарием и количеством положительных и отрицательных образцов.
Как определить положительные и отрицательные образцы необходимо подробно обсудить в соответствии с конкретными проблемами. Недостаточная выборка отбрасывает некоторые данные, делая обучающую выборку намного меньше исходных данных, что может привести к потере важной информации, что, в свою очередь, повлияет на производительность модели. Передискретизация имитирует некоторые данные, но нельзя просто копировать сэмплы из исходных данных, иначе это приведет к переобучению. Репрезентативным алгоритмом передискретизации является SMOTE (Synthetic Minority Over-sampling Technique), основная идея которого заключается в фальсификации данных посредством интерполяции. Например, предполагая, что все признаки набора данных непрерывны, можно сформировать признаковое пространство.Сначала из набора данных находится точка выборки, а затем соседняя с ней выборка того же вида.В пространстве признаков , между этими двумя точками может быть сформирована линия, и на этой линии случайным образом находится точка для генерации новых данных и добавления их в обучающую выборку.
Конечно, если выборочные данные несбалансированы, может быть более подходящим выбрать другую модель алгоритма, например модель дерева решений.Принцип дерева решений определяет, что он лучше работает на несбалансированных выборках.
использованная литература
- Эндрю Нг: Конспект лекций CS229
- Чжихуа Чжоу: машинное обучение
- Developers.Google.com/machine - аааа...