Подтвердить что ты не робот

Функция стоимости для логистической регрессии

В моделях с наименьшими квадратами функция стоимости определяется как квадрат разницы между прогнозируемым значением и фактическим значением в зависимости от ввода.

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

Можно ли изменить и определить нашу собственную функцию стоимости, чтобы определить параметры?

4b9b3361

Ответ 1

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

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

    Потеря квадратной погрешности из линейной регрессии не используется, потому что она не приближается к лучам с нулевой отметкой: когда ваша модель предсказывает +50 для некоторого образца, в то время как предполагаемый ответ был равен +1 (положительный класс), предсказание находится на правильной стороне границы решения, так что нулевая потеря равна нулю, но потеря квадрата с ошибкой по-прежнему равна 49² = 2401. Некоторые обучающие алгоритмы будут тратить много времени на получение прогнозов, очень близких к {-1, +1} вместо того, чтобы фокусироваться на правильном знаке знака/класса. (*)

  • Функция потерь должна работать с вашим предполагаемым алгоритмом оптимизации. То, почему zero-one-loss не используется напрямую: он не работает с методами оптимизации на основе градиента, поскольку он не имеет четко определенного градиента (или даже субградиента, как потеря петли для SVM).

    Основной алгоритм, который напрямую оптимизирует "нулевую потерю", - это старый алгоритм персептрона

Ответ 2

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

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

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

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

Ответ 3

Вы не выбираете функцию потерь, вы выбираете модель

Функция потерь обычно напрямую определяется моделью, когда вы вписываете свои параметры с использованием оценки максимального правдоподобия (MLE), которая является наиболее популярным подходом в Machine Learning.

Вы упомянули ошибку среднего квадрата как функцию потерь для линейной регрессии. Затем "мы меняем функцию стоимости как логарифмическую функцию", ссылаясь на кросс-энтропийную потерю. Мы не изменили функцию стоимости. Фактически, средняя квадратичная ошибка - это потеря кросс-энтропии для линейной регрессии, когда мы предположим, что y нормально распределяется гауссовым, среднее значение которого определяется Wx + b.

Описание

С помощью MLE вы выбираете параметры таким образом, чтобы вероятность обучения данных была максимальной. Вероятность всего набора данных обучения является продуктом вероятности каждой учебной выборки. Так как это может привести к нулю, мы обычно максимизируем логарифмическую вероятность данных обучения/минимизируем отрицательную логарифмическую правдоподобие. Таким образом, функция стоимости становится суммой отрицательной логарифмической вероятности каждой обучающей выборки, которая определяется как:

-log(p(y | x; w))

где w - параметры нашей модели (включая смещение). Теперь, для логистической регрессии, это логарифм, о котором вы говорили. Но как насчет претензии, что это также соответствует MSE для линейной регрессии?

Пример

Чтобы показать, что MSE соответствует кросс-энтропии, мы предполагаем, что y обычно распределяется вокруг среднего значения, которое мы прогнозируем с использованием w^T x + b. Мы также предполагаем, что он имеет фиксированную дисперсию, поэтому мы не прогнозируем дисперсию с нашей линейной регрессией, а только среднее значение гауссова.

p(y | x; w) = N(y; w^T x + b, 1)

Вы можете видеть, mean = w^T x + b и variance = 1

Теперь функция потерь соответствует

-log N(y; w^T x + b, 1)

Если мы посмотрим, как определяется гауссовский N, мы видим:

введите описание изображения здесь

Теперь возьмем отрицательный логарифм этого. Это приводит к:

введите описание изображения здесь

Мы выбрали фиксированную дисперсию 1. Это делает первый член константой и сокращает второй член до:

0.5 (y - mean)^2

Теперь помните, что мы определили среднее значение w^T x + b. Поскольку первый член постоянный, минимизация отрицательного логарифма гауссова соответствует минимизации

(y - w^T x + b)^2

что соответствует минимизации ошибки среднего квадрата.

Ответ 4

Да, другие параметры стоимости могут использоваться для определения параметров.

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

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

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

Ответ 5

Предположим, что в вашей модели логистической регрессии у вас есть скалярные входы x, и модель выдает вероятность $\hat {y} (x) = sigma (wx + b) $ для каждой входной выборки x. Если вы продолжите и построить квадратичную функцию потерь в особом случае, когда входные данные $ x $ являются скалярами, тогда ваша функция стоимости становится такой: $ C (w, b): =\Sigma_ {x} | y (x) -\hat {y} (x) | ^ 2 =\Sigma_ {x} | y (x) -\sigma (wx + b) | ^ 2 $. Теперь, если вы попытаетесь применить к нему градиентный спуск, вы увидите, что: $ C '(w), C' (b) $ - это кратные $\sigma '(wx + b) $. Теперь, когда сигмоидная функция асимптотична, ее производная $\sigma '(z) $ становится почти нулевой, когда выходное значение $\sigma (z) $ близко к $ 0 $ или $ 1 $. Это означает: когда обучение плохое, например $\sigma (wx + b)\приблизительно 0 $, но $ y (x) = 1 $, тогда $ C '(w), C' (b)\ок. 0 $.

Теперь, вышеприведенная ситуация плоха с двух точек зрения: (1) она делает градиентный спуск численно намного дороже, потому что даже когда мы далеки от минимизации C (w, b), мы не сходимся достаточно быстро, и (2) это противоречит интуиции человека: мы учимся быстро, когда совершаем большую ошибку.

Однако, если вы рассчитываете C '(w) и C' (b) для кросс-энтропийной функции затрат, эта проблема не возникает, так как в отличие от производных квадратичной стоимости, производные кросс-энтропийной стоимости не кратны $ sigma '(wx + b) $, и, следовательно, когда модель логистической регрессии выводит значение, близкое к 0 или 1, градиентный спуск не обязательно замедляется, следовательно, сходимость к минимумам происходит быстрее. Вы можете найти соответствующее обсуждение здесь: http://neuralnetworksanddeeplearning.com/chap3.html, отличная онлайн-книга, которую я очень рекомендую!

Кроме того, кросс-энтропийные функции стоимости - это просто отрицательный логарифм функций максимального правдоподобия (MLE), используемых для оценки параметров модели, и фактически в случае линейной регрессии минимизация квадратичной функции стоимости эквивалентна максимизации MLE или, эквивалентно, минимизации отрицательный логарифм MLE = кросс-энтропия, с базовым допущением модели для линейной регрессии - подробнее см. стр. 12 в http://cs229.stanford.edu/notes/cs229-notes1.pdf. Следовательно, для любой модели машинного обучения, будь то классификация и регрессия, нахождение параметров путем максимизации MLE (или минимизации перекрестной энтропии) имеет статистическое значение, тогда как минимизация квадратичной стоимости для логистической регрессии не имеет (хотя и для линейной регрессии)., как указано выше).

Я надеюсь, что это проясняет вещи!

Ответ 6

Я хотел бы сказать, что математика лежит в основе среднеквадратичной ошибки - гауссово распределение ошибки, в то время как для логистической регрессии это расстояние двух распределений: базовое (основополагающее истинное) распределение и предсказанное распределение.

Как мы можем измерить расстояние между двумя распределениями? В теории информации это относительная энтропия (также известная как дивергенция KL), и относительная энтропия эквивалентна кросс-энтропии. А функция логистической регрессии является частным случаем регрессии softmax, которая эквивалентна кросс-энтропии и максимальной энтропии.