İç içe çapraz geçerlilikten sonra nihai model nasıl oluşturulur ve olasılık eşiği nasıl ayarlanır?


17

İlk olarak, burada , burada , burada , burada , burada uzun süredir tartışılan bir soru yayınlamaktan dolayı özür dilerizve eski bir konuyu yeniden ısıtmak için. @DikranMarsupial'ın bu konu hakkında yazılarda ve dergi gazetelerinde uzun bir süre yazdığını biliyorum, ama hala kafam karıştı ve buradaki benzer yazıların sayısına bakılırsa, hala başkalarının kavramaya çalıştığı bir şey. Ayrıca karışıklığımı artıran bu konuda çelişkili olduğumu belirtmeliyim. Ayrıca aslında bir istatistikçi değil de fizikçi olduğumu bilmelisiniz, bu yüzden buradaki alan adı uzmanlığım biraz sınırlı. Son modelimden bekleyebileceğim performansı tahmin etmek için iç içe CV kullanmak istediğim bir günlük yazısı yazıyorum. Alan adımda bu bir ilk. (Biz neredeyse hiç kullanmıyorum herhangisağlam CV biçiminde ancak sinir ağları ve artırılmış karar ağaçları kullanan çalışmalardan elde edilen sonuçları neşeyle pompalayın!) Bu nedenle, çok kapsamlı ve net bir anlayışa sahip olmam, böylece vidalamam ve yaymamam çok önemlidir. Topluluğumun yıllarca öğrenmesi gereken hatalı bir prosedür! Teşekkürler! Soruyla ilgili ...

İç içe geçmiş çapraz doğrulamanın ardından son modeli nasıl oluştururum?

L1 ve L2 düzenlenmesi ile basit bir glmnet modeli geliştiriyorum. Hızlı, basit ve yorumlanabilir. Özellik dağılımlarının ortalama merkezli, standartlaştırılmış ve bir şekilde Gauss benzeri olması için özellik merkezleme, ölçeklendirme ve Box-Cox dönüşümleri gerçekleştiriyorum. Bilgi sızıntısını önlemek için bu adımı çapraz doğrulama içinde gerçekleştiriyorum. Sadece donanımım inanılmaz derecede yavaş olduğundan ve daha fazla CPU kasına erişemediğim için, özellik ön işleminden sonra CV içinde hızlı filtre tabanlı özellik seçimi de yapıyorum. Alfa ve lambda hiperparametreleri seçmek için rastgele ızgara arama kullanıyorum. Nihai modelimin (aşırı iyimser olacaktır) beklenen performansının bir tahmini olarak optimal hiperparametreleri seçmek için kullanılan CV'den performansı rapor etmemem gerektiğini anlıyorum, bunun yerine birBu tahmini almak için CV döngüsü. İç CV döngüsünün model seçimi için kullanıldığını (bu durumda optimal hiperparametreler) ve dış döngünün model değerlendirmesi için kullanıldığını , yani iç ve dış CV'nin genellikle hatalı şekilde kapatılmış iki farklı amaca hizmet ettiğini anlıyorum. (Şimdiye kadar nasıl yapıyorum?)

Şimdi, gönderdiğim bağlantılar "çapraz doğrulamayı düşünmenin yolu, bir modelin performansını tahmin etmek yerine bir model oluşturmak için bir yöntem kullanılarak elde edilen performansı tahmin etmektir". Bu göz önüne alındığında, iç içe CV prosedürünün sonuçlarını nasıl yorumlamalıyım?

Okuduğum tavsiye aşağıdakileri gösteriyor gibi görünüyor - bu yanlışsa lütfen beni düzeltin: iç CV, glmnet modelimin en uygun alfa ve lambda hiperparametrelerini seçmeme izin veren mekanizmanın bir parçası. Dış CV, prosedürü tam olarak hiperparametre ayarlaması ve tüm veri kümesini kullanarak dahil olmak üzere iç CV'de kullanıldığı gibi uygularsam, son modelden almayı bekleyebileceğimi tahmin eder. son modeli oluşturmak için eder. Yani, hiperparametre ayarı "modeli oluşturma yönteminin" bir parçasıdır. Bu doğru mu değil mi? Çünkü beni şaşırtan şey bu. Başka bir yerde konuşlandırılacak son modeli oluşturma prosedürünün, sabit değerleri kullanarak tüm veri kümesi üzerinde eğitim içerdiğini gördümCV kullanılarak seçilen hiperparametrelerin. Burada, "modeli oluşturma yöntemi" ayarlama içermez. Peki, hangisi? Bir noktada, nihai modeli oluşturmak için optimum hiperparametreler seçilir ve sabitlenir! Nerede? Nasıl? İç döngüm 5 kat CV ise ve dış döngüm 5 kat CV ise ve diyelim ki, iç CV'de rastgele ızgara aramasının bir parçası olarak test için 100 puan seçiyorum, glmnet'i gerçekten kaç kez eğitiyorum modellemek? (100 * 5 * 5) + 1, son sürüm için + 1, yoksa bilmediğim başka adımlar var mı?

Temel olarak, iç içe CV'den performans tahmininin nasıl yorumlanacağı ve son modelin nasıl oluşturulacağı hakkında çok net bir açıklamaya ihtiyacım var.

Ayrıca son glmnet modelimden (ikili) sınıf etiketlerine olasılık skorlarını dönüştürmek için olasılık eşiğini seçmek için uygun prosedürü bilmek istiyorum - başka bir CV döngüsü gerekli mi?

Yanıtlar:


8

Yuvalama olmadan açıklanmış iç içe çapraz doğrulama

Çapraz doğrulamayı ve model oluşturmayı nasıl görüyorum (iç içe). Kimyager olduğumu ve uygulama tarafından model oluşturma sürecine baktığınızı unutmayın (aşağıya bakın). Buradaki ana noktam, benim bakış açımdan, iç içe geçmiş çeşitli çapraz doğrulamaya ihtiyacım yok . Bir doğrulama yöntemi (örn. Çapraz doğrulama) ve bir model eğitim işlevi gerekir:

model = f (training data)

"my" model antrenman fonksiyonu f herhangi bir hiperparametreye ihtiyaç duymaz, çünkü dahili olarak tüm hiperparametre ayarlarını yapar (örn. alpha, lambdave threshold).

Başka bir deyişle, eğitim işlevim herhangi bir sayıda iç çapraz doğrulamayı içerebilir (veya çantadan çıkmış veya herhangi bir performans tahminini yararlı bulabileceğim). Bununla birlikte, parametreler ve hiper parametreler arasındaki ayrımın tipik olarak hiperparametrelerin eldeki veri kümesine / uygulamaya ayarlanması gerektiğine dikkat çekerken, parametreler hangi veriden bağımsız olarak takılabilir. Bu nedenle, yeni bir sınıflandırma algoritmasının geliştiricisi açısından, g (training data, hyperparameters)veri ve hiperparametreler verildiğinde parametrelere uyan sadece "açık" montaj fonksiyonunu ( ) sağlamak mantıklıdır .

"Dış" eğitim fonksiyonuna fsahip olmanız gereken nokta, çapraz doğrulama çalışmanızı yaptıktan sonra size "tüm veri setinde" eğitim vermenin basit bir yoludur: f (whole data set)çağrı yerine kullanınf (cv split training data) çapraz doğrulama vekil modelleri için .

Böylece örneğinizde, 5 + 1 çağrınız olacak fve çağrıların her biri förneğin 100 * 5 çağrısına sahip olacak g.


olasılık eşiği

Bunu başka bir çapraz doğrulama ile yapabilmenize rağmen, bu gerekli değildir: kullanıma hazır modelinizin sahip olduğu ve içinde tahmin edilebilecek bir tane daha hiperparametre f .

Bunu düzeltmek için ihtiyacınız olan şey, böyle bir eşiği hesaplamanıza izin veren bir buluşsal yöntemdir. Çok çeşitli sezgisel tarama var (ROC'den ve minimum kabul edilebilir duyarlılık veya özgüllük üzerinden yanlış negatiflerden kaçınmanın yanlış pozitiflerden kaçınmanın ne kadar önemli olduğunu belirtmek veya iki eşik ve böylece "belirsiz" (NA) düzeyi vb. ) farklı durumlarda uygun olan - iyi sezgisel tarama genellikle uygulamaya özeldir.

Ancak buradaki soru için bunu içeride yapabilir fve örneğin ROC'yi hesaplamak ve daha sonra çalışma noktanızı / eşikinizi buna göre bulmak için iç çapraz doğrulama sırasında elde edilen tahminleri kullanabilirsiniz.


Sorunun bazı bölümlerine Özel Yorumlar

Nihai modelimin (aşırı iyimser) beklenen performansının bir tahmini olarak optimal hiperparametreleri seçmek için kullanılan CV'den performansı rapor etmemeliyim, ancak bunun yerine bu tahmini almak için bir dış CV döngüsü içermelidir .

Evet. (İç tahmin, dış tahminle ilgili bilgi taşımasına rağmen: dış tahminden çok daha iyimser ise, tipik olarak aşırı uyuyorsunuz.)

İç CV döngüsünün model seçimi için kullanıldığını anlıyorum

Herhangi bir veri odaklı model ayarı, gerçekten -> eşik eşiğinizi ayarlamayı içerir.

(bu durumda, optimal hiperparametreler) ve dış halkanın model değerlendirmesi için kullanılması, yani iç ve dış CV, genellikle hatalı şekilde kapatılan iki farklı amaca hizmet eder.

Evet.

Yani, hiperparametre ayarı "modeli oluşturma yönteminin" bir parçasıdır.

Ben de bu şekilde görmeyi tercih ediyorum: kimyacıyım ve uygulama tarafından baktığınız gibi: benim için eğitimli / takılmış bir model hiperparametreler olmadan tamamlanmamış veya daha doğrusu bir model doğrudan kullanabileceğim bir şey tahmin elde etmek. Yine de diğer insanların farklı bir görünümü var (hiperparametre ayarlama olmadan). Deneyimlerime göre, bu, yeni modeller geliştiren insanlar için genellikle böyledir: hiperparametre ayarlaması bir "çözülmüş problem" dir ve dikkate alınmaz. (yan not: Doğrulama açısından çapraz doğrulamanın neler yapabileceğine ilişkin görüşleri de uygulama tarafından çapraz doğrulamanın yapabileceklerinden biraz farklıdır).

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.