Glmnet neden Zou & Hastie orijinal belgesinde "naif" elastik ağ kullanıyor?


27

Orijinal elastik ağ kağıdı Zou & Hastie (2005) Doğrusal regresyon için elastik ağ üzerinden yapılan elastik ağ üzerinden düzenlileştirme ve değişken seçimi (burada tüm değişkenlerin merkezlenmiş ve birim varyansa ölçeklendirildiğini varsayarım): ancak buna "saf elastik ağ" denir. İkili büzülme (kement ve çıkıntı) gerçekleştirdiğini, fazla büzülme eğiliminde olduğunu ve elde edilen çözeltiyi şu şekilde yeniden ölçeklendirerek iyileştirilebileceğini savundu: \ hat \ beta ^ * = (1+ \ lambda_2) \ hat \ beta. Bunun daha iyi performansa yol açtığına dair bazı teorik argümanlar ve deneysel kanıtlar verdiler. β *=(1+λ2) β .

L=1ny-Xβ2+λ1β1+λ2β22,
β^*=(1+λ2)β^.

Bununla birlikte, sonraki glmnetmakale Friedman, Hastie ve Tibshirani (2010) Genelleştirilmiş doğrusal modeller için koordinat inişiyle düzenli hale getirme yolları bu yeniden ölçeklemeyi kullanmadı ve sadece kısa bir dipnotu vardı.

Zou ve Hastie (2005) bu cezayı saf elastik ağ olarak adlandırdılar ve elastik ağ olarak adlandırdıkları yeniden ölçeklendirilmiş bir versiyonu tercih ettiler. Bu ayrımı buraya bırakıyoruz.

Orada başka bir açıklama yapılmamıştır (ya da Hastie ve arkadaşlarının herhangi birinde ders kitaplarında). Biraz şaşırtıcı buluyorum. Yazarlar terk etti onlar da bunu kabul çünkü dışarı rescaling ad hoc ? Bazı deneylerde daha kötü performans gösterdiği için? çünkü GLM vakasına nasıl genelleştirileceği belli değildi? Hiç bir fikrim yok. Ancak, her durumda, glmnetpaket o zamandan beri çok popüler oldu ve bu yüzden benim izlenimim, bugünlerde hiç kimsenin Zou ve Hastie'den gelen kireçlendirmeyi kullanmadığı ve çoğu insanın muhtemelen bu ihtimalden haberdar olmadığı.

Soru: Sonuçta, bu iyi bir fikir mi yoksa kötü bir fikir mi yeniden ölçeklendirdi?

İle glmnetparametreleriyle, Zhou ve Hastie yeniden ölçeklendirme olmalıdır

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

1
Pırıltı kağıdında, amaç tüm düzenlileştirme yoluna uymak olduğu için, muhtemelen fikir, yeniden ölçeklendirmenin sadece yolun monotonik bir dönüşümü olacağıdır?
Matthew Drury

1
@MatthewDrury Bu doğru, ancak Friedman ve ark. yeniden ölçeklendirmenin iyi bir fikir olduğuna inanıyordu, bunu kağıttan ve özellikle de glmnetkodun dışında bırakmayacaklardı . Opsiyonel bir özellik olarak bile mevcut değil (2005 makalesine eşlik eden önceki kodları elbette yeniden ölçeklendirmeyi destekliyor).
amip diyor Reinstate Monica

4
Maalesef, genel glmnet kodu tamamen okunamıyor ...
Matthew Drury

Yanıtlar:


25

Bu soruyu Zou'ya ve Hastie'ye e-postayla gönderdim ve Hastie'den şu cevabı aldım (umarım burada alıntı yapmamı istemezdi):

Zou ve arkadaşlarının ek önyargı konusunda endişeliydik, ancak elbette yeniden ölçeklendirmenin varyansı artırdığını düşünüyorum. Bu yüzden sadece bir sapma varyansı tradeoff eğrisi boyunca kaydırır. Yakında, daha iyi bir yeniden ölçeklendirme şekli olan gevşemiş kementin bir versiyonunu da ekleyeceğiz.

Bu sözleri vanilya elastik net çözümünün bir miktar "yeniden ölçeklendirilmesi" nin bir onaylaması olarak yorumluyorum , ancak Hastie artık Zou & Hastie 2005'te öne sürülen özel yaklaşımın yanında durmuyor gibi görünmüyor.


Aşağıda, birkaç ölçeklendirme seçeneğini kısaca gözden geçirip karşılaştıracağım.

glmnetKaybın parametreleştirilmesini kullanacağım Çözüm olarak gösterilen .

L=12ny-β0-Xβ2+λ(αβ1+(1-α)β22/2),
β^
  1. Zou & yaklaşımıBunun, , büyük olasılıkla pek bir anlam ifade etmediğinde saf sırt için önemsiz olmayan bir yeniden ölçeklendirme verdiğini unutmayın. Öte yandan, literatürde kement tahmincisinin bazı yeniden ölçeklendirmeden fayda sağlayabileceği çeşitli iddialara rağmen, olduğunda, saf kement için herhangi bir yeniden ölçeklendirme yapılmamaktadır (aşağıya bakınız).

    β^yeniden ölçeklendirilmiş=(1+λ(1-α))β^.
    α=0α=1
  2. Saf kement için, Tibshirani kement-OLS hibritini kullanmayı, yani Kement tarafından seçilen kestiricilerin alt kümesini kullanarak OLS tahmincisini kullanmayı önerdi. Bu, tahmin ediciyi tutarlı kılar (ancak beklenen hatayı artırabilecek büzülmeyi geri alır). Biri elastik ağ için aynı yaklaşımı kullanabilir, fakat potansiyel sorun elastik ağın seçebilmesidir. öngörücüsünden daha fazlası ve OLS parçalanacaktır (aksine, saf kement hiçbir zaman öngörücüsünden fazlasını seçmez).

    β^Elastik-ol-hibrid=EKK(Xben|β^ben0)
    nn
  3. Kement rahat yukarıda alıntılanan HASTIE en e-postada belirtilen ilk kementiyle tarafından seçilen belirteçlerinin alt kümesi üzerinde başka kement çalıştırmak için bir öneridir. Buradaki fikir iki farklı ceza kullanmak ve her ikisini de çapraz doğrulama yoluyla seçmek . Biri aynı fikri elastik ağa da uygulayabilir, ancak bu dört farklı düzenlileştirme parametresi gerektiriyor ve bunları ayarlamak kabus gibi görünüyor.

    Daha basit ve rahat bir elastik net şeması öneriyorum : elde ettikten sonra , seçilen yordayıcı alt kümesinde ve aynı ile regresyon gerçekleştirin :Bu (a) herhangi bir ek düzenlileştirme parametresi gerektirmez, (b) seçilen herhangi bir belirleyici için çalışır ve (c) biri saf çıkıntı ile başlarsa hiçbir şey yapmaz. Bana uyar.β^α=0λ

    β^rahat elastik net=sırt(Xben|β^ben0).

Şu anda ve olan küçük bir veri kümesi ile çalışıyorum , burada , birkaç önde gelen PC'si tarafından iyi tahmin edilmektedir . 100x tekrarlanan 11 kat çapraz doğrulama kullanarak yukarıdaki tahmin edicilerin performansını karşılaştıracağım. Bir performans ölçütü olarak, R-karesi gibi bir şey verecek şekilde normalleştirilmiş test hatası kullanıyorum:Aşağıdaki şekilde, kesik çizgiler vanilya elastik net tahmincisi ve üç alt nokta üç ölçeklendirme yaklaşımına karşılık gelir:n«pn=44p=3000yX

R,Ölçek2=1-yÖlçek-β^0-XÖlçekβ^2yÖlçek-β^02.
β^

görüntü tanımını buraya girin

Bu nedenle, en azından bu verilerde, her üç yaklaşım da vanilya elastik ağ tahmincisinden daha iyi performans gösterir ve "gevşemiş elastik ağ" en iyisini yapar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.