Bu modelng yaklaşımında aşırı uyum var mı


11

Kısa bir süre önce, takip ettiğim sürecin (bir yüksek lisans tezinin bileşeni) aşırı uyumlu olarak görülebileceği söylendi. Bunu daha iyi anlamak ve başkalarının hemfikir olup olmadığını görmek istiyorum.

Makalenin bu bölümünün amacı ;

  • Degrade Artırılmış Regresyon Ağaçlarının performansını Rastgele Ormanlara karşı bir veri setinde karşılaştırın.

  • Seçilen son modelin (GBM veya RF) performansına bakın.

gbmVe randomForestR paketi ile birlikte kullanılmaktadır
caret.

Takip edilen süreç şöyleydi:

  • Verilerin ön işlemesi (örn. "Eksik" adı verilen ayrı bir kategoriye sahip nominal öngörücülerin eksik değerlerinin tıkanması). Hedef değişken herhangi bir ön işleme açısından bakılamamıştır (ki bu çok azdı).
  • Her algoritmanın meta parametreleri için bir değerler ızgarası oluşturun (örneğin GBM için yineleme sayısı).
  • Veri kümesinden 25 rastgele bölüm oluşturun (% 65 eğitim ve% 35 test).

GBM için aşağıdakileri 25 kez tekrarlayın (Rastgele tren / test bölümlerinden birini her kullandığınızda. Eğitim ve test setinin elbette "güncel" olduğu her seferinde, bu tekrarlanan ayrılma-grup çapraz çapraz doğrulamasıdır):

  • Izgara araması üzerinde algoritmanın "optimal" parametre ayarlarını bulmak için 5 kat çapraz doğrulamayı kullanın. Geçerli çalıştırmada önceki çalışmalardan hiçbir şey kullanılmadı.
  • Bir kez belirlendikten sonra, "mevcut" eğitim setine bir model takın ve "mevcut" test setini tahmin edin. Bu çalışmanın performans ölçüsünü bir kenara koyun.

Bu şekilde 25 performans ölçüsü (aslında alana özgü bir ölçüm, ancak doğruluk olarak düşünün) elde edildikten sonra, RF için aynı bağımsız tren ve test örneklerini (aynı işlem, sadece farklı ızgara araması).

Şimdi, GBM ve RF için "mevcut" test setlerinden 25 performans ölçümüm var. Onları bir Wilcoxon İmzalı Sıralama Testi ve ayrıca bir permütasyon testi kullanarak karşılaştırıyorum. GBM'nin üstün olduğunu gördüm. Ayrıca GBM için bu 25 çalışmadan alınan performans ölçümünün dağılımının, nihai GBM sınıflandırıcısının beklenen performansı olduğunu iddia ettim.

Yapmadım, en başından rastgele bir test seti çıkarmak ve tüm eğitim verilerinden oluşturulan nihai GBM modeliyle karşılaştırılmak üzere bir kenara koymaktı. Ben ayırma veri / ayar modeli / test tutma işlemi sadece bir kez 25 kez tekrarlamak gibi yaptığım aslında çok daha iyi olduğunu iddia ediyorum.

Burada aşırı uydurma var mı? GB'ye karşı GBM'yi seçmek için 25 çalışma kullanıldığından, bu süreçten elde edilen performans ölçümlerinin tam model için performans tahmini olarak kullanılamayacağı anlamına mı geliyor?

EDIT Wayne'in yorumuna yanıt olarak, 25 çalışmanın her biri sırasında yapılanlar:

  1. İ. Eğitim seti (i = 1, .., 25) için örneklenen veriler, eşit boyutta 5 gruba ayrıldı. GBM parametrelerini (örneğin yineleme sayısı) j.
  2. 5. gruptaki performans bu model kullanılarak hesaplandı.
  3. Aşama 1 ve 2, 4 kez daha tekrarlandı (k = 5 ile düzenli eski k-kat CV). Performansın 5 alt çalışmadan ortalaması alınmıştır ve bu, GBM'nin belirli parametre değerleri setiyle beklenen performansını oluşturmuştur.
  4. Izgaradaki diğer 17 "sıra" için 1-3 arası adımlar tekrarlandı.

Tamamlandıktan sonra, yukarıdaki alıştırmadan en iyi parametre değerleri belirlendi ve bu parametre değerleri ve tam eğitim seti kullanılarak bir GBM takıldı. Performansı i'inci test setinde tahmin edilmiştir.

Tüm bu işlem 25 kez yapıldıktan sonra GBM için 25 performans ölçümü mevcuttu. Sonra aynı şekilde RF için toplandılar.

GBM'yi karşılaştırıp seçtikten sonra, bu 25 performans ölçüsüne baktım ve bu veriler üzerinde bir GBM modeli için bir güven aralığı belirlemek için ortalama ve Stnd Hatasını aldım.


İlk madde işaret noktanızda "Aşağıdakileri 25 kez tekrarlayın" bölümü için daha fazla ayrıntı görmek istiyorum. Hangi veriler 5 katlıdır ve veriler her bir meta parametre seti için nasıl kullanılır?
Wayne

@Wayne, lütfen düzenlememe bakın.
B_Miner

Yanıtlar:


5

Sadece GBM'ye karşı RF'yi seçmek yerine, 100 farklı GBM sınıflandırıcısı arasından seçim yaptığınızı düşünün (GBM eğitiminin bir çeşit rasgele kullandığını ve onlara 1 ila 100 arasında rastgele tohumları atadığınızı varsayalım). O zaman en iyi GBM olarak bu 100 GBM'den birini seçersiniz. Ama neredeyse 100 modelden birinin 99 kardeşini yenmesi şanslı olduğu için performans tahmininiz iyimser olacak.

Sadece iki öğrenci kullandınız ve aynı bir algoritma tarafından eğitilmiyorlardı, bu yüzden tek GBM'niz muhtemelen üzerinde çok fazla seçim baskısına sahip değildi (özellikle RF'den önemli ölçüde daha iyi performans gösterdiğinde), ancak hata tahmininiz hala biraz iyimser.


Son model olarak GBM seçildikten sonra (ve başlangıçta tek bir test seti çıkardığımı varsa), tüm eğitim verilerini alıp bir GBM takıyorum (algoritmanın parametrelerini seçmek için CV'yi tekrar kullanarak) sonra bu test setini puanlarım. Bu test setindeki hata ölçüsünün 25 yeniden örnekten daha iyi olduğunu düşünür müsünüz? Bu, mücadele ettiğim kısım. Model seçimi için aynı verileri kullanamazsınız (RF üzerinden GBM veya diğer 100 seçime göre GBM) VE bundan kaynaklanan hata ölçüsünü kullanamaz mısınız?
B_Miner

Elbette performansı değerlendirmek için eğitim verilerini kullanmama fikrini alıyorum, ancak bu durum farklı ve geçerli görünüyordu ....
B_Miner

@B_Miner Çok küçük bir ihlal olduğunu düşünüyorum, ama tez komitesinde değilim: P
rrenaud

İhlal mevcut olduğundan, bunu "model seçimi için aynı verileri (RF üzerinden GBM veya 100 diğer seçime göre GBM) kullanarak VE bundan kaynaklanan hata ölçüsünü kullanır mısınız?"
B_Miner

3

Her biri meşru olan iki tekniği karıştırmayı denediğiniz anlaşılıyor, ancak bunu yapma şekliniz, vakalar arasında veri sızmasıyla sonuçlanacaksınız.

Daha düşük seviyede, CV'yi doğru kullanıyor gibi görünüyorsunuz. Bu da en üst seviyenin bir CV olması gerektiğini ve bu da iç içe bir CV ile sonuçlanacağını, ancak en üst seviyenizin CV olmadığını gösterir.

Üst düzeyde, bir önyükleme doğrulaması yapmak isteyebileceğiniz gibi görünüyor, bu durumda çift önyükleme üst ve alt düzeyler için işe yarayacaktır, ancak üst düzeyiniz uygun bir önyükleme değildir.

Bu stackexchange makalesine bakmak isteyebilirsiniz . ve bağlantı verdiği makaleler ve belki de en üst seviyenizi CV olarak yeniden yapılandırın. Ayrıca, Frank Harrell dışında hiç kimsenin bu konuya mesaj atmadığını ve CV'nin bir tekne yükü kez tekrarlanmasını önerdiğini unutmayın. (Bir tekrarlamanın yapması gerektiğini düşünerek şok oldum.)


En üst seviye ile ne demek istiyorsun - tekrarlanan izin grubunun 25 tekrarı?
B_Miner

Dr.Harrell'in yorumlarını okudum. Ben bu tavsiye ve veri madenciliği (büyük veri) arasında bir kopukluk olduğunu düşünüyorum. Tamamladığım 25 iterasyon 4 gün sürdü ve bu negatif vakaları önemli ölçüde örneklemişti.
B_Miner
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.