Makine Öğreniminde Neden Aşırı Güçlendirme Neden?


49

Mantık genellikle, bir modelin üzerine oturtularak, genelleştirme kapasitesinin sınırlı olduğunu belirtir, ancak bu sadece modelleme işleminin bir modelin belirli bir karmaşıklıktan sonra gelişmesini engellediği anlamına gelebilir. Fazla donanım, modellerin verilerin karmaşıklığına bakılmaksızın daha da kötüleşmesine neden oluyor mu ve öyleyse neden bu böyle?


İlgili: Yukarıdaki soruyu takip etmek, " Bir Model Ne Zaman Donatılır? "


1
Sorunuz gerçekte giydirilmesinin imkansız olduğu bir durum olup olmadığı mı?
Sean Owen,

@SeanOwen: Hayır, fazla giymek nasıl imkansız olurdu?
Blunders

Katılıyorum, sadece fazladan donanımın verilere bakılmaksızın modellerin daha kötü hale gelip gelmediğini sorduğunuz gibi kontrol edin
Sean Owen

1
Aşırı uyum tanımı gereği kötü. Öyle olmasa bunlar olmazdı üzerinde -fitting.
Gala,

1
Senden "model karmaşıklığı ekleyerek" alıntı yapmak istememiştim - sadece ifadeyi vurguladım. Her neyse, benim sorunumun temelde @ Gaa ile aynı olduğunu düşünüyorum. Görünüşe göre bir totolojiyi onaylamamızı istiyorsun. Bu yüzden aslında farklı bir soru sormak istediğinizi düşünme eğilimindeyim. Örn, artan model karmaşıklığı modellerin daha da kötüleşmesine neden olur mu? Veya, verilerin karmaşıklığı bir modelin üstesinden gelme eğilimiyle nasıl ilişkilidir?
Nathan Gould,

Yanıtlar:


44

Aşırı uyum ampirik olarak kötü. Test ve eğitim olarak ikiye böldüğünüz bir veri kümeniz olduğunu varsayalım. Çok donanımlı bir model, test veri setinde eğitim veri setinden çok daha kötü performans gösteren modeldir. Genelde böyle modellerin genellikle fazladan test edilmemiş modellerden daha fazla ek (yeni) test veri setinde daha kötü performans gösterdiği görülmektedir.

Sezgisel olarak bunu anlamanın bir yolu, bir modelin verilerin ilgili bazı kısımlarını (sinyal) ve bazı alakasız kısımları (gürültü) kullanabileceğidir. Çok giyimli bir model, bilinen gürültü durumunda performansını arttıran (eğitim verileri) ve yeni gürültü durumunda performansını azaltan (test verileri) gürültüyü daha fazla kullanır. Eğitim ve test verileri arasındaki performans farkı, modelin ne kadar gürültü çektiğini gösterir; ve gürültüyü doğrudan almak, test verilerinde (gelecekteki veriler dahil) daha kötü performansa dönüşür.

Özet: gereğinden fazla uydurma tanım gereği kötüdür, bunun karmaşıklık veya genelleme yeteneği ile ilgisi yoktur, bunun yerine sinyal için gürültüyü yanlışlamakla ilgisi vardır.

PS Sorunun "genelleme yeteneği" bölümünde, modelin yapısı nedeniyle genelleme yeteneğini kısıtlayan bir modelin olması çok olasıdır (örneğin doğrusal SVM, ...) aşırı uyum gösterme. Bir anlamda aşırı uyum, genellemenin başarısız olabileceği sadece bir yoldur.


17

Kısaca takma, kısaca, verilerinizden ve / veya önceki bilgilerinizden çok fazla bilgi almanız ve bir modelde kullanmanız anlamına gelir. Daha basit hale getirmek için aşağıdaki örneği göz önünde bulundurun: Bazı bilim adamları tarafından, bir tür bitkinin büyümesini tahmin etmek için bir model sağlamak üzere işe alınırsınız. Bilim adamları, bir yıl boyunca bu tür bitkilerle yaptıkları çalışmalardan toplanan bilgileri size verdiler ve plantasyonlarının gelecekteki gelişimi hakkında size sürekli bilgi verecekler.

Böylece, alınan verileri gözden geçiriyor ve bunun dışında bir model oluşturuyorsunuz. Şimdi, modelinizde, ilk veri setinde gördüğünüz bitkilerin tam davranışını her zaman bulmak için mümkün olduğunca çok özellik düşündüğünüzü varsayalım. Şimdi, üretim devam ederken, bu özellikleri her zaman göz önünde bulunduracak ve çok ince taneli sonuçlar üreteceksiniz . Ancak, plantasyon sonunda bazı mevsimsel değişimlerden muzdarip olursa, alacağınız sonuçlar, tahminlerinizin başarısız olmaya başlayacağı şekilde modelinize uyabilir (ya da büyümenin yavaşlayacağını söylerken, aslında hızlanacaksa veya tam tersi).

Bu kadar küçük farklılıkları tespit edememek ve girdilerinizi yanlış şekilde sınıflandırmak dışında , modeldeki ince taneler , yani, büyük miktardaki değişkenler, işlemenin çok maliyetli olmasına neden olabilir. Şimdi, verilerinizin zaten karmaşık olduğunu hayal edin. Modelinizi verilere uyarlamak, sınıflandırmayı / değerlendirmeyi çok karmaşık hale getirmekle kalmayacak, aynı zamanda büyük olasılıkla girişte olabilecek en küçük varyasyonla ilgili tahminlerde hata yapmanıza da neden olacaktır.

Düzenleme : Bu , belki de yukarıdaki açıklamaya dinamiklik ekleyerek, bazı kullanımlara neden olabilir: D


14

Kabaca konuşursak, aşırı uydurma genellikle oran olduğunda

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

çok yüksek.

Aşırı uyumu, modelinizin test verisine genelleştirilmesini engelleyen büyük resimleri öğrenmek yerine, eğitim verilerini kalpten öğrendiği bir durum olarak düşünün: bu, model boyutuna göre çok karmaşık olduğunda gerçekleşir. Eğitim verileri, yani eğitim verilerinin boyutunun model karmaşıklığına göre daha küçük olması.

Örnekler:

  • Veri iki boyutta ise, eğitim setinde 10000 puan var ve model bir çizgidir, sen muhtemeldir altında -fit.
  • Verileriniz iki boyuttaysa, eğitim setinde 10 puana sahipsiniz ve model 100 dereceli polinom ise, aşırı uyum göstermeniz olasıdır .

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

Teorik açıdan bakıldığında, modelinizi doğru şekilde eğitmek için ihtiyacınız olan veri miktarı, makine öğreniminde çok önemli ancak cevaplanması gereken bir sorudur. Bu soruyu cevaplamak için böyle bir yaklaşım VC boyutudur . Başka bir yanlılık varyansı tradeoff .

Ampirik bir bakış açısına göre, insanlar genellikle eğitim hatasını ve test hatasını aynı arsaya çizer ve test hatası pahasına eğitim hatasını azaltmadıklarından emin olun:

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

Coursera 'Makine Öğrenmesi kursu , "10: Makine Öğrenimi uygulamak için tavsiyeler" bölümünü izlemenizi tavsiye ederim .

(Not: Lütfen bu SE'de TeX desteği istemek için buraya gidin .)



5

Bunun nedeni yanlılık varyansı ikilemi olarak adlandırılan bir şey . Fazla donanımlı model, modele daha fazla farklılık gösterirsek daha karmaşık karar sınırlarına sahip olacağımız anlamına gelir. Mesele şu ki, sadece çok basit modeller değil aynı zamanda karmaşık modellerin görünmeyen veriler üzerinde gizli sınıflandırılmış sonuçları olması muhtemeldir. Sonuç olarak, aşırı takılan model, takılan model kadar iyi değildir. Bu yüzden aşırı takma kötü ve modele ortada bir yerlere uymamız gerekiyor.


"1 sayesinde Cevabınız sonucunda, I, üst soruya Takibinizi gönderdiniz Model Underfitted ne zaman? "
Blunders

4

Fazla giydirme ile ilgili problemi anlamamı sağlayan şey, mümkün olan en fazla giydirme modelinin ne olacağını hayal etmekti. Temel olarak, basit bir arama tablosu olurdu.

Modele, her bir veri parçasının hangi özelliklere sahip olduğunu ve basitçe hatırladığını ve onunla daha fazla bir şey yapmadığını söylersiniz. Daha önce gördüğü bir veri parçasını verirseniz, yukarı bakar ve basitçe daha önce söylediklerinizi yetersizleştirir. Bunu veriyi verirsek henüz daha önce görülmemiş, sonuçları önceden veya rastgele. Ancak, makine öğrenmenin amacı size ne olduğunu anlatmak değil, kalıpları anlamak ve neler olduğunu tahmin etmek için bu kalıpları kullanmaktır.

Yani bir karar ağacı düşünün. Karar ağacınızı büyütmeye devam ederseniz, sonuçta her yaprak düğümünün tam olarak bir veri noktasına dayandığı bir ağaç alırsınız. Az önce bir makyaj masası oluşturmanın arka kapı yolunu buldun.

Gelecekte neler olabileceğini bulmak için sonuçlarınızı genelleştirmek için, eğitim setinizde olup bitenleri genelleyen bir model yaratmalısınız. Kıyafet modelleri, sahip olduğunuz verileri tanımlamak için harika bir iş çıkarsa da, tanımlayıcı modeller mutlaka öngörücü modeller değildir.

No Free Lunch Teoremi, hiçbir modelin olası tüm örnekler üzerinde herhangi bir modelden daha iyi performans gösteremeyeceğini söylüyor . "2, 4, 16, 32" sayılar dizisinde sırada ne olacağını tahmin etmek istiyorsanız, temelde bir kalıp olduğu varsayımını yapmazsanız, diğerlerinden daha doğru bir model oluşturamazsınız. Üstünü örten bir model, kalıpları gerçekten değerlendirmez - basitçe bildiği şeyleri modellemek ve gözlemleri size sunmaktır. Altta yatan bir işlev olduğunu ve bu işlevin ne olduğunu belirleyebiliyorsanız, olayların sonucunu tahmin edebileceğinizi varsayarak öngörücü güç elde edersiniz. Fakat gerçekten bir model yoksa, o zaman şansın tükenir ve tek umudunun ne olduğunu bildiğini söyleyen bir arama masası olur.


1

Yanlışlıkla iki farklı varlığı birleştiriyorsunuz: (1) yanlı değişkenlik ve (2) model karmaşıklığı.

(1) Aşırı uygunluk, makine öğrenmesinde kötüdür, çünkü herhangi bir verinin popülasyonunun gerçekten tarafsız bir örneğini toplamak mümkün değildir . Aşırı yerleştirilmiş model, tüm popülasyon için parametreleri uygun şekilde tahmin etmek yerine, numuneye taraflı parametrelere yol açar. Bu , eğitim dönemi sayısından bağımsız olarak, tahmini parametreler ile optimal parametreler arasında bir fark kalacağı anlamına gelir . cp*nϕ^ϕn

e ϕ|ϕϕ^|eϕ as n , burada bir sınırlayıcı değerdireϕ

(2) Model karmaşıklığı basit bir ifadeyle içindeki parametre sayısıdır . Modelin karmaşıklığı düşükse, yaklaşık değerine eşit olsa bile, eğitim dönemi sayısından bağımsız olarak bir regresyon hatası kalacaktır . En basit örnek , bir eğri (kuadratik polinom) üzerindeki verilere olan bir çizgiye (y = mx + c) uyacak şekilde öğrenmektir .φ φ φ * φ = { m , c }ϕϕ^ϕϕ={m,c}

e ME[|yM(ϕ^)|]eM as n , burada bir regresyon uygun hata sınırlayan bir değerdireM

Özet: Evet, hem örnek önyargı hem de model karmaşıklığı öğrenilen modelin “kalitesine” katkıda bulunur, ancak birbirlerini doğrudan etkilemezler. Önyargılı verileriniz varsa, doğru sayıda parametreye ve sonsuz eğitime sahip olmanıza bakılmaksızın, son öğrenilen modelde hata olur. Benzer şekilde, eğer gerekli sayıda parametre sayısından az olsaydınız, o zaman tamamen tarafsız örnekleme ve sınırsız eğitimden bağımsız olarak, son öğrenim modelinde hata olur.


0

Fazla takma konusunda çok iyi açıklamalar yapıldı. İşte düşüncelerim. Aşırı uyum, varyansınız çok yüksek ve önyargı çok düşük olduğunda gerçekleşir.

Diyelim ki sizinle N parçalarına ayırdığınız eğitim verileriniz var. Şimdi, her bir veri kümesinde bir model eğitirseniz, N modeline sahip olacaksınız. Şimdi ortalama modeli bulun ve ardından her bir modelin ortalamadan ne kadar farklı olduğunu hesaplamak için varyans formülünü kullanın. Donanımlı modeller için bu değişkenlik gerçekten yüksek olacaktır. Bunun nedeni, her modelin kendisine beslediğimiz küçük veri setine çok özel olan tahmini parametrelere sahip olmasıdır. Benzer şekilde, ortalama modeli alıp, en iyi doğruluğu vermiş olan orijinal modelden ne kadar farklı olduğunu bulursanız, hiç de farklı olmaz. Bu düşük önyargı anlamına gelir.

Modelinizin fazla takılıp takılmadığını bulmak için, önceki yazılarda belirtilen grafikleri oluşturabilirsiniz.

Son olarak, fazla takmamak için modeli düzenleyebilir ya da çapraz doğrulama kullanabilirsiniz.

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.