Что такое обратная сила регуляризации в логистической регрессии? Как это повлияет на мой код?
Я использую 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) находится в некоторых смысл бессмысленен, потому что веса могут сокращать или растягивать различия произвольно. Следовательно, единственным реальным компромиссом является то, насколько мы велики позволяют весам расти (через прочность регуляризации λ
).
Отказ в основном заключается в том, что в зависимости от реализации вам нужно настроить Δ
или λ
, и они контролируют уровень регуляризации. Не нужно "настраивать" оба!