Почему glmnet использует «наивную» эластичную сетку из оригинальной бумаги Zou & Hastie?


27

L=1nyXβ2+λ1β1+λ2β22,
β^=(1+λ2)β^.

Однако в следующей glmnetстатье Friedman, Hastie & Tibshirani (2010) пути регуляризации для обобщенных линейных моделей с помощью координатного спуска не использовали этот масштаб и использовали только краткую сноску

Zou и Hastie (2005) назвали это наказание наивной эластичной сеткой и предпочли измененную версию, которую они назвали эластичной сеткой. Мы опускаем это различие здесь.

Никаких дальнейших объяснений там не приводится (или в любом из учебников Hastie et al.). Я нахожу это несколько загадочным. Оставили ли авторы пересчет, потому что посчитали его слишком специальным ? потому что он работал хуже в некоторых дальнейших экспериментах? потому что не было понятно, как обобщить это на случай GLM? Не имею представления. Но в любом случае glmnetпакет стал очень популярным с тех пор, и поэтому у меня сложилось впечатление, что в настоящее время никто не использует масштабирование от Zou & Hastie, и большинство людей, вероятно, даже не подозревают об этой возможности.

Вопрос: в конце концов, было ли это изменение масштаба хорошей или плохой идеей?

При glmnetпараметризации масштабирование Zou & Hastie должно быть

β^=(1+λ(1α))β^.

1
Так как в статье Glment цель состоит в том, чтобы соответствовать всему пути регуляризации, возможно, идея заключается в том, что масштабирование будет просто монотонным преобразованием пути?
Мэтью Друри

1
@ MatthewDrury Это правда, но все же, если Фридман и соавт. Считается, что изменение масштаба является хорошей идеей, поэтому они не будут оставлять ее вне документа и, в частности, вне glmnetкода. Он недоступен даже в качестве дополнительной функции (их предыдущий код, который сопровождал статью 2005 года, конечно, поддерживает масштабирование).
говорит амеба, восстанови Монику

4
К сожалению, общедоступный код glmnet совершенно не читается ...
Мэтью Друри,

Ответы:


25

Я послал по электронной почте этот вопрос Зоу и Хасти и получил следующий ответ от Хасти (надеюсь, он не будет против, если я приведу его здесь):

Я думаю, что в Zou et al. Мы беспокоились о дополнительном смещении, но, конечно, изменение масштаба увеличивает дисперсию. Так что он просто сдвигает единицу вдоль кривой компромисса смещения дисперсии. Скоро мы включим версию расслабленного лассо, которая является лучшей формой перемасштабирования.

Я интерпретирую эти слова как одобрение некоторой формы «перемасштабирования» решения с ванильной эластичной сеткой, но, похоже, Хасти больше не придерживается особого подхода, предложенного в Zou & Hastie 2005.


Далее я кратко рассмотрю и сравню несколько вариантов масштабирования.

Я буду использовать glmnetпараметризацию потерь решение обозначено как .

L=12nyβ0Xβ2+λ(αβ1+(1α)β22/2),
β^
  1. Подход Zou & Hastie заключается в использованииОбратите внимание, что это приводит к некоторому нетривиальному масштабированию для чистого гребня, когда что, вероятно, не имеет большого смысла. С другой стороны, это не приводит к изменению масштаба для чистого лассо, когда , несмотря на различные утверждения в литературе о том, что оценка лассо может выиграть от некоторого изменения масштаба (см. Ниже).

    β^rescaled=(1+λ(1α))β^.
    α=0α=1
  2. Для чистого лассо Тибширани предложил использовать гибрид лассо-МНК, то есть использовать оценщик МНК, используя подмножество предикторов, выбранных Лассо. Это делает оценку согласованной (но устраняет усадку, которая может увеличить ожидаемую ошибку). Можно использовать тот же подход для эластичной сети но потенциальная проблема заключается в том, что эластичная сеть может выбирать больше чем предикторов и OLS сломаются (напротив, чистый лассо никогда не выберет больше чем предикторов).

    β^elastic-OLS-hybrid=OLS(Xiβ^i0)
    nn
  3. Расслабленное лассо, упомянутое в электронном письме Хасти, приведенном выше, является предложением запустить еще одно лассо на подмножестве предикторов, выбранных первым лассо. Идея состоит в том, чтобы использовать два разных наказания и выбрать оба с помощью перекрестной проверки. Можно применить ту же идею к упругой сети, но, похоже, для этого потребуются четыре различных параметра регуляризации, и их настройка - это кошмар.

    Я предлагаю более простую схему смягченных эластичных сетей : после получения выполните регрессию гребня с и такой же для выбранного подмножества предикторов:Это (а) не требует каких-либо дополнительных параметров регуляризации, (б) работает для любого числа выбранных предикторов, и (в) ничего не делает, если начинать с чистого гребня. Звучит неплохо.β^α=0λ

    β^relaxed-elastic-net=Ridge(Xiβ^i0).

Сейчас я работаю с малым набора данных с и , где хорошо предсказывается несколько ведущих ПК . Я буду сравнивать производительность вышеупомянутых оценок, используя 100-кратную повторную 11-кратную перекрестную проверку. В качестве показателя производительности я использую тестовую ошибку, нормализованную для получения чего-то вроде R-квадрата:На рисунке ниже пунктирные линии соответствуют оценщику ванильной эластичной сетки а три вспомогательных участка соответствуют трем подходам масштабирования:npn=44p=3000yX

Rtest2=1ytestβ^0Xtestβ^2ytestβ^02.
β^

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.