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.
gbm
Ve randomForest
R 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:
- İ. 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.
- 5. gruptaki performans bu model kullanılarak hesaplandı.
- 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.
- 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.