Что такое обратная сила регуляризации в логистической регрессии? Как это повлияет на мой код?

Я использую sklearn.linear_model.LogisticRegression в scikit learn для запуска логистической регрессии.

C : float, optional (default=1.0) Inverse of regularization strength;
    must be a positive float. Like in support vector machines, smaller
    values specify stronger regularization.

Что означает C здесь простыми словами, пожалуйста? Что такое сила регуляризации?

Ответы

Ответ 1

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

Проблема возникает, когда у вас много параметров (много независимых переменных), но не слишком много данных. В этом случае модель часто адаптирует значения параметров к особенностям в ваших данных, что означает, что он идеально подходит для ваших данных. Однако, поскольку эти особенности не появляются в будущих данных, вы видите, ваша модель плохо прогнозирует.

Чтобы решить эту проблему, а также минимизировать ошибку, как уже обсуждалось, вы добавляете к тому, что минимизировано, а также минимизируйте функцию, которая наказывает большие значения параметров. Чаще всего функция λΣθ j 2 которая является некоторой константой λ раз, суммой квадратов значений параметра j 2. Чем больше λ, тем меньше вероятность того, что параметры будут увеличены по величине просто для корректировки небольших возмущений в данных. Однако в вашем случае вместо указания λ вы указываете C = 1/λ.

Ответ 2

В cs231n course есть заметки от stanford.

Обозначения:

Δ означает, что я верю в C в реализации scikit-learn. W - матрица с весами λ - параметр регуляризации.

Я предлагаю перебирать страницу, но для полноты здесь есть соответствующая цитата:

"Настройка Delta. Обратите внимание, что мы почистили гиперпараметр Δ и его настройке. Какую ценность он должен установить, и нужно ли нам перекрестно проверить его? Оказывается, этот гиперпараметр может быть безопасно во всех случаях устанавливается значение Δ= 1.0. Гиперпараметры Δ и λ кажутся два разных гиперпараметра, но на самом деле они оба управляют одним и тем же Компромисс: компромисс между потерей данных и регуляризацией потеря цели. Ключом к пониманию этого является то, что величина весов WW оказывает прямое влияние на баллы (и, следовательно, также их различия): поскольку мы уменьшаем все значения внутри W, оценка различия будут уменьшаться, и по мере увеличения оценка разницы будет все выше. Поэтому точное значение от края между оценками (например, Δ= 1 или Δ= 100) находится в некоторых смысл бессмысленен, потому что веса могут сокращать или растягивать различия произвольно. Следовательно, единственным реальным компромиссом является то, насколько мы велики позволяют весам расти (через прочность регуляризации λ).

Отказ в основном заключается в том, что в зависимости от реализации вам нужно настроить Δ или λ, и они контролируют уровень регуляризации. Не нужно "настраивать" оба!