Çeşitli makine öğrenme teknikleri için en iyi ayarlama parametrelerini bulmak için çapraz doğrulamanın kullanılmasının veri gözetlemesinden farklı olup olmadığını merak ettim.
Endişeniz doğru nokta ve bu konuda çok fazla literatür var, ör.
- Cawley, GC & Talbot, NLC: Model Seçiminde Aşırı Uydurma ve Performans Değerlendirmede Sonraki Seçim Yanlılığı Üzerine, Makine Öğrenimi Araştırmaları Dergisi, 11, 2079-2107 (2010).
- Boulesteix, A.-L .: Biyoinformatik araştırmalarında aşırı iyimserlik., Biyoinformatik, 26, 437-439 (2010). DOI: 10.1093 / biyoinformatik / btp648
- Jelizarow, M .; Guillemot, V .; Tenenhaus, A .; Strimmer, K. & Boulesteix, A.-L .: Biyoinformatikte aşırı iyimserlik: bir örnek., Bioinformatics, 26, 1990-1998 (2010). DOI: 10.1093 / biyoinformatik / btq323
Sorun, çapraz doğrulama ile hiperparametre ayarının veriye dayalı bir optimizasyon işlemi olması ve yine de veri setine uyma eğilimi göstermesidir (yeniden ikame hatasıyla ayar yapmaktan daha az, ancak yine de). Ayarlama çapraz doğrulama sonuçlarını "bağımsız" performans ölçüsü olarak kullanmaya çalışmak, turtayı (= ayarlama) yemek ve tutmak (= son model performansını ölçmek) gibidir.
Bu, hiperparametre ayarı için çapraz doğrulamayı kullanmamanız gerektiği anlamına gelmez. Bu sadece bir amaç için kullanabileceğiniz anlamına gelir. Doğrulama amacıyla model performansını optimize edin veya ölçün.
Çözüm, ayarlanan hiperparametrelerle elde edilen modelin kalitesini ölçmek için bağımsız bir doğrulama yapmanız gerektiğidir. Buna iç içe veya çift doğrulama denir. Burada bu konularda bir dizi soru ve cevap bulacaksınız
Kavramsal olarak, eğitimin sadece "olağan" model parametrelerine değil, aynı zamanda hiperparametrelere de uyması (otomatik ayar) için her türlü süslü adımları içerdiğini söylemek isterim. Dolayısıyla, λ'nın veri odaklı optimizasyonu açıkça model eğitiminin bir parçasıdır.
Genel bir kural olarak, model eğitiminin, yeni durumlar için tahminler üretebilen kullanıma hazır bir nihai kara kutu işlevine sahip olmadan önce yapılması gereken her şey olduğunu da söyleyebilirsiniz.
PS: Test ve validasyon terminolojisini çok kafa karıştırıcı buluyorum çünkü benim alanımda "validasyon" son modelin amaca uygun olduğunu kanıtlamak anlamına geliyor ve bu nedenle validasyon yerine diğer insanların test dediği şey bu. İç test seti "ayar test seti" ve dış "son doğrulama test seti" ya da benzerini çağırmayı tercih ederim.
Güncelleme:
Modelim (bu durumda ayarlama parametrem) dış doğrulamada başarısız olursa, o zaman ne yapmalıyım?
Tipik olarak, bu sadece olan bir şey değildir: böyle bir başarısızlığa neden olabilecek tipik durumlar vardır. Ve farkında olduğum tüm bu durumlar aşırı uyuyor. Düzenlemenin gerekli sayıda eğitim vakasını azaltmaya yardımcı olmasına rağmen, veriye dayalı optimizasyonun büyük miktarda veriye ihtiyacı olduğunu bilmeniz gerekir.
Önerilerim:
Tipik olarak, zaten kaba beklentilere sahip olmalısınız (örneğin, hangi performansın elde edilebilir olması gerektiği, hangi performansı kuşkuyla iyi görüneceğini düşünmelisiniz). Veya hangi performansı elde etmeniz gerektiğini ve temel bir performansı belirtin. Bundan ve mevcut eğitim vakalarının sayısından ( karar verdiğiniz bölünme şeması için), iç (ayar) testleri için beklenen belirsizliği hesaplayın. Bu belirsizlik anlamlı karşılaştırmalar elde edemeyeceğinizi gösteriyorsa, veri odaklı optimizasyon yapmayın.
Otomatik ayar prosedürü tarafından bulunan seçilen λ ve optimal λ ile elde edilen tahminlerin ne kadar kararlı olduğunu kontrol etmelisiniz . Λ, verilerinizin farklı bölümlerine göre makul düzeyde kararlı değilse, optimizasyon çalışmadı.
Verilere dayalı optimizasyonu yapamayacağınızı veya sonuçta işe yaramadığını fark ederseniz, uzman bilginizle λ'yı seçebilirsiniz, örneğin benzer verilerle deneyimden. Veya optimizasyonun başarısız olduğunu öğrenirseniz, daha güçlü bir düzenlemeye ihtiyacınız olacaktır: başarısızlığa yol açan aşırı uyum çok karmaşık modellere doğru çalışır.