Denetimli bir makine öğrenme modelinin fazla uyuşup uyuşmadığını nasıl değerlendiririm?


27

Biri bana denetimli bir makine öğrenme modelinin fazla uyuşup uyuşmadığını yargılayabilir mi? Harici bir doğrulama veri setim yoksa, fazla takmayı açıklamak için 10 kat çapraz doğrulama ROC'sunu kullanıp kullanamayacağımı bilmek istiyorum. Harici bir doğrulama veri kümem varsa, sonra ne yapmam gerekir?

Yanıtlar:


29

Kısacası: modelinizi doğrulayarak. Doğrulamanın temel nedeni, fazladan bir uyumun ortaya çıkmadığını iddia etmek ve genelleştirilmiş model performansını tahmin etmektir.

Overfit

Öncelikle, gerçekte neyin uygun olduğunu görelim. Modeller normalde bir eğitim setindeki bazı kayıp fonksiyonlarını en aza indirerek veri setine uyacak şekilde eğitilir. Bununla birlikte, bu eğitim hatasını en aza indirmenin modellerin gerçek performansına fayda sağlayamayacağı, ancak yalnızca belirli veri kümesindeki hatayı en aza indirecek bir sınır vardır. Bu, temel olarak, modelin, eğitim setindeki belirli veri noktalarına çok sıkı bir şekilde oturtulduğu ve gürültü kaynaklı veri modellerini modellemeye çalıştığı anlamına gelir. Bu konsepte kıyafet denir . Eğitim setini siyah olarak gördüğünüz ve arka plandaki asıl popülasyondan daha büyük bir set göreceğiniz bir üst donanım örneği aşağıda gösterilmektedir. Bu şekilde mavi modelin altta yatan gürültüyü modelleyen eğitim setine çok sıkı oturduğunu görebilirsiniz. görüntü tanımını buraya girin

Bir modelin fazla takılıp takılmadığını yargılamak için, modelin gelecekteki verilerle ilgili olacağı genelleştirilmiş hatayı (veya performansı) tahmin etmemiz ve bunu eğitim setindeki performansımızla karşılaştırmamız gerekir. Bu hatayı tahmin etmek birkaç farklı şekilde yapılabilir.

Veri kümesi ayrıldı

Genelleştirilmiş performansı tahmin etmede en basit yaklaşım, veri setini üç bölüme ayırmak, bir eğitim seti, bir doğrulama seti ve bir test setidir. Eğitim seti, verilere uygun modeli eğitmek için kullanılır, doğrulama seti, en iyi olanı seçmek için modeller arasındaki performans farklılıklarını ölçmek için kullanılır ve model seçim sürecinin birinciye uymadığını iddia etmek için yapılan test seti kullanılır. iki set.

Kıyafet miktarını tahmin etmek için test setindeki ilgi ölçütlerinizi son adım olarak değerlendirin ve egzersiz setindeki performansınızla karşılaştırın. ROC'den bahsediyorsunuz ama bence model performansını sağlamak için örneğin brier puan veya bir kalibrasyon grafiği gibi diğer ölçümlere de bakmalısınız. Tabii ki bu senin problemine bağlı. Çok fazla ölçüm var, ancak buradaki mesele dışında.

Bu yöntem çok yaygın ve saygın olmakla birlikte, verilerin kullanılabilirliği konusunda büyük bir talep ortaya koyuyor. Veri kümeniz çok küçükse, büyük olasılıkla çok fazla performans kaybedeceksiniz ve sonuçlarınız paylaşımda önyargılı olacak.

Çapraz doğrulama

Verilerin büyük bir kısmını doğrulama ve test etme konusunda israf etmenin bir yolu, modeli eğitmek için kullanılan aynı verileri kullanarak genelleştirilmiş performansı tahmin eden çapraz doğrulama (CV) kullanmaktır. Çapraz doğrulamanın arkasındaki fikir, veri setini belirli sayıda alt gruba ayırmak ve daha sonra, modeli eğitmek için verilerin geri kalanını kullanırken sırayla bu alt kümeleri test testleri olarak kullanmaktır. Metriğin tüm kıvrımlara göre ortalaması alınması, model performansının bir tahminini verecektir. Son model daha sonra genellikle tüm veriler kullanılarak eğitilir.

Bununla birlikte, CV tahmini tarafsız değildir. Fakat ne kadar çok kıvrım kullanırsanız önyargı da o kadar küçük olur, ancak bunun yerine daha büyük bir sapma elde edersiniz.

Veri kümesi bölmesinde olduğu gibi, model performansının bir tahminini alıyoruz ve üst üste giydirmeyi tahmin etmek için, CV'nizdeki ölçümleri, eğitim setinizdeki ölçümleri değerlendirmekten elde edilenlerle karşılaştırmanız yeterli.

çizme atkısı

Önyükleme arkasındaki fikir CV'ye benzer, ancak veri setini parçalara bölmek yerine, bu önyükleme örneklerinin her biri üzerinde tam eğitim aşamasını değiştirerek ve tam eğitim aşamasını gerçekleştirerek, tüm veri setinden eğitim setlerini tekrar tekrar çizerek eğitimde rastgelelik getiriyoruz.

En basit önyükleme doğrulaması, eğitim setinde bulunmayan numunelerdeki ölçümleri (yani, dışarıda bırakılanlar) ve tüm tekrarlar için ortalamaları değerlendirir.

Bu yöntem, çoğu durumda CV'den daha az önyargılı olan bir model performans tahmini verir. Yine, eğitim seti performansınızla karşılaştırdığınızda, kıyafeti alırsınız.

Önyükleme doğrulamasını iyileştirmenin yolları vardır. .632+ yönteminin, genelleştirilmiş model performansına ilişkin daha iyi, daha sağlam tahminler sağladığı ve dikkate alınmadığı bilinmektedir. (Özgün makale, ilgileniyorsanız iyi bir okuma: Çapraz Doğrulama Geliştirmeleri: 632+ Bootstrap Yöntemi )

Umarım bu sorunuza cevap verir. Model doğrulamasıyla ilgileniyorsanız, kitaptaki onaylama bölümünü okumanızı öneriyorum . İstatistiksel öğrenmenin unsurları: veri madenciliği, çıkarım ve çevrimiçi olarak serbestçe bulunabilen tahmin .


2
Doğrulama ve test terminolojinizin her alanda takip edilmediğini unutmayın. Benim alanımda (analitik kimya) validasyon , modelin iyi çalıştığını kanıtlaması gereken (ve ne kadar iyi çalıştığını ölçen ) bir prosedürdür. Son modelde yapılır , daha sonra başka değişiklik yapılmasına izin verilmez (veya bunu yaparsanız, bağımsız verilerle tekrar doğrulamanız gerekir). Bu yüzden doğrulama setine "iç test seti" veya "optimizasyon test seti" diyeceğim. "Dış" test verileri, fazla takmayı engellemez , ancak fazla takmanın derecesini ölçmek için kullanılabilir.
cbeleites,

Tamam, sizin alanınızla ilgili deneyimim yok Açıklama için teşekkürler. Muhtemelen diğer alanlarda da aynıdır. Sonunda bağlantı kurduğum kitapta kullanılan terminolojiyi kullandım. Umarım kafa karıştırıcı değildir.
ederken

7

Aşırı uydurma düzeyini şu şekilde tahmin edebilirsiniz:

  • Dahili bir hata tahmini alın. Resubstitutio (= eğitim verilerini tahmin et) ya da hiperparametreleri optimize etmek için içsel bir çapraz "doğrulama" yaparsanız, bu ölçü de ilgi çekici olacaktır.
  • Bağımsız bir test seti hata tahmini alın. Genellikle yeniden örnekleme (yinelenen çapraz doğrulama veya önyükleme dışı * önerilir). Ancak hiçbir veri sızıntısı olmamasına dikkat etmeniz gerekir. Yeniden örnekleme döngüsü, birden fazla vakayı kapsayan hesaplamaları içeren tüm adımları yeniden hesaplamalıdır. Merkezleme, ölçekleme, vb. gibi işlem basamakları Ayrıca, aynı hastanın (=> yeniden örnekleme hastalarının tekrarlanan ölçümleri gibi bir "hiyerarşik" ("kümelenmiş" olarak da bilinir) veri yapısına sahipseniz en yüksek seviyeye ayırdığınızdan emin olun. ).
  • Ardından "iç" hata tahmininin bağımsız olandan ne kadar iyi göründüğünü karşılaştırın.

İşte bir örnek:
aşırı oturma
Trefferrate = isabet oranı (% doğru sınıflandırılmış), Variablenzahl = değişken sayısı (= model karmaşıklığı)
Semboller :. yeniden ikame, + hiperparametre iyileştirici için dahili bir-bir-dış tahmin, o hasta düzeyinde bağımsız dış çapraz doğrulama

Bu, ROC veya Bricer’in puanı, duyarlılığı, özgüllüğü, ...

* Burada .632 veya .632+ önyükleme yapmamı tavsiye etmiyorum: zaten yeniden yerleştirme hatasını karıştırıyorlar: sonradan yeniden yerleştirme ve çizme dışı tahminlerinden bunları daha sonra hesaplayabilirsiniz.


0

Aşırı yükleme, istatistiksel parametreleri ve dolayısıyla elde edilen sonuçları, rastgele bir şekilde elde edilip edilmediklerini kontrol etmeden yararlı bir bilgi olarak değerlendirmenin doğrudan sonucudur. Bu nedenle, fazla uydurma varlığını tahmin etmek için algoritmayı gerçek olana eşdeğer bir veritabanında kullanmak zorundayız, ancak rastgele oluşturulmuş değerlerle, bu işlemi birçok kez tekrarlamakla rastgele bir şekilde eşit veya daha iyi sonuçlar elde etme olasılığını tahmin edebiliriz. . Eğer bu olasılık yüksekse, muhtemelen büyük olasılıkla bir durum söz konusudur. Örneğin, dördüncü derece bir polinomun bir düzlemde 5 rastgele nokta ile 1 arasında bir korelasyona sahip olma olasılığı% 100'dür, bu nedenle bu korelasyon işe yaramaz ve biz çok uygun bir durumdayız.

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.