LASSO çözümlerini hesaplamak için GLMNET veya LARS?


13

LASSO probleminin katsayılarını almak istiyorum

||YXβ||+λ||β||1.

Sorun glmnet ve lars fonksiyonlarının farklı cevaplar vermesidir. Glmnet fonksiyonu için sadece λ yerine , ama yine de farklı cevaplar alıyorum.λ/||Y||λ

Bu bekleniyor mu? Lars arasındaki ilişki nedir ve glmnet λ ? Glmnet'in LASSO problemleri için daha hızlı olduğunu anlıyorum ama hangi yöntemin daha güçlü olduğunu bilmek istiyorum?λλ


deps_stats Veri setimin büyüklüğünün LARS'ın kaldıramayacağı kadar büyük olduğundan, diğer yandan glmnet benim büyük veri setimi işleyebileceğinden korkuyorum.

mpiktas (Y-Xb) ^ 2 + L \ sum | b_j | ama iki algoritmadan (lars & glmnet) bu belirli L için hesaplanan katsayılarını sorduğumda, farklı cevaplar alıyorum ... ve merak ediyorum doğru / beklenen mi? ya da sadece iki işlev için yanlış bir lambda kullanıyorum.


1
lütfen sorununuzu açıklayan bir örnek veriniz. Ayrıca algoritmanın gücünü nasıl tanımlarsınız?
mpiktas

1
Birkaç projede glmnet ve lars paketleri kullandım. Sınırlı tecrübemde glmnet'i uygularken çok fazla sorun yaşadım. Ben glmnet veri çerçevesinde kullanılan değişkenlerin türü ile ilgili bazı hata düzeltmeleri gerektiğini düşünüyorum. Ayrıca, glmnet kafa karıştırıcı belgelere sahiptir. Sonunda lars kullandım ve sonuçlardan çok memnun kaldım. Sorununuzun büyüklüğü kadar, bence larlar bunu halledebilir.
deps_stats

"Sorun glmnet ve lars fonksiyonlarının farklı cevaplar vermesidir." aynı problemim var. Cevap var mı?
hibe

Katsayılar için büyük ölçüde farklı cevaplar? Ve sadece orijinal yazıyı okurken, glmnetLARS uygulamasından da tek bir lambda çözümü istememelisiniz . Sapma ve sapma spektrumu boyunca bir dizi çözüm sunarlar. Bu da gerçek katsayıları karşılaştırmayı zorlaştırır. Fakat yine de, aynı değişkenler benzer bir sırayla sıfırdan farklı olmalıdır.
Shea Parkes

Yanıtlar:


14

Deneyimlerime göre, LARS küçük problemler, çok seyrek problemler veya çok 'geniş' problemler (örneklerden çok daha fazla özellik) için daha hızlıdır. Aslında, tam düzenleme yolunu hesaplamazsanız, hesaplama maliyeti seçilen özellik sayısıyla sınırlıdır. Öte yandan, büyük sorunlar için glmnet (koordinat iniş optimizasyonu) daha hızlıdır. Diğer şeylerin yanı sıra, koordinat iniş iyi bir veri erişim modeline (bellek dostu) sahiptir ve kısmi uyumlarla birleştiği için çok büyük veri kümelerindeki verilerde artıklıktan yararlanabilir. Özellikle, çok ilişkili veri kümelerinden muzdarip değildir.

Biz ( scikit-öğrenmenin çekirdek geliştiricileri ) de geldiğimiz sonucuna göre, verileriniz hakkında önceden bilgi sahibi değilseniz, bir algoritma hakkında konuşmak için glmnet'i (veya iniş optimizasyonunu koordine etmeyi) tercih etmelisiniz. bir uygulamadan).

İlginç kriterler Julien Mairal'in tezinde karşılaştırılabilir:

http://www.di.ens.fr/~mairal/resources/pdf/phd_thesis.pdf

Bölüm 1.4, özellikle 1.4.5 (sayfa 22)

Julien, sorunu analiz etmesine rağmen, biraz farklı sonuçlara varıyor. Bunun çok geniş problemlerle çok ilgilendiğinden şüpheleniyorum.


Yanıtlarınızın çoğu CW'den yapılır (burada, aynı zamanda metaoptimize.com/qa adresinde de ...) Neden?
chl

1
Çünkü insanların yazım hatalarını, yanlış ifadeleri düzeltebilmelerinin iyi olduğunu düşünüyorum ... Cevapların sürekli iyileştirilmesi fikrini seviyorum. Bu en iyi uygulamalara karşı mı?
Gael Varoquaux

2
Geçerken iki veya üç yazım hatası düzelttim. Gönderinizi düzenlemek için gereken daha düşük temsilciyi düşünmüyorsanız, CW ile kendiniz ilgisi yoktur! Kullanıcılar düzenlemeler önerebilir; ancak yanıtınızı CW yapmak, onlardan destek kazanmanıza izin vermez. Sanırım temsilciden sonra değilsin, ama cevapların hep iyi konduğu için merak ediyorum ... Şerefe.
chl

1

LASSO, birden fazla özelliğin mükemmel bir eşbiçimliğe sahip olması durumunda benzersiz değildir. İşte bunu kanıtlamak için basit bir düşünce deneyi.

yx1x2yx1x2yx1x2β1=1Pβ2=0Pβ1=0β21P


2
@dsmcha, bunu söylediğim için üzgünüm, ama bu örneği çok sevdiğimi sanmıyorum. Tepki iki yordayıcı ile aynı mı? Bana göre bu patolojik olmanın ötesinde.
kardinal

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.