Model seçiminden sonra Çapraz Doğrulama (hata genellemesi)


21

Not: Dava n >> p

İstatistiksel Öğrenme Öğelerini okuyorum ve çapraz doğrulama yapmanın "doğru" yoluyla ilgili çeşitli görüşler var (örneğin sayfa 60, sayfa 245). Spesifik olarak sorum, son modelin (ayrı bir test seti olmadan) k-fold CV kullanarak veya bir model araması yapıldığında önyükleme kullanarak nasıl değerlendirileceğidir? Çoğu durumda (gömülü özellik seçimi olmayan ML algoritmaları) olacağı görülüyor

  1. Bir özellik seçimi adımı
  2. Bir meta parametre seçim adımı (örn. SVM'deki maliyet parametresi).

Sorularım:

  1. Özellik seçimi adımının tüm eğitim setinde özellik seçiminin yapıldığı ve bir kenara bırakılabildiğini gördüm. Daha sonra, k-katlama CV kullanarak, özellik seçim algoritması her katlamada (her seferinde muhtemelen seçilen farklı özelliklerin alınması) kullanılır ve hatanın ortalaması alınır. Ardından, son modu eğitmek için tüm verileri (bir kenara konan) kullanarak seçilen özellikleri kullanırsınız, ancak çapraz doğrulamadaki hatayı modelin gelecekteki performansının bir tahmini olarak kullanırsınız. BU DOĞRU MU?
  2. Model parametrelerini seçmek için çapraz doğrulama kullanıyorsanız, daha sonra model performansını nasıl tahmin edersiniz? ÜZERİNDEKİ AYNI İŞLEM OLARAK 1 NEDİR, SAYFA 54 ( pdf ) VEYA BAZI BİR ŞEYDEKİ GİBİ GEREKTİRİLMİŞ CV KULLANMALIDIR MİSİNİZ ?
  3. Her iki adımı da yaparken (özellik ve parametre ayarı) ..... o zaman ne yaparsınız? karmaşık iç içe döngüler?
  4. Ayrı bir bekletme örneğiniz varsa, endişeler gider ve özellikleri ve parametreleri seçmek için çapraz doğrulama kullanabilirsiniz (performans tahmininiz bir bekletme setinden geleceğinden endişelenmeden)?

@ user2040 (+1) Bu sorular gerçekten çok iyi sorular! Bir miktar ilgili soru burada bulunabilir: Makine öğrenmesinde çapraz doğrulama yapılırken “son” model için özellik seçimi .
chl

@chi Teşekkürler, bu yazıyı görmüştüm. En azından düşünce sürecimle doğru yolda olduğumu mu düşünüyorsun? Bağımsız bir test setinin, özellik seçimi ve model ayarlama / seçim için CV kullanımında daha liberal olmamızı sağladığı görülüyor. Aksi takdirde, aynı egzersiz verilerini kullanarak hata genellemesini eğitmek, ayarlamak ve tahmin etmek için iç içe döngüler gerekir.
B_Miner

Yanıtlar:


18

Hatırlanması gereken en önemli şey, çapraz onaylamanın (neredeyse) tarafsız bir performans tahmini yapması için, modelin yerleştirilmesinde yer alan her adımın aynı zamanda çapraz doğrulama prosedürünün her katında bağımsız olarak gerçekleştirilmesi gerektiğidir. Yapılacak en iyi şey, özellik seçimi, meta / hiper-parametre ayarını görüntülemek ve parametreleri model montajının ayrılmaz parçaları olarak optimize etmek ve bu adımlardan hiçbirini diğer ikisini yapmadan yapmaktır.

Bu tariften yola çıkarak getirilebilecek iyimser önyargı, Cawley ve Talbot'un gösterdiği gibi , açıkça iyi huylu bir kalkış tarafından başlatılan önyargının, rakip sınıflayıcılar arasındaki performans farkından daha büyük olduğu şaşırtıcı şekilde büyük olabilir . Daha da kötüsü hala önyargılı protokoller, hiper parametrelerin ayarlanmasına karşı daha duyarlı olduklarından ve bu nedenle model seçim kriterine aşırı uymaya daha yatkın oldukları için kötü modelleri en güçlü şekilde destekliyor!

Belirli soruların cevapları:

1. adımdaki prosedür geçerlidir, çünkü özellik seçimi her katlamada ayrı olarak gerçekleştirilir, bu nedenle çapraz onaylama yaptığınız son modele uyacak şekilde kullanılan tüm prosedürdür. Çapraz doğrulama tahmininde, her kat için veri kümesi, nihai model için kullanılan tüm veri kümesinden biraz daha küçük olduğundan, karamsar bir önyargı olacaktır.

Model parametrelerini seçmek için çapraz doğrulama kullanıldığından, 2 için performans yordamı için kullanılan çapraz doğrulama işleminin her katında bu işlemi bağımsız olarak tekrarlamanız gerekir;

3 için, esasen, evet, yuvalanmış yuvalanmış çapraz onaylama yapmanız gerekir. Temel olarak, en son çapraz onaylamanın her bir katında (performans tahmini için kullanılır) , nihai modele uyacak şekilde yapmak istediğiniz her şeyi tekrarlamanız gerekir .

4 - evet, ayrı bir destek setiniz varsa, bu, ek bir çapraz onaylama gerektirmeden performansın tarafsız bir tahminini verecektir.


Cevabınız 1. Çeyreğe. Sorun bu değil mi? Sıklıkla model çaprazlama yaptığımızı, aslında modelleme prosedürünü çapraz onayladığımızı düşünüyoruz. Fark felsefi olabilir, çünkü matematiği yazdığınızda, f model veya modelleme prosedürünü temsil edebilir. Ancak daha sonra istediğimiz, prosedürü ne istediğimizi çapraz doğrulamak ya da modeli çapraz doğrulamaktır. Senin düşüncen ne
qoheleth

Model, üzerinde çalıştığı veri örneğine bağlı olduğundan, bir modeli çapraz doğrulayamazsınız, farklı bir veri örneğine sığar sığmaz farklı bir modeldir. Gerçekten yapmakta olduğum nokta, modeli tüm veri örneğinde herhangi bir şekilde ayarlarsanız (örneğin özellik seçimini gerçekleştirerek), çapraz onaylamanın test bölümleri ayarlamak için kullanıldığı için genellemenin iyimser bir tahminini vereceğidir. Modelin özellikleri (yani kullanılan özellik seti). HTH.
Dikran Marsupial

Yorum bölümünde tartışmamıza devam etmenin uygun olup olmadığını bilmiyorum, ancak birisi aksini söyleyene kadar ... Evet, CV hakkındaki noktanızın en üst düzeyde yapılması gerektiğini biliyorum ve itiraz etmiyorum. Aslında, dün de aynı meslektaşıma aynı tavsiyeyi verdim. Sadece, çapraz onaylama yaptığımız şeyin ne olduğundan emin olmadığımızı belirtiyorum. Aynı zamanda, modelleme prosedürü yerine model üzerinde değerlendirme alıp almadığımızı merak ediyorum. Bir çözüm, model hatasını tahmin etmek için prosedür hatası kullandığını düşünebilir. Belki bu işe yarar.
Qoheleth

Harici bir test setine sahip olmadan belirli bir modelin performansını doğrudan tahmin edemiyoruz. Bununla birlikte, bir model üretme yönteminin performansı, çapraz onaylanmış tüm yöntem olması koşuluyla, modelin performansı için makul bir vekildir. Başka bir deyişle, son cümlenizdeki özete katılıyorum!
Dikran Marsupial

5

Milyonlarca insanın kazanması gereken bir veri seti üzerinde kapsamlı bir çapraz doğrulama analizi yapıyorum ve mevcut harici bir doğrulama seti yok. Bu durumda, geçerliliği sağlamak için kapsamlı iç içe çapraz doğrulama yaptım. Sadece ilgili eğitim setlerinden özellikleri ve optimize edilmiş parametreleri seçtim. Bu, büyük veri kümeleri için hesaplamalı olarak pahalıdır, ancak geçerliliğini korumak için yapmam gereken buydu. Bununla birlikte, onunla birlikte gelen komplikasyonlar vardır ... örneğin, her eğitim setinde farklı özellikler seçilmiştir.

Bu yüzden cevabım, harici bir veri setine uygulanabilir erişiminizin olmadığı durumlarda, bu makul bir yoldur. Harici bir veri kümeniz olduğunda, ana veri setinde istediğiniz şekilde ancak şehre gidebilir ve daha sonra harici veri setinde test edebilirsiniz.


@ user2643: İç içe geçmiş CV'yi nasıl oluşturduğunuzla ilgili paylaşmak için referanslarınız var mı? Soruma bağladığım pdf ile aynı satırlarda mıydı? Ayrıca ..... bu veri pazarlaması verileri tesadüfen mi?
B_Miner

@ user2643 Bu yaklaşımla ilgili problem (doğru olan) doğruluk (sınıflandırma) veya hassasiyet (regresyon) için sadece tek bir kriter üretmesidir; Söylediğiniz gibi bir kattan diğerine değiştiği için “bunlar en ilginç özellikler olan özellikler” diyemeyeceksiniz. Bulguların güvenilirliğini değerlendirmek için, gömme özellik seçimine sahip 10 kat CV'yi kullandık, gömme özellik seçiminde bir permütasyon şeması altında (k = 1000,% 5 seviyesinde rahat olmak için) kullandım. Bu şekilde şöyle diyebiliriz: "modelimiz iyi genelleşiyor ya da değil", başka bir şey değil.
09'da

2
Özellikler katlamaya katlanırsa, yararlı özellikleri güvenle tanımlamak için yeterli bilgi olmadığı anlamına gelir, bu nedenle çapraz doğrulama avantajı olarak görüyorum (sadece tek bir modelin sonuçlarına bakmanın muhtemel olduğu gibi). özellik seçimi kriterini fazla uymamış olması ve bu nedenle yanıltıcı olması. Birçok özellik ve az gözlemle ilgili problemlerde, sırt regresyonu genellikle daha iyi performans verir, bu nedenle özellikleri tanımlamak kilit bir amaç değilse, herhangi bir özellik seçimi yapmamak daha iyidir.
Dikran Marsupial

n«p

@ user2040: Geç cevap için özür dilerim. İç içe geçmiş CV yaklaşımının kendi yazılım uygulamasını oluşturdum. Araştırmam biyoinformatik ile ilgili olduğu için, yakında bir biyoinformatik dergisine yazılımın bir açıklamasını göndermeyi planlıyorum. Ancak herhangi bir araştırma alanında kullanılabilir. Denemek istiyorsan, lütfen bana bildirin. yahoo dot com şirketinde goldfish1434
user2643
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.