Kement için LARS ve koordinat inişi


13

L1 düzenli lineer regresyonu takmak için koordinat inişine karşı LARS [1] kullanmanın avantajları ve dezavantajları nelerdir?

Ben esas olarak performans yönleriyle ilgileniyorum (sorunlarım Nyüzbinlerce ve p<20'de olma eğilimindedir ). Ancak, diğer görüşler de takdir edilecektir.

edit: Soruyu gönderdiğimden beri, chl, Friedman ve arkadaşları tarafından koordinat inişinin diğer yöntemlerden önemli ölçüde daha hızlı olduğu bir kağıt [2] belirtti. Eğer durum buysa, bir uygulayıcı olarak LARS'ı koordinat inişi lehine unutmalı mıyım?

[1] Efron, Bradley; Hastie, Trevor; Johnstone, Iain ve Tibshirani, Robert (2004). "En Küçük Açı Regresyonu". Yıllık İstatistikler 32 (2): s. 407-499.
[2] Jerome H. Friedman, Trevor Hastie, Rob Tibshirani, "Koordinat İniş Yoluyla Genelleştirilmiş Doğrusal Modeller İçin Düzenleme Yolları", Journal of Statistics Software, Cilt. 33, Sayı 1, Şubat 2010.

Yanıtlar:


13

Scikit-learn'ta Kement'in koordinat inişiyle uygulanması, LARS uygulamamızdan daha hızlı olma eğilimindedir, ancak küçük p için (sizin durumunuzda) kabaca eşdeğerdir (LARS, mevcut en son optimizasyonlarla biraz daha hızlı olabilir) ana repo). Ayrıca koordinat inişi, elastik ağ düzenli sorunlarının etkili bir şekilde uygulanmasına izin verir. Bu LARS için geçerli değildir (sadece Kement, diğer bir deyişle L1 cezalandırılmış problemleri çözer).

Elastik Net cezalandırma, Lasso'nun (sırt regresyonunun çözümüne daha yakın) daha iyi bir genelleme sağlama eğilimindedir ve Lasso'nun güzel spariteyi indükleyen özelliklerini korur (denetimli özellik seçimi).

Büyük N (ve büyük p, seyrek veya değil) için de stokastik bir gradyan alçalması (L1 veya elastik net ceza ile) bir deneme (scikit-öğrenmede de uygulanır) verebilirsiniz.

Düzenleme : İşte Kementler ve scikit-learn koordinat iniş uygulamasını karşılaştıran bazı kriterler


(+1) @ogrisel Çok teşekkürler! Muhtemelen bunu kendim kodlamak zorunda kalacağım (Java'ya ihtiyacım var ve henüz açık kaynaklı bir Java uygulaması görmedim), hangi algoritmanın uygulanmasının daha kolay olduğunu söyleyebilirim?
NPE

1
hem koordinat inişinin hem de SGD'nin uygulanması kolaydır (Leon Bottou'nun web sayfasını SGD'ye hoş bir giriş için kontrol edin). LARS büyük olasılıkla haklı olmak için daha zordur.
ogrisel

Mükemmel, teşekkürler! Léon Bottou adlı siteyi kontrol edeceğim.
NPE

@ogrisel (+1) Sizi orada görmek güzel.
chl

2
@aix scikit-learn'daki mevcut uygulamalara bazı ölçütler eklemek için cevabımı düzenledim. Ayrıca kendi koordinat inişinizi uygulamadan önce liblinear'ın java sürümünü kontrol edin , çünkü sizin için yeterince iyi olabilir (aynı anda hem L1 hem de L2 reg'iniz olamaz).
ogrisel
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.