Takma: Gümüş mermi yok mu?


21

Anladığım kadarıyla, uygun çapraz doğrulama ve model seçim prosedürlerini takip ederken bile , model karmaşıklığı üzerine bir kısıtlama getirmediği sürece, bir modeli yeterince zor arayacaksa , fazladan takma gerçekleşecek . Dahası, çoğu kez insanlar, sağlayabilecekleri korumayı baltalayan verilerden model karmaşıklığı ile ilgili cezaları öğrenmeye çalışırlar.

Sorum şu: Yukarıdaki açıklamaya ne kadar gerçek var?

ML uygulayıcılarının sık sık söylediklerini duyuyorum: " Şirketimde / laboratuvarımda, hangisinin en iyi sonucu verdiğini görmek için her zaman mevcut olan her modeli (örneğin, şapka veya scikit-learning gibi ) deniyoruz ". Genelde, çapraz onaylama konusunda ciddi olsalar ve tutma setlerini istedikleri şekilde tutabilseler bile , bu yaklaşımın kolayca üstesinden gelebileceğini savunuyorum . Dahası, ne kadar zor ararlarsa, daha fazla giyinebilirler. Başka bir deyişle, aşırı optimizasyon gerçek bir sorundur ve sistematik olarak buna karşı savaşmanıza yardımcı olacak herhangi bir buluşsal yöntem yoktur. Bu şekilde düşünmek yanlış mıyım?


ML'yi mi yoksa genel olarak çok değişkenli modelleri mi soruyorsunuz?
rumtscho

@rumtscho, ML'deki her şeyi.
Amelio Vazquez-Reina,

1
Thanks @CagdasOzgenc: "arama alanı ne kadar büyükse (dikkate alınan modeller), sonuç o kadar zayıf olur" . Burada ne kadar soyutlama "arama alanı" kullandığınızdan emin değilsiniz, ama "yeterince sıkı" derken, elbette daha fazla modelde arama yapmak ve "meta-model" in karmaşıklığını / arama alanını artırmak demek istiyorum. (dilerseniz) uymaya çalışıyoruz.
Amelio Vazquez-Reina

Yanıtlar:


8

Tam bir cevap değil, ancak insanların bu tartışmada göz ardı ettiği bir şey, Çapraz Doğrulamanın (örneğin) ne anlama geldiği, neden kullandığınız ve bunun neyi kapsadığıdır.

Çok fazla arama yaparken gördüğüm problem, insanların yaptığı CV'nin genellikle tek bir modelde olması. folds=Model takma prosedürünün bir argümanını ayarlayarak kolay yapılır . Ancak, birden fazla modele ve birden fazla model oluşturmak için birden fazla yordama gittiğinizde, CV içine almadığınız başka bir katman veya iki katman eklersiniz.

Bu yüzden iç içe CV kullanmalılar. Ayrıca bağımlı ve bağımsız değişkenler arasındaki ilişkiyi koparırsanız prosedürlerinin ne kadar iyi olacağını görmek için tüm işlemlerinin etrafına sarılmış "Hedef Karıştırma" (yeniden örnekleme / permütasyon testi) kullanıyor olmalılar - yani rastgele ne kadar iyi yapıyorsanız tüm sürecini göz önünde bulundurarak mı?


1
+1. Şebeke araştırması yapan tek (veya çok az) CV katmanı ile model seçimi yapmak (model seçimi) kesinlikle aşırı yüklenmeye neden olabilir (ilgilenen herkes için örneğin bunu ve içindeki kaynakları tavsiye ederim ). "Hedef Karıştırma" hakkında okumuştum (diğer okuyucular için bu gösterimi tavsiye ediyorum ), fakat asla kendim kullanmadım; Ayrıca kötüye kullanılıp kullanılamayacağını merak ediyorum (örneğin, sonuçta yanlış pozitiflere yol açan çoklu testler yapmak ve böylece tekrar "yeterince zor" (?) Arama yapmak).
Amelio Vazquez-Reina,

7

4 yıllık deneyimim boyunca, caret (veya scikit-learn) içindeki her bir modeli denemenin mutlaka fazladan giyinmeye yol açmayacağını buldum. Yeterince büyük bir veri kümesine (10.000+ satır) ve daha da az veya hatta daha az bir sınıf dengesine sahipseniz (yani, kredi riski veya pazarlama problemlerinde olduğu gibi sınıf dengesizliği olmazsa), fazla uydurma eğiliminin düşük olduğunu gördüm. Izgara parametrelerini ayarlama parametrelerindeki araştırmamın model başına 30 permütasyon olma eğiliminde olmadığına dikkat çekmek gerekir. En uçta, model başına 100 veya 1.000 permütasyon kullandıysanız, muhtemelen giydirirsiniz.

Sorunuzu dile getirme şekliniz cevabı oldukça kolaylaştırıyor: Aşırı, evet, kesin değil ise, muhtemelen. Gümüş mermi yok ve başka birinin önerebileceğinden şüpheliyim. Bununla birlikte, fazla uydurma derecesinin kabul edilebilir olmak için minimum düzeyde olduğu oldukça geniş bir spektrum hala vardır. Doğrulama bekleme setinizde sağlıklı miktarda görülmeyen veri bulunması kesinlikle yardımcı olur. Birden çok görünmeyen doğrulama bekletme kümesine sahip olmak daha da iyidir. Günlük olarak büyük miktarda yeni verinin bulunduğu bir alanda çalışacak kadar şanslıyım.

2.000-3.000 gözlemden daha az statik veri kümesiyle takılı kaldığım bir konumda olursam (örneğin: gelmesi zor olan tıbbi veriler), genellikle yalnızca doğrusal modelleri kullanırım çünkü sık sık gradyanla fazla uydurma gördüm vektör makinelerini yeterince küçük veri kümeleri üzerinde güçlendirin ve destekleyin. Öte yandan, her yarışma için on binlerce model oluşturduğunu ve daha sonra final grubunda birkaç bin model kullanarak bunları birleştirdiğini söyleyen üst düzey bir Kaggler ile konuştum. Son liderlik tablolarındaki başarısının temel nedeni olduğunu söyledi.


1
Evet. Milyonlarca gözlem yapan verilerle çalıştım. Hangi doğrulamayı denediysem (kfold, bootstrapping ve hatta basit bekletme), modellerde çok az değişiklik oldu. Verileriniz arttıkça, nasıl doğruladığınıza daha az dikkat etmeniz gerekir.
Ricardo Cruz,

Başka bir deyişle, hiçbir model milyonlarca gözlemi “ezberlemek” için yeterli derecede serbestliğe sahip değildir.
Ricardo Cruz,

5

Çok fazla ölçek bağlı. Keşke @RyanZotti'nin olduğu gibi 2.000-3.000'den fazla vakanın olmasına güvenebilseydim; Nadiren 1 / 10'unda bu kadarı var. Bu, "büyük veri" makine öğrenme halkı ve bu sitede bulacağınız farklı bakış açılarının bazılarını açıklayabilecek biyomedikal gibi alanlarda çalışanlar arasındaki perspektif açısından büyük bir fark.

Bu sorunla ilgili olarak aldığım işe ilişkin bir açıklama sunacağım. Vikipedi sayfasında açıklandığı gibi, yeniden donatmanın temel konusu , vaka sayısı ile değerlendirmekte olduğunuz parametre sayısı arasındaki ilişkidir. Öyleyse, kaba modeller arasında seçim yaptığınız M modellerine ve model başına p parametrelerine sahipseniz, toplamda Mp parametrelerinin sırasına göre bir şey değerlendiriyorsunuz .

Aşırı uyarma tehlikesi varsa, daha genel bir modele geri dönmenin iki genel yolu vardır: Parametre sayısını azaltın veya bir şekilde cezalandırın.

Yeterince büyük veri kümeleriyle, aşırı donatmaya asla yaklaşamayabilirsiniz. Her model için 100 parametresi olan 20.000 vakanız ve 20 farklı modeliniz varsa, etkin parametre başına 10 vakanız olduğu için ceza almadan bile sorun yaşamazsınız. Bu modelleme stratejisini sadece 200 vaka ile denemeyin.

Model ortalaması, bir ceza şekli olarak düşünülebilir. @RyanZotti tarafından belirtilen Kaggler örneğinde, vakaların sayısı muazzamdır ve son takımdaki "birkaç bin" modelin her biri ayrı ayrı nihai modelin sadece küçük bir kısmını katmaktadır. Belirli bir katkıda bulunan modele özgü herhangi bir aşırı donanımın nihai sonuç üzerinde büyük bir etkisi olmayacak ve Kaggler yarışmasındaki aşırı sayıda vaka fazladan takılma tehlikesini daha da azaltacaktır.

Yani, buradaki pek çok konuda olduğu gibi, makul olan tek cevap: "Bu değişir." Bu durumda, dava sayıları ile incelenen etkin parametrelerin sayısı arasındaki ilişkiye ve ne kadar ceza uygulandığına bağlıdır.


2

Bence bu çok iyi bir soru. Her zaman gerçek verilerle çapraz doğrulama deneylerinde "U" şekil eğrisini gözlemlemek isterim. Ancak, gerçek dünya verileri (~ 5 yıl kredi kartı işlemlerinde ve eğitim verileri) konusundaki deneyimim bana uydurma konusunda büyük miktarda (milyar satır) gerçek dünya verilerinde kolayca olabileceğini söylemedi .

Antrenman setine uyması için seni en iyi şekilde deneyebileceğini sıklıkla gözlemliyorum, fakat antrenman gerçekten çok büyük ve çok fazla bilgi ve gürültü içerdiğinden çok fazla şey yapamazsın (örneğin, kaybı 0'a düşür.).

Aynı zamanda, test verilerinde en karmaşık modeli (herhangi bir düzenlemeye tabi olmadan) deneyebilirsiniz, ve düzenli hale getirilmiş olanlardan daha iyi ve hatta daha iyi görünüyor.

Son olarak, ifadelerimin ancak eğitimde milyarlarca veri noktasına sahip olmanız koşuluyla doğru olabileceğini düşünüyorum. Sezgisel olarak, veriler modelinizden çok daha karmaşık, bu yüzden fazla uymayacaksınız. Milyarlarca veri satırı için binlerce parametreli bir model kullanıyor olsanız bile, sorun değil. Aynı zamanda milyonlarca ücretsiz parametreli bir model oluşturmak için hesap yapamazsınız.

Bence bu, sinir ağları ve derin öğrenmenin bu günlerde popüler olmasının nedeni de budur. İnternetteki milyarlarca görüntü ile karşılaştırıldığında, eğitimin karşılığını alabileceğiniz herhangi bir model aşırı sığmaya yetmiyor.


1

@ Ryan-zotti ile hemfikir olmanın, gereğinden fazla zorlanmaya yol açmayacağının - ya da en azından fazla zorlama olarak adlandırmamız için bir miktar olmayacağına katılıyorum. Bu konudaki bakış açımı belirtmeye çalışmama izin verin:

Box bir keresinde şöyle dedi:

Tüm modellerin yanlış olduğunu unutmayın; pratik soru, ne kadar yanlış olmaları gerektiği konusunda faydalı olmamaları gerektiğidir.

(Mükemmel olmak, ilk önce bir model için olan ihtiyacı ortadan kaldıracak olan tüm verileri gerektirecektir).

Modellerin yanlış olması da aşırı ve önemsiz1. Ama bunu mutlaka umursamayız hatta farketmeyiz. Her iki çünkü - soru: a) tüm ve b ölçüsü) onu gereğinden fazla veya yetersiz uyum demiyorlar kabul bulabilirsiniz gerçeklik sapan modelin hangi miktarı hep biz hiç inşa edecek tüm modele biraz uygulayın. Sonunda bizim modellerimiz şartlarımıza ama tatmin ederse örneğin aşırı / underfit sadece asgari veya bizim uygulama durumunda kabul edilmez (mümkünse) veri parçaları üzerinde aşırı / underfit biz bunu kabul edeceklerdir - bu engelleme hakkında mutlaka değil tüm over - / yetersiz uyum.

Bu, sahip olmak istediğimiz şeyin olup olmadığına karar vermek için model hatasını ölçmek / tespit etmek için uygun bir kurulumla sonuçlanır. Bu yüzden yapabileceğimiz şey, en az gürültü ve temsili + yeterli örneklerle veri almaya çalışarak, mümkün olan en iyi şekilde modellemek, değerlendirmek ve seçmek ve tüm bunları makul bir şekilde yapmak gibi işlemleri mümkün olduğunca sağlam kılmaktır. örnekler, birçok özellikdaha az karmaşık model; henüz kabul edilebilir performansa sahip en az karmaşık modeli seçin.

Çünkü: Sonunda her zaman model hatası olur / üst / alt donatı - önemli olan makul seçimleri yapmak, bu hatayı ilgi odağımızda tespit etme / ölçme özelliğidir .


1a) Her model aynı anda yanlılık ve sapma sorununa sahipse (genellikle ihtiyaçlarımızı karşılamak için doğru dengeyi bulmaya çalışırız). Gereksinimlerimizi karşılayan modellerde mutlaka yanlılık ve sapma olacaktır. b) Gürültülü verileri ve temsili olmayan örnekleri, aşırı yüklenme nedenleri olarak düşünün. Her model zorunlu olarak gürültüyü ve aynı zamanda bilginin hangi kısımlarının eksik olduğunu, dolayısıyla hangi yanlış varsayımların yapılacağını gösteren bir ilişkiyi modelleyecektir.

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.