Regresyonda fazla takmaktan kaçının: Düzenlemeye alternatifler


19

Regresyonda düzenlileştirme (doğrusal, lojistik ...) aşırı uyumu azaltmanın en popüler yoludur.

Hedef tahmin doğruluğu olduğunda (açıklamıyorsa), özellikle büyük veri kümeleri (mil / milyarlarca gözlem ve milyonlarca özellik) için düzenli hale getirmenin iyi alternatifleri var mı?


3
"Büyük veri kümeleri", çok sayıda gözlem, çok sayıda değişken veya her ikisi anlamına gelebilir ve yanıt, gözlemlerin ve değişkenlerin sayısına bağlı olabilir.
Pere

Neden norm düzenini kullanmıyorsunuz? Sinir ağları için çıkış var
seanv507

4
Düzenlemenin avantajı, hesaplamalı olarak ucuz olmasıdır. Torbalama ve artırma (vb.) Gibi topluluk yöntemleri, model teşhisi için çapraz validasyon yöntemleri ile birlikte iyi bir alternatiftir, ancak çok daha maliyetli bir çözüm olacaktır.
Digio

1
Bu ilgi çekici olabilir: stats.stackexchange.com/a/161592/40604
Dan

1
Digio'nun yorumuna eklemek için: Düzenleme, torbalama / artırma ile karşılaştırıldığında ucuzdur, ancak "düzenlilik yok" alternatifine kıyasla hala pahalıdır (örneğin, Ben Recht tarafından düzenlemenin derin öğrenmeyi nasıl zorlaştırdığına dair bu gönderiye bakınız ). Çok sayıda örneğiniz varsa, hiçbir düzenleme çok daha ucuza iyi gelemez. Model hala @ hxd1001 puan olarak iyi genelleştirmek olabilir )
Berk

Yanıtlar:


11

Sorunuzla doğrudan ilgili olmayan iki önemli nokta:

  • Birincisi, amaç yorumlama yerine doğruluktur, çoğu durumda düzenlileştirme hala gereklidir, çünkü modelleme için kullanılan verileri değil, gerçek test / üretim veri setinde "yüksek doğruluk" u sağlayacaktır.

  • İkincisi, milyar satır ve milyon sütun varsa, herhangi bir düzenlemeye gerek yoktur. Bunun nedeni, verilerin çok büyük olması ve birçok hesaplama modelinin "sınırlı güce" sahip olmasıdır, yani, fazla takmak neredeyse imkansızdır. Bu yüzden bazı derin sinir ağlarının milyarlarca parametresi vardır.


Şimdi, sorunuz hakkında. Ben ve Andrey tarafından belirtildiği gibi, düzenlemeye alternatif olarak bazı seçenekler vardır. Daha fazla örnek eklemek istiyorum.

  • Daha basit bir model kullanın (Örneğin, sinir ağındaki gizli birim sayısını azaltın. SVM'de düşük dereceli polinom çekirdeği kullanın. Gaussian karışımı içindeki Gaussian sayısını azaltın.)

  • Optimizasyonda erken durun. (Örneğin, sinir ağı eğitimindeki dönemi azaltın, optimizasyondaki yineleme sayısını azaltın (CG, BFGS, vb.)

  • Birçok modelde ortalama (Örneğin, rastgele orman vb.)


Çok teşekkürler. İkinci seçenek (erken durma) şu anda SGD ile denediğimiz şeydir. Oldukça iyi çalışıyor. Yakında normalleştirme ile karşılaştırmak istiyoruz. Bu yöntemden bahseden herhangi bir makalenin farkında mısınız?
Benoit Sanchez

1
Degrade iniş ile erken durma ve düzenlenme arasında geometrik bir ilişki vardır. Örneğin, primer formdaki sırt regresyonu, başlangıç ​​noktasında merkezlenen katı bir elips içinde bulunan kayıp fonksiyonunu en aza indiren parametrelerin, elipsin boyutunun düzenlenme gücünün bir fonksiyonu ile istenmesini ister. Sırt parametreleri, normalleştirilmemiş çözeltiden farklıysa elipsin yüzeyinde bulunur. Başlangıç ​​noktasında başlayan bir çıkış yaparsanız ve sonra erken durursanız, bu elipslerden birinin sınırında olursunuz ...
Matthew Drury

Degradeleri takip ettiğiniz için, gerçek minimum yolunu takip ettiniz, bu yüzden çoğu zaman sırt çözümünün çevresinde olacaksınız. Bu düşünce trenini ne kadar titiz yapabileceğinizden emin değilim, ama bir ilişki olabilir.
Matthew Drury

@BenoitSanchez Bu yazı ilgili olabilir. Yazarlar farklı bir problemle (özvektör hesaplamasında aşırı uydurma) mücadele etmektedir, ancak aşırı sığdırma ile başa çıkma stratejisi aynıdır (yani, hesaplamayı azaltarak örtük düzenlileştirme). Strateji, yaklaşık bir çözüm üreten daha ucuz bir sorunu çözmektir (bence - optimizasyonda erken durmakla aynıdır).
Berk

@BenoitSanchez Bunu tavsiye ederim. Lorenzo'nun dersleri youtube'da mevcut, ancak bu sayfada ayrıca birkaç makaleye bağlantılar var mit.edu/~9.520/fall17/Classes/early_stopping.html
David Kozak

14

Düzenlemeye iki alternatif:

  1. Çok, çok gözlem var
  2. Daha basit bir model kullanın

Geoff Hinton (sırt propogasyonunun ortak mucidi) bir zamanlar mühendislere (yoğun bir şekilde paraphrasing) bir hikaye anlattı, "Geoff, derin ağlarımızda okulu bırakmamız gerekmiyor çünkü çok fazla veriye sahibiz." Ve onun yanıtı, "O zaman sen kadar, hatta daha derin ağları inşa etmeliyiz oldu edilir overfitting ve ardından bırakma kullanıyoruz." İyi tavsiye bir yana, yeterli veri olduğu sürece, derin ağlarda bile normalleşmeyi önleyebilirsiniz.

Sabit sayıda gözlemle, daha basit bir model de seçebilirsiniz. Basit bir doğrusal regresyonda kesişimi, eğimi ve hata varyansını tahmin etmek için muhtemelen normalleştirmeye ihtiyacınız yoktur.


3

Aşırı takılmayı önlemek için bazı ek olasılıklar

  • Boyutsal küçülme

    Alt boyutlu özellikler altuzayını elde etmek için temel bileşenler analizi (PCA) gibi bir algoritma kullanabilirsiniz. PCA fikri, sizinm boyutsal özellik alanı, l<<m boyutlu altuzay.

  • Özellik seçimi (ayrıca boyut azalması)

    Daha düşük boyutlu bir özellik alanı elde etmek için bir dizi özellik seçimi yapabilirsiniz (örn. LASSO kullanarak). LASSO kullanarak özellik seçimi gibi bir şey, bazı büyük ama bilinmeyen özellik alt kümelerinin alakasız olması durumunda faydalı olabilir.

  • Rasgele orman gibi aşırı sığmaya daha az eğilimli algoritmalar kullanın. (Ayarlara, özelliklerin sayısına vb. Bağlı olarak, bunlar normal en küçük karelerden daha hesaplama açısından pahalı olabilir.)

    Diğer cevaplardan bazıları, artırma ve torbalama tekniklerinin / algoritmalarının avantajlarından da bahsetmiştir.

  • Bayes yöntemleri

    Katsayı vektörüne bir öncekinin eklenmesi, aşırı sığmayı azaltır. Bu kavramsal olarak düzenlileştirme ile ilgilidir: örn. sırt regresyonu maksimum posteriori kestirim için özel bir durumdur.


2

Yineleyici / dönem sayısını tanımlayabileceğiniz bir çözücü içeren bir model kullanıyorsanız, doğrulama hatasını izleyebilir ve erken durdurma uygulayabilirsiniz: doğrulama hatası artmaya başladığında algoritmayı durdurun.


1
Bu soru açık bir şekilde regresyon (doğrusal, lojistik) modelleri soruyor.
Matthew Drury

2
Teknik olarak konuşan lineer ve lojistik regresyon çok basit sinir ağlarıdır.
Andrey Lukyanenko

2
Bunun soruyu sorulduğu gibi cevaplamadığı inancımı değiştirdiğini sanmıyorum. "Regresyonu bir çeşit degrade iniş ile uydurursanız ve erken durdurma uygularsanız" demek için elden geçerseniz, bu daha iyi olurdu.
Matthew Drury

Sklearn'in bile parametre sınırlama sayısını yineleyen bazı modelleri vardır. Doğruluğu izlemek için kullanılabilir. Ama sanırım ifadenin tam olarak doğru olmadığı haklısın.
Andrey Lukyanenko

1

İki düşünce:

  1. Ben Ogorek tarafından önerilen "daha basit bir model kullanın" stratejisini ikinci olarak kullandım .

    Küçük tamsayı katsayılı gerçekten seyrek doğrusal sınıflandırma modelleri üzerinde çalışıyorum (örneğin -5 ile 5 arasında tamsayı katsayılı maks. 5 değişken). Modeller, doğruluk ve daha karmaşık performans metrikleri (örn. Kalibrasyon) açısından iyi genelleme yapar.

    Bu makaledeki bu yöntem, lojistik regresyon için büyük örnek boyutlarına ölçeklenecek ve dışbükey kayıp fonksiyonlarına sahip diğer doğrusal sınıflandırıcılara uyacak şekilde genişletilebilir. Birçok özelliğe sahip vakaları işlemez (n/d bu durumda veriler ayrılabilir ve sınıflandırma sorunu kolaylaşır).

  2. Modeliniz için ek kısıtlamalar belirtebiliyorsanız (örn. Monotonite kısıtlamaları, yan bilgiler), bu hipotez alanını azaltarak genellemeye yardımcı olabilir (örneğin bu makaleye bakınız ).

    Bunun dikkatli bir şekilde yapılması gerekir (örneğin, modelinizi muhtemelen kısıtlama olmaksızın bir taban çizgisiyle karşılaştırmak ve eğitim sürecinizi kiraz toplama kısıtlamaları olmamasını sağlayacak şekilde tasarlamak istersiniz).

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.