0

Ну, в механическом обучении одним из способов предотвращения переобучения является добавление L2-регуляризации, а некоторые говорят, что L1-регуляризация лучше, почему? Также я знаю, что L1 используется для обеспечения разреженности данных, какова теоретическая поддержка этого результата?Почему L1-регуляризация работает в машине Обучение

+1

Если вопрос носит теоретический характер и очень субъективен, он, скорее всего, будет широко распространен для переполнения стека. У кого-то действительно может быть хорошая обратная связь по этому вопросу, но если нет однозначного и относительно «правильного» ответа, то он широк. – CalebB

+0

Добро пожаловать в StackOverflow! Этот вопрос напрямую не связан с программированием, а с чисто машинным обучением. Пожалуйста, подумайте над тем, чтобы переместить его в Cross Validated or Theoretical Computer Science на StackExchange. –

ответ

4

L1 регуляризация используется для разреженности. Это может быть полезно, особенно если вы имеете дело с большими данными, поскольку L1 может генерировать более сжатые модели, чем L2-регуляризация. Это в основном связано с увеличением параметра регуляризации, тем больше вероятность того, что ваш оптимизатор равен 0.

Регуляция L2 наказывает большое количество из-за возведения в квадрат. Конечно, L2 более «элегантен» в гладкости.

Вы должны проверить this webpage

P.S.

Более математически всеобъемлющее объяснение не может быть хорошо подходит для этого веб-сайта, вы можете попробовать другие сайты Stack Exchange, например

+1

большое спасибо! это очень помогает –

0

Хорошо известно, что L1 регуляризация помогает выполнять выбор функций в разреженных художественных пространств, и что является хорошей практической причиной использования L1 в некоторых ситуациях. Однако, помимо этой конкретной причины, я никогда не видел, чтобы L1 выполнял лучше, чем L2 на практике. Если вы посмотрите на LIBLINEAR FAQ по этому вопросу, вы увидите, как они не видели практического примера, где L1 превосходит L2 и поощряет пользователей библиотеки связываться с ними, если они их найдут. Даже в ситуации, когда вы можете воспользоваться разрешающей способностью L1 для выбора функции, использование L2 для остальных переменных, скорее всего, даст лучшие результаты, чем L1.

Так что, как Эндрю Нг здесь объясняет

L1 regularized logistic regression can be effective even if there are exponentially many irrelevant features as there are training examples.

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

Даже в случае, когда у вас есть веская причина использовать L1, учитывая количество функций, я бы рекомендовал вместо этого использовать Elastic Nets. Согласовано это будет только практическим вариантом, если вы выполняете линейную/логистическую регрессию. Но в этом случае Elastic Nets оказались (теоретически и на практике) лучше, чем L1/Lasso. Упругие сети объединяют регуляцию L1 и L2 по «единственной» стоимости введения другого гиперпараметра для настройки (см. Статью Хэсти для более подробной информации на stanford.edu).

Так что в шортах L1-регуляризация лучше всего подходит для выбора функций в разреженных пространственных помещениях.