Логистическая регрессияПримечания

машинное обучение

Отказ от ответственности: эта статья написанаЛо ЧжоуянОригинал, перепечатка с указанием автора и источника

Эта статья предназначена для чтения классических учебников Стэнфорда.Speech and Language Processing-Logistic RegressionСделанные пометки рекомендуется читать в оригинальном тексте.

Логистическую регрессию можно использовать для задач бинарной классификации и задач множественной классификации (полиномиальная логистическая регрессия). Логистическая регрессия — это алгоритм классификации, а не алгоритм регрессии. Логистическая регрессия относится кдискриминационный классификатор, а наивный байесовский принадлежитгенеративный классификатор.

Дискриминативные и генеративные классификаторы

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

Цель генеративной модели — понять, что такое кошка и что такое собака, а затем вынести суждение. Дискриминативная модель, с другой стороны, фокусируется на том, чтобы научиться различать двух животных, а не на том, что они из себя представляют.

Для математически более интуитивного сравнения сначала взгляните на нашу наивную формулу байесовской классификации:

\hat{c}=\mathop{\arg\max}_{c\in C}\overbrace{P(d\vert c)}^{\text{likelihood}} \overbrace{P(c)}^{\text{prior}}

Для генеративных моделей (например, наивного Байеса) используйте термин правдоподобия для расчетаP(c\vert d), этот термин представляет собой функцию создания документа, если мы знаем, что это класс c. А для дискриминативной модели он попытается вычислить напрямуюP(c\vert d).

Состав вероятностных классификаторов машинного обучения

Классификатор машинного обучения на основе вероятности состоит из следующих компонентов:

  • Представление функций, то есть представление каждого входа
  • Функция классификации, которая оценивает класс текущего ввода, например.sigmoidиsoftmax
  • Целевая функция, обычно включающая минимизацию ошибки на тренировочном наборе, например.Функция кросс-энтропийных потерь
  • Алгоритм, который оптимизирует целевую функцию, например.SGD

Sigmoid

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

Логистическая регрессия путем изучения двух параметров из обучающего набораwиbпринимать решения.

Формула оценки класса для логистической регрессии выглядит следующим образом:

z=(\sum_{i=1}^nw_ix_i)+b

Два параметра, которые необходимо изучить, также напрямую отражены в приведенной выше формуле.

В линейной алгебре указанная выше взвешенная сумма обычно равна\sum_{i=1}^nw_ix_iОн представлен ** скалярным произведением **, поэтому приведенная выше формула эквивалентна:

z=w\cdot x+b

Тогда полученный результат представляет собой число с плавающей запятой.Для задачи с двумя категориями результат всего лишь0и1Два, так как мы можем судить об этомzпринадлежит0категория или1Что насчет категорий?

Давайте сначала посмотрим, как выглядит сигмовидная функция.

\sigma(z)=\frac{1}{1+e^{-z}}

Изображение выглядит следующим образом:

sigmoid funtion

Видно, что диапазон сигмовидной функции равен (0,1) и симметричен относительно (0,0,5), поэтому легко получить границу решения:

  • z<=0.5принадлежит0категория
  • z>0.5принадлежит1категория

Сигмовидная функция имеет много хороших свойств:

  • Его входной диапазон(-\inf,\inf), диапазон выходных значений(0,1), это естественное вероятностное представление!
  • существуетx=0Почти линейный с небольшими изменениями при очень отрицательном или очень положительном значении

На этом этапе мы можем вычислить категорию0и категория1Вероятность:

P(y=1) = \sigma(w\cdot x +b) = \frac{1}{1+e^{-(w\cdot x+b)}}
P(y=0) = 1-P(y=1) = 1-\sigma(w\cdot x+b) = 1-\frac{1}{1+e^{-(w\cdot x+b)}} = \frac{e^{-(w\cdot x+b)}}{1+e^{-(w\cdot x+b)}}

функция кросс-энтропийных потерь

Когда дело доходит до функций потерь, вы можете подуматьСреднеквадратичные потери (MSE):

L_{\text{MSE}}(\hat{y},y) = \frac{1}{2}(\hat{y}-y)^2

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

условная оценка максимального правдоподобия: выберите параметрwиbчтобы максимизировать разницу между метками и обучающими данными (P(y\vert x)) логарифмической вероятности.

Поскольку распределение классовРаспределение Бернулли, поэтому мы можем легко написать:

p(y\vert x) = \hat{y}^y(1-\hat{y})^{1-y}

потому что, когдаy=1час,p(y\vert x)=\hat{y},когдаy=0час,p(y\vert x)=1-\hat{y}.

Отсюда можно получитьлогарифмическая вероятность:

\log p(y\vert x) = \log[\hat{y}^y(1-\hat{y})^{1-y}] = y\log\hat{y}+(1-y)\log(1-\hat{y})

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

L_{CE}(\hat{y},y)=-\log p(y\vert x)=-[y\log\hat{y}+(1-y)\log(1-\hat{y})]

Также из-за\hat{y}=w\cdot x+b, так что нашПотеря отрицательного логарифмического правдоподобияФормула:

L_{CE}=-[y\log\sigma(w\cdot x+b)+(1-y)\log(1-\sigma(w\cdot x+b))]

Это нашкросс-энтропийная потеря, что касается того, почему это имя, потому что приведенная выше формула:yРаспределение вероятностей и оценочное распределение\hat{y}перекрестная энтропия между.

Таким образом, по всему пакету данных мы можем получить среднюю потерю как:

Cost(w,b) = \frac{1}{m}\sum_{i=1}^mL_{CE}(\hat{y}^{(i)},y^{(i)}) = -\frac{1}{m}\sum_{i=1}^m y^{(i)}\log\sigma(w\cdot x^{(i)}) + (1-\hat{y}^{(i)})\log(1-\sigma(w\cdot x^{(i)}+b))

градиентный спуск

Цель градиентного спуска — минимизировать потери, что выражается формулой:

\hat{\theta} = \mathop{\arg\min}_{\theta}\frac{1}{m}\sum_{i=1}^mL_{CE}(y^{(i)},x^{(i)};\theta)

Для нашей логистической регрессии\thetaэтоwиb.

Так как же минимизировать эту потерю?градиентный спускЭто способ найти минимальное значение, которое выполняется возвратно-поступательным движением, чтобы получить самое быстрое направление затухания функции.

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

Возьмите двухмерный пример и почувствуйте процесс, как показано на следующем рисунке:

gredient decent example

Можно видеть, что процесс оптимизации приведенной выше функции потерьПеремещение на небольшой шаг в положительном направлении градиента за раз!может быть выражена в виде следующей формулы:

w^{t+1} = w^t - \eta\frac{\partial}{\partial w}f(x;w)

выше\etaрешил этоОдин маленький шагсколько еще называетсяскорость обучения.

градиент выше\frac{\partial}{\partial w}f(x;w)Результат - константа.

еслиNЧто насчет многомерного пространства? Тогда градиент представляет собой вектор следующим образом:

Тогда наше обновление параметра:

\theta_{t+1}=\theta_t - \eta\nabla L(f(x;\theta),y)

Градиент логистической регрессии

Потеря для логистической регрессии выглядит следующим образом:

L_{CE}(w;b)=-[y\log\sigma(w\cdot x+b)+(1-y)\log(1-\sigma(w\cdot x+b))]

У нас есть:

\frac{\partial L_{CE}(w,b)}{\partial w_j} = [\sigma(w\cdot x+b)-y]x_j

Для пакета данных наш градиент выглядит следующим образом:

\frac{\partial Cost(w,b)}{\partial w_j} = \sum_{i=1}^m[\sigma(w\cdot x^{(i)}+b)-y^{(i)}]x_j^{(i)}

Регуляризация

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

Регуляризация — это ограничение на веса, в частности, для максимизации логарифмической вероятности\log P(y\vert x)На основании весаwограничения.

Таким образом, наша цель может быть описана следующей формулой:

\hat{w} = \mathop{\arg\max}_w\sum_{i=1}^m\log P(y^{(i)}\vert x^{(i)})-\alpha R(w)

в,R(w)этосрок регуляризации.

Как видно из приведенной выше формулы, регулярный термин заключается в штрафовании больших весов. Среди моделей с похожими эффектами мы всегда склонны выбиратьwМеньший. так называемыйwменьшеwимеет меньше возможностей, т.е.wВ векторе больше нулей.

Обычно используемые методы регуляризации:Регуляризация L2иРегуляризация L1.

Регулярный расчет L2 - это евклидово расстояние, и формула выглядит следующим образом:

R(W) = ||W||^2 = \sum_{j=1}^Nw_j^2

Обычный расчет L1 - это расстояние Махатона, и формула выглядит следующим образом:

R(W) = ||W||_1 = \sum_{i=1}^N|w_i|

Итак, каковы преимущества и недостатки регулярности L2 и регулярности L1?

  • Регуляризацию L2 легче оптимизировать, потому что ее производная2w, а производная L1 разрывна в 0
  • Регуляризация L2 более склонна требовать небольших значений веса, а регуляризация L1 более склонна к некоторым большим значениям веса, но в то же время большее количество значений веса равно 0, что означает, что результат регуляризации L1 имеет тенденцию быть разреженная матрица весов.

Обе регуляризации L1 и L2 имеют байесовскую интерпретацию. Регулярность L1 можно интерпретировать как априорную вероятность веса по Лапласу, а регулярность L2 соответствует предположению, что распределение веса является средним значением 0 (\mu = 0) имеет нормальное распределение.

Гауссово распределение весов выглядит следующим образом:

\frac{1}{\sqrt{2\pi\sigma_j^2}}\exp(-\frac{(w_j-\mu_j)^2}{2\mu_j^2})

Согласно закону Байеса, наши веса можно оценить по следующей формуле:

\hat{w} = \mathop{\arg\max}_w\prod_{i=1}^M P(y^{(i)}\vert x^{(i)})\times P(w)

Рассчитайте априорную вероятность, используя приведенное выше распределение Гаусса.P(w), вы можете получить:

\hat{w} = \mathop{\arg\max}_w\prod_{i=1}^M P(y^{(i)}\vert x^{(i)})\times \prod_{j=1}^n\frac{1}{\sqrt{2\pi\sigma_j^2}}\exp(-\frac{(w_j-\mu_j)^2}{2\mu_j^2})

мы позволяем\mu = 0,2\sigma^2 = 1, логарифмируя, имеем:

\hat{w} = \mathop{\arg\max}\sum_{i=1}^m\log P(y^{(i)}\vert x^{(i)})-\alpha\sum_{j=1}^nw_j^2

Multinomial logistic regression

Выше мы обсуждали все проблемы бинарной классификации, что, если мы хотим мультиклассифицировать? На этот раз вам нужноMultinomial logistic regression, эта мультиклассификация также называетсяsoftmax regressionилиmaxent classifier.

Многоклассовый набор категорий не[0,1]Существует два вида, поэтому мы заменяем функцию, которая вычисляет вероятность выходного результата, на замену сигмоида, который является версией сигмоида Panhua.softmax.

\text{softmax}(z_j) = \frac{e^{z_i}}{\sum_{j=1}^ke^{z_j}}

в,1\leq i \leq k.

Итак, для ввода

z = [z_1,z_2,\dots,z_k]

У нас есть:

\text{softmax} = [\frac{e^{z_1}}{\sum_{i=1}^ke^{z_i}},\frac{e^{z_2}}{\sum_{i=1}^ke^{z_i}},\dots,\frac{e^{z_k}}{\sum_{i=1}^ke^{z_i}}]

Очевидно, что знаменатель функции softmax — это накопление, поэтому softmax выводит значение вероятности для каждого входа, а сумма значений вероятности всех входов равна 1!

Подобно сигмовидной, положитьz=w\cdot x+bВнесите:

p(y=c\vert x) = \frac{e^{w_c\cdot x+b_c}}{\sum_{j=1}^k e^{w_j\cdot x+b_j}}

Обратите внимание, что нашwиbВсе они соответствуют классификации на данный момент, поэтому записываются какw_cиb_c.

Точно так же наша функция потерь становится обобщенной версией:

L_{CE}(\hat{y},y) = -\sum_{k=1}^K 1\{y=k\}\log p(y=k\vert x) = -\sum_{k=1}^K 1\{y=k\}\log\frac{e^{w_k\cdot x+b_k}}{\sum_{j=1}^Ke^{w_j\cdot x+b_j}}

в,1{y=k}выражатьy=kзначение равно 1, иначе 0.

Следовательно, могут быть получены следующие производные (без процесса вывода):

\frac{\partial L_{CE}}{\partial w_k} = (1\{y=k\} - p(y=k\vert x))x_k = (1\{y=k\}-\frac{e^{w_k\cdot x+b_k}}{\sum_{j=1}^Ke^{w_j\cdot x+b_j}})x_k

мыслительные вопросы

  • Логистическая регрессия очень похожа на нейронные сети? Можете ли вы назвать сходства и различия между ними?

свяжитесь со мной